diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index d7646ecb97b..582ca3e4268 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -13,5 +13,8 @@ Why do you think this is an important issue?
**Steps to reproduce the problem**:
The most important section. Review everything you did leading up to causing the issue.
+**When did the problem start happening**:
+If your report is about something that used to work but no longer does. When was the last time you remember it working?
+
**Possibly related stuff (which gamemode was it? What were you doing at the time? Was
-anything else out of the ordinary happening?)**: Anything else you can tell us.
\ No newline at end of file
+anything else out of the ordinary happening?)**: Anything else you can tell us.
diff --git a/.travis.yml b/.travis.yml
index 1ee02d4bbee..e25b3495f45 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,8 +18,8 @@ addons:
env:
global:
- - BYOND_MAJOR="511"
- - BYOND_MINOR="1385"
+ - BYOND_MAJOR="512"
+ - BYOND_MINOR="1454"
- BYOND_MACRO_COUNT=4
matrix:
- DM_MAPFILE="cyberiad"
diff --git a/README.md b/README.md
index 5a182f9ddfd..2f4e16270c3 100644
--- a/README.md
+++ b/README.md
@@ -139,6 +139,3 @@ Creative Commons 3.0 BY-NC-SA license
All other assets including icons and sound files are licensed under the
Creative Commons 3.0 BY-SA license (https://creativecommons.org/licenses/by-sa/3.0/),
unless otherwise indicated.
-
-
-
diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index 92b65f1abcc..b6177f3dc76 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -1842,8 +1842,8 @@
"aJv" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aJw" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/prison)
"aJx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/seed_extractor,/turf/simulated/floor/plasteel,/area/security/prison)
-"aJy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
-"aJz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aJy" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"aJz" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating/airless/catwalk,/area/space)
"aJA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/security/prison)
"aJB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/biogenerator,/turf/simulated/floor/plasteel,/area/security/prison)
"aJC" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/prison)
@@ -1853,7 +1853,7 @@
"aJG" = (/obj/structure/table/reinforced,/obj/machinery/light/small,/obj/effect/decal/warning_stripes/yellow/hollow,/obj/item/multitool,/obj/item/multitool{pixel_x = 4; pixel_y = -4},/turf/simulated/floor/plasteel,/area/engine/controlroom)
"aJH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/controlroom)
"aJI" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aJJ" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"aJJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aJK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "32"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plasteel,/area/maintenance/auxsolarport)
"aJL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "solar_tool_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "solar_tool_airlock"; pixel_x = 0; pixel_y = 25; req_access_txt = "32"; tag_airpump = "solar_tool_pump"; tag_chamber_sensor = "solar_tool_sensor"; tag_exterior_door = "solar_tool_outer"; tag_interior_door = "solar_tool_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_tool_sensor"; pixel_x = 0; pixel_y = 32},/obj/effect/decal/warning_stripes/yellow,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plasteel,/area/maintenance/auxsolarport)
"aJM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
@@ -1915,7 +1915,7 @@
"aKQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/shuttle/supply)
"aKR" = (/obj/machinery/hydroponics/constructable,/obj/item/seeds/glowshroom,/turf/simulated/floor/plasteel,/area/security/prison)
"aKS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/reagent_containers/glass/bucket,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
-"aKT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aKT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aKU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/plant_analyzer,/turf/simulated/floor/plasteel,/area/security/prison)
"aKV" = (/obj/machinery/hydroponics/constructable,/obj/item/seeds/ambrosia,/turf/simulated/floor/plating,/area/security/prison)
"aKW" = (/turf/simulated/wall,/area/security/execution)
@@ -1964,10 +1964,10 @@
"aLN" = (/obj/machinery/light,/obj/structure/closet/gmcloset,/obj/item/wrench,/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/cable_coil/random{pixel_x = 2; pixel_y = 3},/obj/item/stack/cable_coil/random,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/crew_quarters/bar)
"aLO" = (/obj/structure/table/wood,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/crew_quarters/bar)
"aLP" = (/obj/structure/table/wood,/obj/item/stack/packageWrap,/obj/item/hand_labeler,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/crew_quarters/bar)
-"aLQ" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"aLQ" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access_txt = "32"},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/auxsolarport)
"aLR" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/crew_quarters/bar/atrium)
"aLS" = (/obj/structure/chair/stool,/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/crew_quarters/bar/atrium)
-"aLT" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access_txt = "32"},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/auxsolarport)
+"aLT" = (/turf/space,/obj/item/wrench,/turf/simulated/floor/plating/airless/catwalk,/area/space)
"aLU" = (/turf/simulated/wall,/area/crew_quarters/bar/atrium)
"aLV" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; dir = 4; location = "QM #4"},/obj/machinery/camera{c_tag = "Cargo Office SouthWest"; dir = 4; network = list("SS13")},/obj/effect/decal/warning_stripes/yellow,/mob/living/simple_animal/bot/mulebot{home_destination = "QM #4"; suffix = "#4"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"aLW" = (/obj/structure/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "brown"},/area/quartermaster/office)
@@ -2054,7 +2054,7 @@
"aNz" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l"; icon_state = "burst_l"},/turf/space,/area/shuttle/supply)
"aNA" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/supply)
"aNB" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r"; icon_state = "burst_r"},/turf/space,/area/shuttle/supply)
-"aNC" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/item/soap/nanotrasen,/obj/machinery/shower{icon_state = "shower"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aNC" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/item/soap/nanotrasen,/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aND" = (/obj/structure/sign/electricshock{pixel_y = 32},/obj/structure/table,/obj/effect/decal/cleanable/cobweb,/obj/item/storage/fancy/crayons,/obj/item/storage/fancy/crayons,/turf/simulated/floor/plating,/area/security/prison)
"aNE" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/table,/turf/simulated/floor/plating,/area/security/prison)
"aNF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/light/small{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "redcorner"},/area/security/prison)
@@ -2124,15 +2124,15 @@
"aOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/quartermaster/storage)
"aOS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/quartermaster/storage)
"aOT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/obj/machinery/light/small{dir = 8},/obj/structure/toilet{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
-"aOU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/poster/official/cleanliness{pixel_y = 32},/obj/machinery/door/airlock{name = "Bathroom"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aOU" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"aOV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/security/prison)
-"aOW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/mob/living/simple_animal/mouse,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
-"aOX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aOW" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"aOX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/poster/official/cleanliness{pixel_y = 32},/obj/machinery/door/airlock{name = "Bathroom"},/turf/simulated/floor/plasteel,/area/security/prison)
"aOY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/item/storage/pill_bottle/dice,/turf/simulated/floor/plating,/area/security/prison)
"aOZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/table,/obj/item/paper,/obj/item/pen,/turf/simulated/floor/plasteel,/area/security/prison)
"aPa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/chair/stool,/turf/simulated/floor/plasteel,/area/security/prison)
-"aPb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
-"aPc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aPb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/mouse,/turf/simulated/floor/plasteel,/area/security/prison)
+"aPc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aPd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison)
"aPe" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
"aPf" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
@@ -2208,7 +2208,7 @@
"aQx" = (/obj/structure/table,/obj/item/book/manual/chef_recipes,/obj/item/storage/box/donkpockets,/obj/item/clothing/head/chefhat,/turf/simulated/floor/plasteel,/area/security/prison)
"aQy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/security/prison)
"aQz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/security/prison)
-"aQA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/chair/stool,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aQA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aQB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/table,/turf/simulated/floor/plating,/area/security/prison)
"aQC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel,/area/security/prison)
"aQD" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
@@ -2299,7 +2299,7 @@
"aSk" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave,/turf/simulated/floor/plating,/area/security/prison)
"aSl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/prison)
"aSm" = (/obj/machinery/light/small,/obj/item/twohanded/required/kirbyplants,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
-"aSn" = (/obj/machinery/newscaster{pixel_y = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aSn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aSo" = (/obj/machinery/camera{c_tag = "Perma-Brig General Population"; dir = 1; network = list("SS13","Security")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
"aSp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aSq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
@@ -2533,11 +2533,11 @@
"aWK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/glass,/obj/item/storage/firstaid/regular,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitered"},/area/security/prison)
"aWL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/bed/roller,/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitered"},/area/security/prison)
"aWM" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/obj/machinery/flasher{pixel_x = -22},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/security/prison)
-"aWN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aWN" = (/obj/machinery/newscaster{pixel_y = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"aWO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; level = 1},/obj/structure/table,/obj/item/paper,/obj/item/pen,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/security/prison)
"aWP" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/obj/machinery/flasher{pixel_x = -22},/turf/simulated/floor/plating,/area/security/prison)
"aWQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 1},/area/security/prison)
-"aWR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aWR" = (/turf/space,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/incinerator)
"aWS" = (/obj/structure/table/reinforced,/obj/item/flashlight/lamp,/obj/item/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel{dir = 10; icon_state = "darkred"},/area/security/execution)
"aWT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkred"},/area/security/execution)
"aWU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkred"},/area/security/execution)
@@ -2700,9 +2700,9 @@
"aZV" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "perma_inner"; locked = 1; name = "Perma Brig Exterior Access"; req_access = null; req_access_txt = "67"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plating,/area/security/prison)
"aZW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/door/airlock/security/glass{name = "Prison Wing"; req_access_txt = "2"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/security/prison)
"aZX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/security/prison)
-"aZY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"aZY" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"aZZ" = (/obj/item/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/structure/chair/stool/bar,/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/crew_quarters/bar/atrium)
-"baa" = (/obj/machinery/camera{c_tag = "Perma-Brig Escape Pod"; network = list("SS13","Security")},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"baa" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bab" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/prison)
"bac" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/security/prison)
"bad" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/security/prison)
@@ -2741,12 +2741,12 @@
"baK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/machinery/door/firedoor,/obj/item/radio/intercom{dir = 0; name = "station intercom (General)"; pixel_x = -28},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/crew_quarters/sleep)
"baL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/crew_quarters/sleep)
"baM" = (/obj/structure/kitchenspike,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/crew_quarters/kitchen)
-"baN" = (/turf/space,/obj/item/wrench,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"baN" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/atmos)
"baO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "perma_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = -20; req_access_txt = "67"},/turf/space,/area/space)
-"baP" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"baP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 1},/area/security/prison)
"baQ" = (/obj/structure/sink/kitchen{pixel_y = 30},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/crew_quarters/kitchen)
"baR" = (/obj/machinery/newscaster{pixel_x = -32; pixel_y = 0},/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/crew_quarters/bar/atrium)
-"baS" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"baS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 1},/area/security/prison)
"baT" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/crew_quarters/bar/atrium)
"baU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/fore)
"baV" = (/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/autolathe,/obj/machinery/light_switch{pixel_x = -22},/obj/machinery/firealarm{dir = 1; pixel_x = -24; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/quartermaster/office)
@@ -2785,7 +2785,7 @@
"bbC" = (/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 4},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/hallway/primary/fore)
"bbD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/light/small,/obj/structure/sign/securearea{pixel_y = -32},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/security/prison)
"bbE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
-"bbF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"bbF" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/atmos)
"bbG" = (/turf/simulated/floor/plating,/area/security/prison)
"bbH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/security/prison)
"bbI" = (/obj/docking_port/mobile/pod{dir = 4; id = "pod3"; name = "escape pod 3"},/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Escape Pod Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/pod_3)
@@ -2858,7 +2858,7 @@
"bcX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Prison Wing"; req_access_txt = "2"},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/security/prison)
"bcY" = (/obj/structure/table/reinforced,/obj/machinery/light/small{dir = 8},/obj/structure/reagent_dispensers/peppertank{pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/prison)
"bcZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/prison)
-"bda" = (/turf/space,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/incinerator)
+"bda" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"bdb" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/secure_closet/brig,/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/prison)
"bdc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/closet/secure_closet/brig,/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/prison)
"bdd" = (/obj/structure/closet/secure_closet/brig,/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/prison)
@@ -3006,7 +3006,7 @@
"bfP" = (/turf/simulated/shuttle/floor,/area/shuttle/mining)
"bfQ" = (/obj/structure/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining)
"bfR" = (/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/table/glass,/turf/simulated/floor/plasteel{dir = 9; icon_state = "whitered"},/area/security/medbay)
-"bfS" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bfS" = (/obj/machinery/camera{c_tag = "Perma-Brig Escape Pod"; network = list("SS13","Security")},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"bfT" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -32},/obj/structure/closet/secure_closet/brig,/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/prison)
"bfU" = (/obj/machinery/light/small{dir = 1},/obj/effect/landmark{name = "blobstart"},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/security/prison)
"bfV" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/security/prison)
@@ -3499,7 +3499,7 @@
"bpo" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway)
"bpp" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway)
"bpq" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway)
-"bpr" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bpr" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_3)
"bps" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway)
"bpt" = (/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway)
"bpu" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space)
@@ -3791,7 +3791,7 @@
"buU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
"buV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/central)
"buW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 2},/area/hallway/primary/central)
-"buX" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/atmos)
+"buX" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/atmos)
"buY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/maintenance/starboard)
"buZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bva" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/central)
@@ -3821,7 +3821,7 @@
"bvy" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/security/hos)
"bvz" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/turret_protected/ai)
"bvA" = (/obj/item/twohanded/required/kirbyplants,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
-"bvB" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/atmos)
+"bvB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prison)
"bvC" = (/obj/item/twohanded/required/kirbyplants,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"bvD" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 10},/area/atmos)
"bvE" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 5; level = 2},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/atmos)
@@ -3886,7 +3886,7 @@
"bwL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"bwM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/camera{c_tag = "AI Minisatellite NorthWest"; dir = 8; network = list("SS13","Minisat")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway)
"bwN" = (/turf/simulated/wall/r_wall,/area/engine/gravitygenerator)
-"bwO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_3)
+"bwO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_3)
"bwP" = (/turf/simulated/wall/r_wall,/area/engine/break_room)
"bwQ" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/engine/break_room)
"bwR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/engine/break_room)
@@ -4950,7 +4950,7 @@
"bRj" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/security/brig)
"bRk" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/light{dir = 8},/obj/item/clipboard,/obj/item/toy/figure/warden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/security/warden)
"bRl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel,/area/security/warden)
-"bRm" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/atmos)
+"bRm" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bRn" = (/obj/structure/rack,/obj/item/ammo_box/shotgun/rubbershot,/obj/item/ammo_box/shotgun/rubbershot,/obj/item/ammo_box/shotgun/rubbershot,/obj/item/ammo_box/shotgun/rubbershot,/obj/item/ammo_box/shotgun/rubbershot,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/armoury)
"bRo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/rack,/obj/item/gun/energy/laser{pixel_x = -3; pixel_y = 3},/obj/item/gun/energy/laser,/obj/item/gun/energy/laser{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plasteel,/area/security/armoury)
"bRp" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/alt,/obj/item/clothing/head/helmet/alt,/obj/item/clothing/head/helmet/alt,/obj/item/storage/secure/safe{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/armoury)
@@ -4970,7 +4970,7 @@
"bRD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/turret_protected/aisat)
"bRE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/showcase{density = 0; dir = 8; icon = 'icons/mob/robots.dmi'; icon_state = "robot_old"; name = "Cyborg Statue"; pixel_x = 9; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat)
"bRF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/turret_protected/aisat)
-"bRG" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_3)
+"bRG" = (/turf/space,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bRH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat)
"bRI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat)
"bRJ" = (/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway)
@@ -5095,7 +5095,7 @@
"bTY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/door/firedoor,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/port)
"bTZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/port)
"bUa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/port)
-"bUb" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bUb" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "atmo_tank_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = -20; req_access_txt = "32"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bUc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/break_room)
"bUd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/break_room)
"bUe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/break_room)
@@ -5129,7 +5129,7 @@
"bUG" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/port)
"bUH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/port)
"bUI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/port)
-"bUJ" = (/turf/space,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bUJ" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bUK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=engi1"; location = "hall3"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/central)
"bUL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=hall5"; location = "hall4"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/central)
"bUM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 2},/area/hallway/primary/central)
@@ -5151,7 +5151,7 @@
"bVc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Central Ring Hallway East"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bVd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=hall13"; location = "hall12"},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/central)
"bVe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=hall11"; location = "hall10"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/central)
-"bVf" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "atmo_tank_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = -20; req_access_txt = "32"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bVf" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bVg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/starboard)
"bVh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/starboard)
"bVi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/starboard)
@@ -5164,7 +5164,7 @@
"bVp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=hall12"; location = "hall11"},/obj/item/radio/beacon,/mob/living/simple_animal/bot/secbot/beepsky,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/starboard)
"bVq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j1s"; name = "Security Junction"; sortType = 13},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/hallway/primary/starboard)
"bVr" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/machinery/camera{c_tag = "Chief Engineer's Quarters"; network = list("Engineering","SS13")},/obj/machinery/light_switch{pixel_x = 26; pixel_y = 26},/obj/machinery/door_control{id = "ceprivacy"; name = "Privacy Shutters"; pixel_x = 24},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/crew_quarters/chief)
-"bVs" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bVs" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bVt" = (/obj/structure/sign/vacuum{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/engine/break_room)
"bVu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/security/brig)
"bVv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/security/brig)
@@ -5281,8 +5281,8 @@
"bXC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/effect/decal/warning_stripes/yellow,/obj/machinery/door/airlock/public/glass,/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/starboard)
"bXD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera{c_tag = "Primary Security Hallway"},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/starboard)
"bXE" = (/obj/machinery/camera{c_tag = "Engineering Security Checkpoint"; dir = 8; network = list("SS13","Security")},/obj/item/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/structure/closet/secure_closet/security/engine,/turf/simulated/floor/plasteel{dir = 5; icon_state = "red"},/area/security/checkpoint/engineering)
-"bXF" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"bXG" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bXF" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "station_ai_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "10;13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bXG" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bXH" = (/obj/item/twohanded/required/kirbyplants,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat)
"bXI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat)
"bXJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat)
@@ -5302,7 +5302,7 @@
"bXX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/security/glass{name = "Armoury"; req_access_txt = "3"},/obj/effect/decal/warning_stripes/east,/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/security/armoury)
"bXY" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/fire,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bXZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sign/securearea,/turf/simulated/wall,/area/engine/engineering)
-"bYa" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "station_ai_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "10;13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bYa" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bYb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/engine/engineering)
"bYc" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bYd" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/security/checkpoint/engineering)
@@ -5313,8 +5313,8 @@
"bYi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/plasteel,/area/maintenance/fpmaint2)
"bYj" = (/turf/simulated/wall,/area/library)
"bYk" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/library)
-"bYl" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"bYm" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bYl" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bYm" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bYn" = (/obj/structure/sign/directions/evac{pixel_y = -8},/obj/structure/sign/directions/medical{dir = 2},/obj/structure/sign/directions/security{dir = 2; pixel_y = 8},/turf/simulated/wall,/area/library)
"bYo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bYp" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "hopprivacy"; name = "HoP Privacy Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop)
@@ -5337,7 +5337,7 @@
"bYG" = (/obj/structure/sign/directions/evac{pixel_y = -8},/obj/structure/sign/directions/medical{dir = 2},/obj/structure/sign/directions/security{dir = 4; pixel_y = 8},/turf/simulated/wall,/area/crew_quarters/courtroom)
"bYH" = (/turf/simulated/wall,/area/crew_quarters/courtroom)
"bYI" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/crew_quarters/courtroom)
-"bYJ" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bYJ" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bYK" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/courtroom)
"bYL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/firedoor,/obj/effect/decal/warning_stripes/yellow,/obj/machinery/door/airlock/public/glass,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/primary/starboard)
"bYM" = (/turf/simulated/wall,/area/lawoffice)
@@ -5359,7 +5359,7 @@
"bZc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/recharger,/obj/structure/table/reinforced,/obj/item/key/security,/obj/machinery/door_control{id = "Secure Armory"; name = "Secure Armory Shutter Control"; pixel_x = 7; pixel_y = -28; req_access_txt = "3"},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/security/armoury)
"bZd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/security/armoury)
"bZe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; level = 1},/obj/structure/chair/office/dark,/turf/simulated/floor/plasteel,/area/security/armoury)
-"bZf" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bZf" = (/turf/space,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bZg" = (/obj/structure/table/reinforced,/obj/structure/reagent_dispensers/peppertank{pixel_x = 32; pixel_y = 0},/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/flashlight/seclite,/obj/item/flashlight/seclite,/obj/item/flashlight/seclite,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/armoury)
"bZh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/flasher{id = null; pixel_x = -24; pixel_y = 0},/obj/machinery/door/airlock/highsecurity{name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat)
"bZi" = (/obj/machinery/door/airlock/public/glass,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/crew_quarters/courtroom)
@@ -5376,7 +5376,7 @@
"bZt" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bZu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bZv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/engine/engineering)
-"bZw" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"bZw" = (/turf/space,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"bZx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bZy" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/sortjunction{name = "Engineering Junction"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bZz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -5792,7 +5792,7 @@
"cht" = (/turf/simulated/wall/r_wall,/area/teleporter)
"chu" = (/obj/machinery/light,/obj/machinery/computer/monitor,/obj/structure/cable,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating,/area/turret_protected/aisat)
"chv" = (/turf/simulated/wall/rust,/area/teleporter)
-"chw" = (/turf/space,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"chw" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"chx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/teleporter)
"chy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/teleporter)
"chz" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/teleporter)
@@ -5885,7 +5885,7 @@
"cji" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "blue"},/area/crew_quarters/courtroom)
"cjj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/lawoffice)
"cjk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/maintenance{name = "Internal Affairs Maintenance"; req_access_txt = "38"},/turf/simulated/floor/plating,/area/lawoffice)
-"cjl" = (/turf/space,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cjl" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cjm" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"cjn" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/maintenance/starboard)
"cjo" = (/obj/structure/rack,/obj/item/book/manual/security_space_law,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/starboard)
@@ -6115,7 +6115,7 @@
"cnE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/teleporter)
"cnF" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating,/area/security/range)
"cnG" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plasteel,/area/teleporter)
-"cnH" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cnH" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-E-SW-NW"; icon_state = "E-SW-NW"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cnI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/crew_quarters/courtroom)
"cnJ" = (/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/crew_quarters/courtroom)
"cnK" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/crew_quarters/courtroom)
@@ -6142,7 +6142,7 @@
"cof" = (/obj/machinery/particle_accelerator/control_box,/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/engine/engineering)
"cog" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/the_singularitygen,/turf/simulated/floor/plating,/area/engine/engineering)
"coh" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 2e+006},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/engine/engineering)
-"coi" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"coi" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{icon_state = "E-W-Pass"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"coj" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cok" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor/plasteel,/area/engine/engineering)
"col" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -6359,14 +6359,14 @@
"cso" = (/obj/machinery/pipedispenser/disposal,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/engine/engine_smes)
"csp" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plating,/area/engine/engineering)
"csq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plating,/area/engine/engineering)
-"csr" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-E-SW-NW"; icon_state = "E-SW-NW"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"csr" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/catwalk,/area/space)
"css" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cst" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light/small{dir = 8},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/engine/engine_smes)
"csu" = (/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/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plating,/area/engine/engineering)
"csv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating,/area/engine/engineering)
"csw" = (/obj/item/twohanded/required/kirbyplants,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/engine/engine_smes)
"csx" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engine/engine_smes)
-"csy" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{icon_state = "E-W-Pass"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"csy" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-W-SE"; icon_state = "W-SE"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"csz" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/engine/engine_smes)
"csA" = (/obj/structure/rack,/obj/item/crowbar/red,/obj/item/wrench,/obj/item/tank/emergency_oxygen/engi,/obj/item/stack/sheet/mineral/plasma{amount = 5},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/engine/engine_smes)
"csB" = (/obj/structure/table/reinforced,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/item/clipboard,/obj/item/folder/blue,/obj/item/firelock_electronics,/obj/item/stock_parts/console_screen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/engine/engine_smes)
@@ -6428,8 +6428,8 @@
"ctF" = (/obj/structure/table/reinforced,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/item/tank/plasma,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/engine/engineering)
"ctG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{pixel_x = 32},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/engine/engineering)
"ctH" = (/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/library)
-"ctI" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"ctJ" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-W-SE"; icon_state = "W-SE"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"ctI" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"ctJ" = (/turf/space,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"ctK" = (/obj/structure/table/wood,/obj/item/storage/fancy/crayons,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/library)
"ctL" = (/obj/structure/table/wood,/obj/item/storage/fancy/candle_box,/obj/item/storage/fancy/candle_box,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/library)
"ctM" = (/obj/structure/dresser,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/library)
@@ -6444,7 +6444,7 @@
"ctV" = (/obj/machinery/camera{c_tag = "Courtroom East"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/crew_quarters/courtroom)
"ctW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Library"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/library)
"ctX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command/glass{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "18"},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/ai_monitored/storage/eva)
-"ctY" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"ctY" = (/turf/space,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"ctZ" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/bridge/meeting_room)
"cua" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/bridge/meeting_room)
"cub" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/table/wood,/obj/item/paper_bin,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bluecorner"},/area/bridge/meeting_room)
@@ -6728,7 +6728,7 @@
"czt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "blobstart"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/maintenance/fpmaint2)
"czu" = (/obj/machinery/hologram/holopad,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/engine_smes)
"czv" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/maintenance/fpmaint2)
-"czw" = (/turf/space,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"czw" = (/turf/space,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"czx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 4},/area/maintenance/fpmaint2)
"czy" = (/obj/structure/table/wood,/obj/machinery/status_display{pixel_x = -32; pixel_y = 0},/obj/item/newspaper,/obj/item/newspaper,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/library)
"czz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/obj/structure/chair/office/dark{dir = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/library)
@@ -6856,7 +6856,7 @@
"cBR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/locker)
"cBS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/locker)
"cBT" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/locker)
-"cBU" = (/turf/space,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cBU" = (/turf/space,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cBV" = (/obj/structure/chair/office/dark,/obj/machinery/newscaster{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/crew_quarters/sleep)
"cBW" = (/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "wood"},/area/crew_quarters/sleep)
"cBX" = (/obj/structure/bed,/obj/item/bedsheet/brown,/turf/simulated/floor/plasteel{icon_state = "wood"},/area/crew_quarters/sleep)
@@ -7141,7 +7141,7 @@
"cHq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/maintenance/fpmaint2)
"cHr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/maintenance/fpmaint2)
"cHs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/maintenance/fpmaint2)
-"cHt" = (/turf/space,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cHt" = (/turf/space,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cHu" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/artvend,/turf/simulated/floor/plasteel,/area/maintenance/starboard)
"cHv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
"cHw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
@@ -7230,7 +7230,7 @@
"cJb" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 8},/obj/structure/sign/directions/science{dir = 8; pixel_y = 1},/obj/structure/sign/directions/evac{pixel_y = -8},/turf/simulated/wall,/area/medical/research)
"cJc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/public/glass,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/locker)
"cJd" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "Singularity SouthWest"; dir = 4; network = list("SS13","Singularity","Engineering")},/turf/space,/area/engine/engineering)
-"cJe" = (/turf/space,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cJe" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cJf" = (/obj/structure/sign/directions/evac{pixel_y = -8},/obj/structure/sign/directions/medical{dir = 4},/obj/structure/sign/directions/security{dir = 4; pixel_y = 8},/turf/simulated/wall,/area/medical/medbay)
"cJg" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay)
"cJh" = (/obj/machinery/door/firedoor,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/medical/medbay)
@@ -7287,9 +7287,9 @@
"cKg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/rack,/obj/item/book/manual/engineering_guide,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel,/area/maintenance/fpmaint2)
"cKh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/maintenance/fpmaint2)
"cKi" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/maintenance/fpmaint2)
-"cKj" = (/turf/space,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cKj" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cKk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/toxins/xenobiology)
-"cKl" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cKl" = (/turf/space,/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cKm" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/effect/landmark{name = "blobstart"},/obj/effect/decal/warning_stripes/north,/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{icon_state = "map"; dir = 8},/turf/simulated/floor/plasteel,/area/toxins/xenobiology)
"cKn" = (/mob/living/carbon/slime,/turf/simulated/floor/greengrid,/area/toxins/xenobiology)
"cKo" = (/turf/simulated/floor/greengrid,/area/toxins/xenobiology)
@@ -7447,7 +7447,7 @@
"cNk" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/shieldwallgen,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating,/area/toxins/xenobiology)
"cNl" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/obj/structure/window/reinforced{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 26; pixel_y = 32},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/toxins/xenobiology)
"cNm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/toxins/xenobiology)
-"cNn" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cNn" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/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/plating/airless/catwalk,/area/space)
"cNo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Xenobiology Lab"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/plasteel,/area/toxins/xenobiology)
"cNp" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology)
"cNq" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "xeno4"; name = "Creature Cell #4"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 1; name = "Creature Pen"; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/xenobiology)
@@ -7485,7 +7485,7 @@
"cNW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay)
"cNX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical/glass{id_tag = "medbayfoyer"; name = "Medbay Entrance"; req_access_txt = "5"},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay)
"cNY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay)
-"cNZ" = (/turf/space,/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cNZ" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cOa" = (/obj/structure/table/reinforced,/obj/item/book/manual/security_space_law,/obj/item/radio,/obj/machinery/status_display{pixel_y = 32},/obj/machinery/door_control{id = "medbayfoyer"; name = "Medbay Front Doors"; pixel_x = -25; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/checkpoint/medical)
"cOb" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/machinery/recharger,/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; icon_state = "red"},/area/security/checkpoint/medical)
"cOc" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/secure_closet/security/med,/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 30},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/security/checkpoint/medical)
@@ -7498,7 +7498,7 @@
"cOj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cmo"},/area/medical/medbay2)
"cOk" = (/obj/structure/table/glass,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/storage/firstaid/toxin{pixel_x = 6; pixel_y = 6},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/toxin{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/medical/medbay2)
"cOl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/medbay)
-"cOm" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/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/plating/airless/catwalk,/area/space)
+"cOm" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cOn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; level = 1},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/maintenance/starboard)
"cOo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/starboard)
"cOp" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = -32; pixel_y = 0},/obj/item/paper_bin,/obj/item/pen,/turf/simulated/floor/plasteel{icon_state = "wood"},/area/crew_quarters/sleep)
@@ -7574,7 +7574,7 @@
"cPH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay)
"cPI" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay)
"cPJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay)
-"cPK" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cPK" = (/turf/space,/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/plating/airless/catwalk,/area/space)
"cPL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay)
"cPM" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
"cPN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay)
@@ -7587,8 +7587,8 @@
"cPU" = (/obj/structure/table/glass,/obj/item/storage/firstaid/brute{pixel_x = 6; pixel_y = 6},/obj/item/storage/firstaid/brute{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/brute{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/medical/medbay2)
"cPV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cmo"},/area/medical/medbay2)
"cPW" = (/obj/structure/table/glass,/obj/machinery/requests_console{department = "Medbay"; departmentType = 1; name = "Medbay Requests Console"; pixel_x = 30; pixel_y = 0; pixel_z = 0},/obj/item/storage/firstaid/o2{pixel_x = 6; pixel_y = 6},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/o2{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/medical/medbay2)
-"cPX" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"cPY" = (/turf/space,/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/plating/airless/catwalk,/area/space)
+"cPX" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cPY" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "sw_maint_airlock"; name = "exterior access button"; pixel_x = 24; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cPZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/medbay3)
"cQa" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance"; req_access_txt = "5"},/turf/simulated/floor/plasteel,/area/medical/medbay3)
"cQb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical/glass{id_tag = "medbayfoyer"; name = "Medbay Entrance"; req_access_txt = "5"},/turf/simulated/floor/plasteel{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay)
@@ -8188,12 +8188,12 @@
"dbx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/maintenance/starboard)
"dby" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/maintenance/starboard)
"dbz" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/gambling_den)
-"dbA" = (/turf/space,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"dbA" = (/obj/item/hemostat,/obj/effect/decal/cleanable/dirt,/obj/machinery/newscaster{pixel_y = -32},/obj/structure/table/tray,/turf/simulated/floor/plating,/area/medical/surgery1)
"dbB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/gambling_den)
"dbC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/gambling_den)
"dbD" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/gambling_den)
"dbE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/gambling_den)
-"dbF" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "sw_maint_airlock"; name = "exterior access button"; pixel_x = 24; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"dbF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/item/surgicaldrill,/obj/item/circular_saw,/obj/item/FixOVein,/obj/structure/table/tray,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/surgery)
"dbG" = (/obj/item/twohanded/required/kirbyplants,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/gambling_den)
"dbH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/gambling_den)
"dbI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/gambling_den)
@@ -9227,7 +9227,7 @@
"dvw" = (/obj/structure/morgue,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plating,/area/medical/morgue)
"dvx" = (/obj/structure/morgue,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/medical/morgue)
"dvy" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/medical/morgue)
-"dvz" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/medical/morgue)
+"dvz" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/filingcabinet/chestdrawer/autopsy,/turf/simulated/floor/plating,/area/medical/morgue)
"dvA" = (/obj/structure/bed/roller,/obj/effect/decal/cleanable/cobweb,/obj/machinery/iv_drip,/turf/simulated/floor/plasteel,/area/medical/morgue)
"dvB" = (/obj/structure/bed/roller,/obj/machinery/iv_drip,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/medical/morgue)
"dvC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/medical/morgue)
@@ -10005,7 +10005,7 @@
"dKu" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/shuttle/escape)
"dKv" = (/obj/item/twohanded/required/kirbyplants,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel,/area/shuttle/escape)
"dKw" = (/obj/machinery/status_display,/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape)
-"dKx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/structure/table/reinforced,/obj/item/surgicaldrill,/obj/item/circular_saw,/obj/item/FixOVein,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/surgery)
+"dKx" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/auxsolarstarboard)
"dKy" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "16"},/turf/simulated/floor/plating,/area/shuttle/escape)
"dKz" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/medical/virology)
"dKA" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/medical/virology)
@@ -10255,8 +10255,8 @@
"dPk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/structure/table,/obj/item/crowbar,/obj/item/wrench,/obj/item/restraints/handcuffs/cable,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology)
"dPl" = (/obj/structure/table,/obj/item/storage/box/masks,/obj/item/storage/box/gloves,/obj/structure/sign/vacuum{pixel_y = -32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitegreencorner"},/area/medical/virology)
"dPm" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/medical/virology)
-"dPn" = (/obj/structure/bed/roller,/obj/effect/decal/warning_stripes/yellow/hollow,/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel,/area/medical/virology)
-"dPo" = (/obj/effect/landmark{name = "revenantspawn"},/obj/effect/decal/warning_stripes/yellow,/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel,/area/medical/virology)
+"dPn" = (/turf/space,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/auxsolarstarboard)
+"dPo" = (/obj/structure/bed/roller,/obj/effect/decal/warning_stripes/yellow/hollow,/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitegreencorner"},/area/medical/virology)
"dPp" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/portsolar)
"dPq" = (/turf/simulated/wall/r_wall,/area/maintenance/portsolar)
"dPr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/spawner/random_spawners/blood_maybe,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/maintenance/fpmaint2)
@@ -10326,7 +10326,7 @@
"dQD" = (/obj/machinery/field/generator{anchored = 1; state = 2},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating/airless,/area/space)
"dQE" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plating/airless,/area/space)
"dQF" = (/obj/structure/table,/obj/item/storage/firstaid/regular,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/hallway/secondary/exit)
-"dQG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/door/airlock/medical/glass{id_tag = null; name = "Monkey Pen"; req_access_txt = "39"},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 1},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 1},/turf/simulated/floor/plasteel,/area/medical/virology)
+"dQG" = (/obj/effect/landmark{name = "revenantspawn"},/obj/effect/decal/warning_stripes/yellow,/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology)
"dQH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table/glass,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/dropper,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/medical/virology)
"dQI" = (/obj/machinery/door/airlock/external{aiControlDisabled = 0; hackProof = 1; id_tag = "emergency_home"; name = "Escape Airlock"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/security/checkpoint)
"dQJ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -10707,7 +10707,7 @@
"dXU" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/mask/surgical,/obj/machinery/status_display{pixel_y = -32},/turf/simulated/floor/plasteel,/area/medical/surgery1)
"dXV" = (/obj/structure/table/wood,/obj/item/soulstone/anybody/chaplain,/obj/item/nullrod,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office)
"dXW" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "arrival_south_airlock"; name = "interior access button"; pixel_x = -24; pixel_y = -24; req_access_txt = "10;13"},/obj/structure/sign/vacuum{pixel_x = -32},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
-"dXX" = (/obj/structure/table/reinforced,/obj/item/hemostat,/obj/effect/decal/cleanable/dirt,/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor/plating,/area/medical/surgery1)
+"dXX" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "sw_maint2_airlock"; name = "exterior access button"; pixel_x = 24; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"dXY" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/blood/random,/obj/item/reagent_containers/blood/random,/obj/item/reagent_containers/syringe/epinephrine,/obj/item/reagent_containers/syringe,/obj/item/clothing/accessory/stethoscope,/obj/effect/decal/cleanable/dirt,/obj/machinery/status_display{pixel_y = -32},/turf/simulated/floor/plasteel,/area/medical/surgery1)
"dXZ" = (/obj/structure/table/reinforced,/obj/structure/bedsheetbin,/obj/item/gun/syringe,/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/medical/surgery1)
"dYa" = (/obj/effect/spawner/random_spawners/wall_rusted_maybe,/turf/simulated/wall,/area/medical/surgery1)
@@ -10740,22 +10740,21 @@
"dYB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/greengrid,/area/medical/research)
"dYC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/medical/research)
"dYD" = (/obj/item/robot_parts/robot_suit,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/medical/research)
-"dYE" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/auxsolarstarboard)
-"dYF" = (/turf/space,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/auxsolarstarboard)
+"dYE" = (/obj/structure/bed/roller,/obj/effect/decal/warning_stripes/yellow/hollow,/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitegreencorner"},/area/medical/virology)
+"dYF" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/door/airlock/medical/glass{id_tag = null; name = "Monkey Pen"; req_access_txt = "39"},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 1},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology)
"dYG" = (/obj/item/twohanded/required/kirbyplants,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/medical/research)
"dYH" = (/obj/item/twohanded/required/kirbyplants,/obj/structure/sign/poster/random{pixel_y = -32},/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/medical/research)
-"dYI" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "sw_maint2_airlock"; name = "exterior access button"; pixel_x = 24; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"dYJ" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYK" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYL" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYM" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYN" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYO" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYP" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/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/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYQ" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYR" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrival_south_airlock"; name = "exterior access button"; pixel_x = 24; pixel_y = 24; req_access_txt = "10;13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"dYS" = (/turf/space,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
-"dYT" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYI" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYJ" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYK" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYL" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYM" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYN" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYO" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/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/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYP" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYQ" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrival_south_airlock"; name = "exterior access button"; pixel_x = 24; pixel_y = 24; req_access_txt = "10;13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"dYR" = (/turf/space,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
+"dYS" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/portsolar)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -10837,36 +10836,36 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjatYatYatYatYatYabjaEbabjatYatYatYatYatYabjabjabjaaaabjaAeaAiaAiaAiaEaatdaBhaCiaAgaCSazTazXaCgazZaAaaAbaChaAdaBfaCUaAgaCWaBlaCkabjalIawZaClaClaClaClaClaClaClaClaClaCmaClaClalIaCnaCoambauRalZayiaxbaCpaCqaxbaCraCsaxbaxbaCtaxeaCuaxeaEOaxeaFQaAzaCxaxeaBCaCyaCzayAaCAayAaAKaCBaCCaCDaCEaCFaCGaCHayAaCJaCKaDiaCLaCMaCNaCNaBSaBSaBSaFaaCOaBaaCPaCQaCRaCaaCbaCbaCbaCbaCbaCaacFaaaaaaabjaaaabjaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaaaaaaaabjaaaaaaabjaEcabjaaaaaaabjaaaaaaaaaabiabjaaaaaaaBVayGaAiayGaDCauKaCdaDeaCVaDhayPayMaCXaCYaCZaDaaDbayMayLaEeaDdaElaCeaDgaFzamhalZaClaDkaDlaDmaDnaDoaDpaDqaDraEkaFmaClaDsaDtaDuaDvaDwaDuaDxaDyaDzaDDaDBaEwaECaDEaDFaDGaDHaDHaDHaDHaDHaDHaDIaDHaDHaDJaCyaCzayAaDKayAaAKaBYaBIaCfaDNaCIaDjaDQaDSaDTaDWaDUaCNaDVaBSaEQaEXaEYaEZaFaaDXaDYaGPaGfaIgaHVaCbaCbaCbaCbaCbaCaacFaaaaaaabjaaaabjaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabiabiabjabjabjaEcabjabjabiabiabiabjabiabiabjabiabjaAeazRaAiayGaEaauKaCdaFdaEdaFlaCjaCjaEgaEhaAaaEiaEgaCTaDcaFVaEmaGhaEoauKaEpamhambaClaEqaEraEqaEqaEraEraEqaEsaEtaEraClaEuawXalIalIalIalIalIalIaEvaEJaExauVauVaEyaEyaEzaEAatNatNaprapravUapraHWaHXaEDaEEaEFayAaEGaDLaEIaDMaEKaDOaDPaDRaEHaEPayAaFpaDWaERaESaETaESaESaEUaEUaEVaFaaEWaFMaFNaFOaFPaFbaCbaCbaCbaCbaCbaCaacFabjabjabjabjabjabjacFacFacFacFaaaaaaaaaabiabiabiaaaaaaaaaaaaaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEcabjaaaaaaabjaaaaaaabjabjabjaaaabjaJJaITaDCaITaDCauKaCdaFdaFcaHcaDfaEfaFgaFhaCZaFhayMaEjaEjaFVaFjaGhaFkauKaLQamhambaClaGeaEraEqaEqaEraFnaEraEqaFoaHbaClaFqaFraFsaFtaFuaFvaFwaFxaFyaGMaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFBaCyaFCayAaFDayAaFEaFFaFGaFHaFIaFJaFKaFLayAaLVaGQaGRaCNaDVaCNaHzaIeaEQaEZaFaaEWaIfaFRaFSaBZaCaaFTaCbaCbaCbaFUaCaacFaaaaaaabjaaaaaaabjaaaabjaaaabjaaaaaaaaaabiabjabjabjaaaaaaaaaabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEcabjaaaaaaabjaaaaaaabjabjabjaaaabjaJyaITaDCaITaDCauKaCdaFdaFcaHcaDfaEfaFgaFhaCZaFhayMaEjaEjaFVaFjaGhaFkauKaJzamhambaClaGeaEraEqaEqaEraFnaEraEqaFoaHbaClaFqaFraFsaFtaFuaFvaFwaFxaFyaGMaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFAaFBaCyaFCayAaFDayAaFEaFFaFGaFHaFIaFJaFKaFLayAaLVaGQaGRaCNaDVaCNaHzaIeaEQaEZaFaaEWaIfaFRaFSaBZaCaaFTaCbaCbaCbaFUaCaacFaaaaaaabjaaaaaaabjaaaabjaaaabjaaaaaaaaaabiabjabjabjaaaaaaaaaabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatcabjabjabjabjabjabjabjabjabjacFabjaBVaEaaBVaEaaBVaxHaxGaHoaFWaEnaFeaFfaFeaFiaFXaFYaFZaGaaFiaGbaGgaHpaGcatdaEpalIaqFaClaEraEraGjaGkaGkaGlaGmaEraFoaGnaClaEuaFraGoaGpaGqaGraGraGsaGtaGuaFAaGvaGwaGxaGyaGzaFAaGAaGBaGCaGDaGEaGFaGGaFAaGHaGIaGJaGKaGKaGKaGLaELaGNaGLaGOaGOaGOaGOaGOaJmaKbaDiaBSaDVaCNaCNaCNaCNaBSaKIaDXaKJaFNaKKaFPaFbaCbaCbaCbaCbaCbaGSacFabjabjabjabjabjabjabjabjaaaabjaaaaaaaaaabjabjaGTaGUaGVaGTaGVaGTaGTabjaaaabiabiaaaaaaaaaaaaaaaaGWabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatZabjabjabjaGXaGYaGYaGYaGYaGZaHaaGZaGZaGZaHaaHaaGZatdaGdaJFaJHaHeaHfaHgaHhaHiaGiaHkaHhaHlaHmaHnaMEaJDaJGatdaLQalIambaClaHdaHjaHqaHraHsaHtaHuaHvaHwaHdaClaEuaFraHAaHBaHCaHDaHEaHFaHGaHHaHIaHJaHKaHLaHMaHNaHOaHNaHNaHNaHPaHNaHQaHRaFAaBCaCyaJcaHTaHUaIhaEMaJgaKvaHZaGOaIaaIbaIcaGOaIdaBSaDUaEQaKLaBSaEXaEQaMfaEZaKIaDXaIiaIkaIjaJsaJraCbaCbaCbaCbaCbaCaacFaaaaaaabjaaaaaaabjaaaabjabjabiabiabiabjabjabjaGTaIlaImaInaIoaIpaGTabjabjabjabjabjacFacFacFabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatZabjaGXaGXaGXaIqaIraIsaGYaItaIuaIvaIwaIxaIyaIzaIAaGZaGZaGZaIBaICaIDaIEaIFaIGaIHaIIaIDaIJaIKaILaJDatdatdatdaEpalIalZaClaClaIMaClaClaClaHxaHyaClaIPaClaClaIQaFraFxaFxaFxaFxaFxaFxaIRaHSaHYaISaIVaIWaIXaIYaFAaIZaJaaIZaIZaJaaIZaJbaFAaBCaCyaKwaJdaJdaENaENaJfaKxaJhaJiaJjaJkaJlaMwaJnaJoaJpaJoaJqaBSaBSaBSaBSaBSaKIaNkaJEaJtaJuaJvaCaaCbaCbaCbaCbaCbaCaacFaaaaaaabjaaaaaaabjaaaabiaaaaaaabjaaaaaaaaaabjaJwaJxaJyaJzaJAaJBaJCaaaabjaaaabjaaaabjaaaabjaaaabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatZaLTaJKaJLaKoaLlaJIaJMaLraMOaJNaJOaJOaJOaJPaJQaJRaJSaJUaGZaJTaJWaCkatdatdaJVaJZaJXatdatdaJYaKXauKatdabjaaaaLQalIaKaambauRauRalZalZauRaINaKcaKdaKeaKfaKfaKgaFraKhaKiaKjaKkaKlaFxaKmaIUaFAaKnaIXaIXaIXaKpaKqaKraKsaKsaKsaKsaKsaKsaFAaKtaKuaKwaJdaMaaNxaNpaKyaKxaKzaKAaKBaKCaKDaKEaKFaKGaKHaNwaOQaBSaOSaQnaEQaNwaKIaDXaJEaBZabjaaaaKMaKNaCbaKOaCbaKPaKQacFaaaaaaabjabjabjabjabjabiabjabjabjabjabjabjabjaGTaKRaKSaKTaKUaKVaGTabjabjabjabjaKWabjaaaabjaKWabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatZabjabjabjaGXaGYaGYaGYaGYaGZaHaaGZaGZaGZaHaaHaaGZatdaGdaJFaJHaHeaHfaHgaHhaHiaGiaHkaHhaHlaHmaHnaMEaJDaJGatdaJzalIambaClaHdaHjaHqaHraHsaHtaHuaHvaHwaHdaClaEuaFraHAaHBaHCaHDaHEaHFaHGaHHaHIaHJaHKaHLaHMaHNaHOaHNaHNaHNaHPaHNaHQaHRaFAaBCaCyaJcaHTaHUaIhaEMaJgaKvaHZaGOaIaaIbaIcaGOaIdaBSaDUaEQaKLaBSaEXaEQaMfaEZaKIaDXaIiaIkaIjaJsaJraCbaCbaCbaCbaCbaCaacFaaaaaaabjaaaaaaabjaaaabjabjabiabiabiabjabjabjaGTaIlaImaInaIoaIpaGTabjabjabjabjabjacFacFacFabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatZabjaGXaGXaGXaIqaIraIsaGYaItaIuaIvaIwaIxaIyaIzaIAaGZaGZaGZaIBaICaIDaIEaIFaIGaIHaIIaIDaIJaIKaILaJDatdatdatdaEpalIalZaClaClaIMaClaClaClaHxaHyaClaIPaClaClaIQaFraFxaFxaFxaFxaFxaFxaIRaHSaHYaISaIVaIWaIXaIYaFAaIZaJaaIZaIZaJaaIZaJbaFAaBCaCyaKwaJdaJdaENaENaJfaKxaJhaJiaJjaJkaJlaMwaJnaJoaJpaJoaJqaBSaBSaBSaBSaBSaKIaNkaJEaJtaJuaJvaCaaCbaCbaCbaCbaCbaCaacFaaaaaaabjaaaaaaabjaaaabiaaaaaaabjaaaaaaaaaabjaJwaJxaJJaKTaJAaJBaJCaaaabjaaaabjaaaabjaaaabjaaaabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatZaLQaJKaJLaKoaLlaJIaJMaLraMOaJNaJOaJOaJOaJPaJQaJRaJSaJUaGZaJTaJWaCkatdatdaJVaJZaJXatdatdaJYaKXauKatdabjaaaaJzalIaKaambauRauRalZalZauRaINaKcaKdaKeaKfaKfaKgaFraKhaKiaKjaKkaKlaFxaKmaIUaFAaKnaIXaIXaIXaKpaKqaKraKsaKsaKsaKsaKsaKsaFAaKtaKuaKwaJdaMaaNxaNpaKyaKxaKzaKAaKBaKCaKDaKEaKFaKGaKHaNwaOQaBSaOSaQnaEQaNwaKIaDXaJEaBZabjaaaaKMaKNaCbaKOaCbaKPaKQacFaaaaaaabjabjabjabjabjabiabjabjabjabjabjabjabjaGTaKRaKSaSpaKUaKVaGTabjabjabjabjaKWabjaaaabjaKWabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjaGXaGXaGXaKYaKZaLcaLaaLbaLkaLdaLeaLfaLgaLhaLiaLjaPsaLmaLnaLoaLqaLpaPEaLsaLtaLuaLqatdaLvaLwaMxatdabjabjaEpalIalJaLxasqaqlambaqlaLyaLzaLAalZaLBaLCalZaLDaFraLEaLFaLGaLHaLHaLIaLJaLKaFAaLLaLMaLNaLOaLPaFAaQtaTpaTpaTpaVQaTpaZZaLUaBCaCyaJcaQpaLWaLXaLYaLZaNyaJhaMbaMcaMdaMeaQoaMgaESaMhaBSaMiaMjaMkaMkaMjaMlaKIaDXaJEaBZabjaaaaMmaMnaMoaMoaMoaMnaMpaaaaaaaaaabjaaZaaaabjaaaabiaaaabjaGTaGTaGTaGTaGVaGTaMqaMraMsaMtaMqaGUaGTaMuaJCaGTaMvaIOaIOaIOaMvabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFbaNacFacFaMyaMyaMyaMyaMzaMAaLkaMBaMCaMDaMIaMFaMGaMHaMKaMJaMLaMMaMNatdaRaaMPaMQaMRaNZatdaMSaMTaMUatdabjaaaaLQalIalIalIalIalIaqFaMVaMVaMWaMWaMWaMXaMYaMWaMZaFraNaaNbaNcaNdaNeaHFaNfaNgaFAaFAaFAaFAaFAaFAaFAaNhaNiaNiaNiaNiaNiaNjaLUaBCaCyaRHaJdaNlaNmaNnaNoaTiaJhaGOaNqaNraNsaGOaNtaCNaNuaEYaQqaBSaOSaQraEXaEZaKIaSwaQsaBZabjaaaaaaaNzaNAaNAaNAaNBaaaaaaaaaaaaabjaaaaaaabjaaaabjaaaabjaGUaNCaMqaNDaNEaNFaNGaNHaNIaNJaNKaNLaNMaNNaNOaNPaMvaNQaNRaNSaMvabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFabjaNTaMyaMyaNUaNVaNWaNXaNYaOdaOaaObaOcaOhaObaObaOeaOfaOgaOgaOjaOgaOgaOgaOiaOmaOkaOgaOgaOgaOgaOgaOlabjabjbaPbaSaOobaSaFzalIambaMVaOpaOqaOraOsaOtaOuaMWaOvaOwaOxaOxaOxaOxaOxaOxaOyaOzaLUaOAaOBaOCaODaOEaOFaNiaOGaLRaLRaLRaNiaNiaOHaBCaCyaOIaGKaOJaOKaOLaNoaOMaONaGOaOOaOPaKEaGOaQuaBSaNuaCNaORaCNaCNaCNaBSaBSaKIaQvaQvaBZabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaaaaabjaaaabjabjabjaGUaOTaOUaOVaOWaOXaOVaOYaOZaPaaOVaPbaPcaPdaPeaPfaMvaPgaPhaPiaPjabjabiaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFaaaaPkaPlaPmaPnaPoaPpaPqaPraPtaPBaPuaPvaPwaPwaPwaPxaPyaPzaPAaTraPAaPCaPAaPDaTTaPFaPGaPHaPHaPHaPIaOgabjaaaabjaaaabjaaaaLQalIambaMWaPJaPKaPLaPMaPNaPOaMVaOvaOwaPPaPQaPRaPSaPTaOxaOyaOzaLUaPUaPVaPWaPXaPYaPZaNiaQaaQbaQcaQdaLRaNiaOHaBCaCyaCzaGKaQeaQfaQgaQhaQiaJhaQjaQkaQlaQmaJiaSqaKKaTVaUjaUoaWuaWzaKKaWCaWGaXUaYtaYtaQwabjabjabjabjabjabjabjabjabjabjabiabiabiabiabiabiabjabjaGTaGTaGTaGTaGTaQxaQyaQzaQAaQBaQCaQDaQEaNOaQFaQGaQHaQIaMvaQJaQKaQLaMvabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFabjaNTaMyaMyaQMaQNaQOaQNaQPaQQaQRaObaQSaQTaQUaQVaQWaQXaQYaQZaUMaQZaRbaRcaRdaTTaReaRfaRgaRhaRiaPHaOgabjabjabjabjabjabjaEpalIawZaMYaRjaRkaRlaRmaRnaRoaMWaMZaOwaRpaRqaRraRqaOnaRsaRtaRvaLUaRwaRxaPWaRyaRzaRAaNiaRBaRCaRDaREaRFaRGaXRaRIaRJaRKaGKaRLaRMaRNaROaGKaRPaMbaRQaRRaRSaRTaRUaRVazLaRWaRXaRVazLazLaRYaRZaSaaSaaSaaSbaScaSdaSeaSbaSfaSgaSgaSgabjaaaabjaaaaaaaaaaaaaaaaaaabjaGTaShaSiaSjaGTaSkaSlaSmaSnaSoaSpaQEaTbaSraQFaSsaPjaMvaMvaStaSuaSvaMvaMvaMvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFbdaaSxaMyaSyaMyaMyaMyaGZaSzaGZaOgaSAaSBaSCaSDaSEaSDaSFaSDaSDaSDaSGaSDaSDaSHaSIaSDaSDaSJaSKaSLaOgaSMaSNaSNaSNaSNaSNaLQalIawZaSOaSPaSPaRmaSQaSRaRmaSOaRuaSSaSUaSTaSWaSXaSVaSYaSZaTaaTcaTdaTeaTfaTgaRzaRAaNiaNiaNiaThaNiaNiaNiaZfaBCaTjaCzaGKaGKaJdaJeaTlaGKaTmaTnaToaNvaTqaTnaZtaTsaTtaDUaTuaBSaTvaTwaTxaSaaTyaTzaTAaTBaTCaTDaTEaSbaSfaSgaSgaSgabjabjabjabjabjabjabiabiabiabjaGTaTFaTGaTHaGTaMqaTIaMqaMqaMqaTJaMqaMqaMqaTKaMqaMvaTLaTMaTNaTOaTPaTQaTRaMvbaOabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaTSbfSaTUbfSaTUbfSaTUbprabjaOgaTWaTXaTYaTZaUaaTZaUbaTZaTZaTZaUcaTZaTZaUdaUeaTZaTZaUfaUgaUhaUibuXaUkaUlaUmaUnaSNaEpamhalZaXeaUpaRmaUqaUraUsaUtaUuaUvaUwaUxaUyaUzaUyaUAaUBaUCaUDaUEaUFaUGaPXaUHaRzaRAaNiaLRaUIaUJaUIaUKaULbcwaDJaCyaCzaGKaUNaUOaUPaUQaURaUSaUTaUUaUVaUWayDaUXaUYaUZaDUaTuaBSaUZaVaaVbaVcaVdaVeaVfaVgaVhaViaVjaSbaSfaSfaSgaSfaaaabjaaaaaaabjaaaaaaaaaabjaaaaGTaVkaTGaVlaGUaVmaVnaVoaMqaVmaVpaVqaMqaVraVsaVtaMvaVuaVvaVwaVxaVyaVzaVAaPjaVBaMqaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabiaaaabiabjaSNaSNaSNaSNaSNaSMaOgaVCaVDaVEaVFaVGaVFaVHaVIaVJaVIaVKaVIaVLaVMaVNaVOaVFaVPbcyaPHaObaSMaVRaVSaVTaVUaSNaLQamhalZaMWaOsaVVaRoaVWaVXaOsaMWaOvaOwaVYaVZaWaaWbaWcaOxaOyaWdaLUaWeaWfaPXaPXaRzaPZaNiaLSaWgaWhaWiaWjaNiaOHaBCaWkaTkaWmaWnaWoaWpaWqaWraWraWsaWraWsaWtbaiaWvaWwaWxaWybbhaWAaWAaWAaWBbbjaWDaWEaWFbbkaWHaWIaWJaSbaSfaSfaSgaSfaaaabjaaaaaaabjaaaaaaaaaabjaaaaGTaWKaTGaWLaGTaWMaWNaWOaMqaWPaWQaWOaMqaWPaWRaWOaMvaWSaWTaWUaWVaWWaWXaWYaPjaWZaMqabjabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabjabiabjaSNaXaaXbaXcaXdbvBaXfaXgaXhaXiaXjaXkaXlaXmaXnaXoaObaXpaObaXoaXqaXraXsaXtaXuaXvaXwaUibuXaUkaXxaUnaUnaSNaEpamhambaMWaMYaMWaMWaMWaMXaMWaMWaXyaOwaOxaOxaOxaOxaOxaOxaXzaXAaLUaXBaXCaXDaXEaXFaXGaXHaNiaLRaLRaLRaXIaNiaOHaBCaXJaWlaXKaXLaXNaXOaXPaXQaXMaXSaXQaXQaXTbcIaXVaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaYgaYhaYiaViaYjaSbaSfaSgaSgaSgabjabjabjabjabjabjabjaGTaGTaGTaGTaYkaYlaYmaGTaYnaYoaMqaMqaYnaYpaMqaMqaYnaYqaMqaGTaGTaYraYsaGTaGTaGTaGTaGTaZVaMqaMqaMqaMqaMqaGTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaabjaaaabiaaaaSNaYuaYvaYwaVRaSMaObaTWaYxaYyaYzaYAaYBaYCaYDaYEaYFaYGaYHaXoaYIaYJaXsaYKaYLaYMaYNaYOaSMaSNaSNaSNaSNaSNaLQalIambaBoaqlaYPaCoaYQaYRawgaYSaYTaYUavOalLaEyauVaYVaYWaYXaYYaYZaZaaYZaYZaYZaYZaYZaZbaNiaNiaNiaNiaNiaZcaLUaZdaZeaEFaJdaZgaZhaZiaZjaZjaZjaZkaZjaZjaZlaZmaZnaZoaZpaZqbcJbcKbcLaZuaZvaZwaZxaZyaZzaZAaZBaZCaZDaSbaSfaSgaSgaSgabjaaaaaaaaaabjaaaaaaaGVaZEaZFaZGaZHaZIaZJaZKaZLaZMaZKaZNaZOaZPaZQaZKaZRaZSaZKaZKaZTaZPaZUaZWaZXbadaZWaZYbrzbaababbacbwObaebaebafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNaXaaXabagbahbRmbajbakbalaYybamaYAbanbaobapaObbaqbarbasaObbatbaubavbawaXubaxbayaXfbvBaXdbazbaAbaBaSNaEpamhaqFbaCbaDalZalZaOvbaEbaFbaGbaHbaIbaJbaJbaJbaJbaJaHFbaKbaLaYZbaMbaQbcsbctbcuaYZbaRaTpaTpaNiaVQbRqbaTaLUbaUaCyaCzaGKbaVbaWbaXbaYbaZbaYbbabbbbbcbbdbbebbfbbgbcObbibbebbebbebelbeyaSbbblaSaaSbaSbaScbbmaSeaSbabjabjabjabjabjaaaaaaaaaabjaaaaaabbnbbobbpbbqbbrbbsbbtbbubbubbvbbubbwbbxbbvbbybbubbsbbvbbzbbubbsbbvbbAbbBbbDbbHbbBbbEbbFbbGbcWbbGbbIbbJbbKbbLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiabjaSNaSNaSNaSNaSNaSMaYObbMbbNaYybambbObbPbbQbapaObbbRbbSbbTaObbbUaYJbbVaYKbbWbbXaPHaObaSMaVRbbYbbZbcaaSNaLQamhaqFbcbanyanyalZaOvbaEbccbcdbcebcfbcgbchbcibcjbckaFxbclbcmbcnbcobcpbcqbcrbcvaYZaZabcxbdTaYZbflbfoaZaaYZbfpbgwbgxaGKaGKbcAaZsaJdaGKaJdaJdaJdaZraGKbbebcDbcEbcFbcGbcHbbebfwbfCbfMbfNbfNbfNbgMbgVbgWbcPabjaaaaaabcQbcRbcSbcRbcTacFabjabjaaaaaaaGTbcUbcVaGTbcXaGVbdiaGTaGTaGTaGUbcYbcZbfTaMqbdbbdcbddaGTaJwbdeaJCaGTaGTaGTaGUaGTbdfbdgbdhbabbbGbRGbaebaebdjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjaSNbdkbdlbdmaXdbvBaXfaXgbdnbdobamaYAbanbdpbapaObbdqbdrbdsaObbataYJaXsaYKbbWbdtbdubajbRmbahbdvbaBbaBaSNaEpamhaqFalZambaqlalZaMZbaEbdwbdxbdybdzbdAbdBbdCbdDbdEbdFbdGbdHbdIbdJbdKbdLbdMbczaYZbdNbdPbdQbdRbdQbdSbdOaYZaBCaCyaCzbdUbdVbdWbdXbdYbbCbcBbcBbcBbcCbcMbbibedbeebefbegbehbbibeibejbekbhZbifbhZbembenbeobepbeqberbesbetbeubevbewbetacFaaaabjabjbexbexbexbexaGTbezbeAbeBaGTbfUbeCaGTaGTbeDaGTaGTaGTbeDaGUaGTaaaabjaaaabjabjabjabjaMqaMqbeDaMqaMqaMqaMqaMqaGTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaaSNbeEbeFbeGaVRaSMaObaTWbeHaYybeIbeJbanbeJbeKaXobeLbeMbeNaXobeOaYJaXsaYKbePbeQbeRaYOaSMaSNaSNaSNaSNaSNaLQalIambambbeSalIawZaMZbaEbeTbeUbeVbeWbeXbeYbeZbeUbfabfbbfcbfdaYZbfebffbfgbfhbfiaYZbfjbdQbfkbgvbfmbfnbdSbgIaBCaCybhMbfqbfrbfsbftbfubfubfvbfubfubfubcCbinbfxbfybfzbfAbfBbiobfDbfEbfFbfGbfHbfIbfJbfKbfLbbiblCblDbfObcSbfPbfQbfPbcSacFaaaabjaaabexbfRbhcbisaGTbfVbfWbfXbfYbhebfZaJCaaaabjaaaabjaaaabjaaaabjabjabjabjabjaaaaaaaaaabjaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNbdkbdkbgabahbRmbajbakbgbaYyaYJbgcbanbgdaXqaXobgebgfaObaXoaXnaXraXsbggbghbgibgjaXfbvBaXdbgkbglbgmaSNaEpamhalZbgnbgoareawZaOvbaEbaFbgpbaFbgqbaEbaFbaFbaFbaFaFxbgrbgsaYZbgtaYZbguaYZaYZaYZbgybdPbgAbgBbhNbdSbfnbgIaBCbgzbhYbjzbgCbgDbcNbdZbgGbeabdZbgGbgGbebbgJbgKbgLblEbgNbgObgJbgPbgQbgRbfAbgSbgSbgSbgTbgUblGblHblIblGbgYbfPbfPbfPbgZacFabjabjaaabhabhbblpbhdbexbhgbhfbkgbhhbhhbhibhhbhhbhhbhibhhbhhbhhbhhabjaaaabjaaaabjabjabjabjabjabjabjabjabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiabjaSNaSNaSNaSNaSNaSMaYOaVCbbNaYyaYJaXkbhjaYAbhkbhlbhmbhnbhkbhobhkaYJaXsbanbhpbhqbhraObaSMaVRbhsbhtbhuaSNaLQamhawZbgnanyaqpambaMZbaEbhvbhwbhxbhybhzbhAbhBbhCbhDbhEbhFbhGbhHbhIbdQbhJbdQbdPbhKbhLbdQbhQbhRblibfnbdSbgIbhObhPblqblrbhSbhTbecbgEbhWbgFbgHbhWbhWbgHblJbiabibbicbidbieblKbigbihbiibijbikbilbilbilbimbbiblLblMbipbcSbfQbfQbfQbcSacFaaaabjaaabiqbirbqwbtGbitbiubivbiwbhhbixbiybizbiAbiBbiCbiDbiEbiFbiGbiGbiHbiIbiJbiGbiGaaaaaaabjaaaaaaaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNbiKbiLbiMaXdbvBaXfaXgbiNbdoaYJbiObiPbiQbanbiRaYJbiSbiTbiTbiUbiVbiWbiXbiYbiZbjabajbRmbahbjbbgmbgmaSNaEpamhaqFambanybjcaqFbjdbaEbjebjfbdxbjgbjhbjibjjbjkbjlbjmbjnbjobjpbjqbjrbjsbjtbjubjvbjubjvbjubjwbjubjxbjybnbbjAbjBbhMbfqbjCbfubjDbjEbfubftbfubfubfubjFbbibjGbjHbfybjIbjJbbibjKbjLbjMbjNbjObjPbjQbjRbjSbjTbeqberbjUbetbjVbjWbjXbetacFaaaabjaaabjYbjZbkabkbbkcbkdbkebkfbhibmObkhbkibkibkjbkkbklbkmbknbiGbkobkpbkqbkrbksbiGbiGbiGbiGbiGbiGaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabktbkubktbkubktaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaaSNbkvbkwbkxaVRaSMaObaTWbkybkzbkAbkBbkBbkCbkDbkEbkFbkGbkHbkIbkJbkKbkLbkMbkNbkObkPaOgbkQaSNaSNaSNaSNaSNaLQalIbkRaCoaqlambambbjdbaEbkSbkTbkUbkVbkWbkXbkYbkZblablbblcbldbleblfblgblhbljblkbllblmbloblnbncbnebQybQyaYZaBCaCybSBbdUblsbltblublvblwblxblublyblzblAbbeblBblNbnfbnhblFbbebniboDboFbsCbbebxybHGbJsbMnblOabjaaaaaablPbcRblQbcRblRaaaabjabjabjbexblSblTblUbjYblVblWblXblYblZbmabmbbmcbmdbmebklbkmbmfbmgbmhbmhbmibmhbmhbmjbmkbmlbmmbmnbiGabjabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabiabiabiabjabiabibmobmpbmqbmqbmqbmrbmsabiabiabjabiabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjaSNbiKbiKbmtbahbRmbajbakbmubmvbmwbmxbmybmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbmJbmKbmLbmMbmNbaSbaSaOobaSaOobaSbUbalIaqlalZaqpbmPaqFaEubaEbmQbkTbmRbkUbmSbmTbmUbmVbaFbmWbmXbmYaYZaYZaYZaYZaYZaYZbmZbmZbmZaZabmZbmZbmZaYZbnabyNbMabMbbndbfqbfqbhUbhVbdUbhXbhUbfqbfqbdUbbebbebbibNBbbibbebbebngbNCbQabngbngbngbngbngbnjbnkabjaaaaaaaaaaaaaaaaaaaaaabjbnlbnmbnnbnobnobnobnobnobnpbnqbnrbnsbntbnubnvbnwbnxbnybnzbnAbnBbnCbnDbnEbnFbnGbnHbnIbnJbnHbnKbnLbmgaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFaLTacFacFaMyaMyaMyaMyaMzaMAaLkaMBaMCaMDaMIaMFaMGaMHaMKaMJaMLaMMaMNatdaRaaMPaMQaMRaNZatdaMSaMTaMUatdabjaaaaJzalIalIalIalIalIaqFaMVaMVaMWaMWaMWaMXaMYaMWaMZaFraNaaNbaNcaNdaNeaHFaNfaNgaFAaFAaFAaFAaFAaFAaFAaNhaNiaNiaNiaNiaNiaNjaLUaBCaCyaRHaJdaNlaNmaNnaNoaTiaJhaGOaNqaNraNsaGOaNtaCNaNuaEYaQqaBSaOSaQraEXaEZaKIaSwaQsaBZabjaaaaaaaNzaNAaNAaNAaNBaaaaaaaaaaaaabjaaaaaaabjaaaabjaaaabjaGUaNCaMqaNDaNEaNFaNGaNHaNIaNJaNKaNLaNMaNNaNOaNPaMvaNQaNRaNSaMvabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFabjaNTaMyaMyaNUaNVaNWaNXaNYaOdaOaaObaOcaOhaObaObaOeaOfaOgaOgaOjaOgaOgaOgaOiaOmaOkaOgaOgaOgaOgaOgaOlabjabjaOUaOWaOoaOWaFzalIambaMVaOpaOqaOraOsaOtaOuaMWaOvaOwaOxaOxaOxaOxaOxaOxaOyaOzaLUaOAaOBaOCaODaOEaOFaNiaOGaLRaLRaLRaNiaNiaOHaBCaCyaOIaGKaOJaOKaOLaNoaOMaONaGOaOOaOPaKEaGOaQuaBSaNuaCNaORaCNaCNaCNaBSaBSaKIaQvaQvaBZabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaaaaabjaaaabjabjabjaGUaOTaOXaOVaPbaPcaOVaOYaOZaPaaOVaPcaQAaPdaPeaPfaMvaPgaPhaPiaPjabjabiaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFaaaaPkaPlaPmaPnaPoaPpaPqaPraPtaPBaPuaPvaPwaPwaPwaPxaPyaPzaPAaTraPAaPCaPAaPDaTTaPFaPGaPHaPHaPHaPIaOgabjaaaabjaaaabjaaaaJzalIambaMWaPJaPKaPLaPMaPNaPOaMVaOvaOwaPPaPQaPRaPSaPTaOxaOyaOzaLUaPUaPVaPWaPXaPYaPZaNiaQaaQbaQcaQdaLRaNiaOHaBCaCyaCzaGKaQeaQfaQgaQhaQiaJhaQjaQkaQlaQmaJiaSqaKKaTVaUjaUoaWuaWzaKKaWCaWGaXUaYtaYtaQwabjabjabjabjabjabjabjabjabjabjabiabiabiabiabiabiabjabjaGTaGTaGTaGTaGTaQxaQyaQzaSnaQBaQCaQDaQEaNOaQFaQGaQHaQIaMvaQJaQKaQLaMvabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFabjaNTaMyaMyaQMaQNaQOaQNaQPaQQaQRaObaQSaQTaQUaQVaQWaQXaQYaQZaUMaQZaRbaRcaRdaTTaReaRfaRgaRhaRiaPHaOgabjabjabjabjabjabjaEpalIawZaMYaRjaRkaRlaRmaRnaRoaMWaMZaOwaRpaRqaRraRqaOnaRsaRtaRvaLUaRwaRxaPWaRyaRzaRAaNiaRBaRCaRDaREaRFaRGaXRaRIaRJaRKaGKaRLaRMaRNaROaGKaRPaMbaRQaRRaRSaRTaRUaRVazLaRWaRXaRVazLazLaRYaRZaSaaSaaSaaSbaScaSdaSeaSbaSfaSgaSgaSgabjaaaabjaaaaaaaaaaaaaaaaaaabjaGTaShaSiaSjaGTaSkaSlaSmaWNaSoaSpaQEaTbaSraQFaSsaPjaMvaMvaStaSuaSvaMvaMvaMvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFaWRaSxaMyaSyaMyaMyaMyaGZaSzaGZaOgaSAaSBaSCaSDaSEaSDaSFaSDaSDaSDaSGaSDaSDaSHaSIaSDaSDaSJaSKaSLaOgaSMaSNaSNaSNaSNaSNaJzalIawZaSOaSPaSPaRmaSQaSRaRmaSOaRuaSSaSUaSTaSWaSXaSVaSYaSZaTaaTcaTdaTeaTfaTgaRzaRAaNiaNiaNiaThaNiaNiaNiaZfaBCaTjaCzaGKaGKaJdaJeaTlaGKaTmaTnaToaNvaTqaTnaZtaTsaTtaDUaTuaBSaTvaTwaTxaSaaTyaTzaTAaTBaTCaTDaTEaSbaSfaSgaSgaSgabjabjabjabjabjabjabiabiabiabjaGTaTFaTGaTHaGTaMqaTIaMqaMqaMqaTJaMqaMqaMqaTKaMqaMvaTLaTMaTNaTOaTPaTQaTRaMvbaOabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaTSaZYaTUaZYaTUaZYaTUbaaabjaOgaTWaTXaTYaTZaUaaTZaUbaTZaTZaTZaUcaTZaTZaUdaUeaTZaTZaUfaUgaUhaUibaNaUkaUlaUmaUnaSNaEpamhalZaXeaUpaRmaUqaUraUsaUtaUuaUvaUwaUxaUyaUzaUyaUAaUBaUCaUDaUEaUFaUGaPXaUHaRzaRAaNiaLRaUIaUJaUIaUKaULbcwaDJaCyaCzaGKaUNaUOaUPaUQaURaUSaUTaUUaUVaUWayDaUXaUYaUZaDUaTuaBSaUZaVaaVbaVcaVdaVeaVfaVgaVhaViaVjaSbaSfaSfaSgaSfaaaabjaaaaaaabjaaaaaaaaaabjaaaaGTaVkaTGaVlaGUaVmaVnaVoaMqaVmaVpaVqaMqaVraVsaVtaMvaVuaVvaVwaVxaVyaVzaVAaPjaVBaMqaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabiaaaabiabjaSNaSNaSNaSNaSNaSMaOgaVCaVDaVEaVFaVGaVFaVHaVIaVJaVIaVKaVIaVLaVMaVNaVOaVFaVPbcyaPHaObaSMaVRaVSaVTaVUaSNaJzamhalZaMWaOsaVVaRoaVWaVXaOsaMWaOvaOwaVYaVZaWaaWbaWcaOxaOyaWdaLUaWeaWfaPXaPXaRzaPZaNiaLSaWgaWhaWiaWjaNiaOHaBCaWkaTkaWmaWnaWoaWpaWqaWraWraWsaWraWsaWtbaiaWvaWwaWxaWybbhaWAaWAaWAaWBbbjaWDaWEaWFbbkaWHaWIaWJaSbaSfaSfaSgaSfaaaabjaaaaaaabjaaaaaaaaaabjaaaaGTaWKaTGaWLaGTaWMbaPaWOaMqaWPaWQaWOaMqaWPbaSaWOaMvaWSaWTaWUaWVaWWaWXaWYaPjaWZaMqabjabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabjabiabjaSNaXaaXbaXcaXdbbFaXfaXgaXhaXiaXjaXkaXlaXmaXnaXoaObaXpaObaXoaXqaXraXsaXtaXuaXvaXwaUibaNaUkaXxaUnaUnaSNaEpamhambaMWaMYaMWaMWaMWaMXaMWaMWaXyaOwaOxaOxaOxaOxaOxaOxaXzaXAaLUaXBaXCaXDaXEaXFaXGaXHaNiaLRaLRaLRaXIaNiaOHaBCaXJaWlaXKaXLaXNaXOaXPaXQaXMaXSaXQaXQaXTbcIaXVaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaYgaYhaYiaViaYjaSbaSfaSgaSgaSgabjabjabjabjabjabjabjaGTaGTaGTaGTaYkaYlaYmaGTaYnaYoaMqaMqaYnaYpaMqaMqaYnaYqaMqaGTaGTaYraYsaGTaGTaGTaGTaGTaZVaMqaMqaMqaMqaMqaGTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaabjaaaabiaaaaSNaYuaYvaYwaVRaSMaObaTWaYxaYyaYzaYAaYBaYCaYDaYEaYFaYGaYHaXoaYIaYJaXsaYKaYLaYMaYNaYOaSMaSNaSNaSNaSNaSNaJzalIambaBoaqlaYPaCoaYQaYRawgaYSaYTaYUavOalLaEyauVaYVaYWaYXaYYaYZaZaaYZaYZaYZaYZaYZaZbaNiaNiaNiaNiaNiaZcaLUaZdaZeaEFaJdaZgaZhaZiaZjaZjaZjaZkaZjaZjaZlaZmaZnaZoaZpaZqbcJbcKbcLaZuaZvaZwaZxaZyaZzaZAaZBaZCaZDaSbaSfaSgaSgaSgabjaaaaaaaaaabjaaaaaaaGVaZEaZFaZGaZHaZIaZJaZKaZLaZMaZKaZNaZOaZPaZQaZKaZRaZSaZKaZKaZTaZPaZUaZWaZXbadaZWbdabrzbfSbabbacbprbaebaebafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNaXaaXabagbahbuXbajbakbalaYybamaYAbanbaobapaObbaqbarbasaObbatbaubavbawaXubaxbayaXfbbFaXdbazbaAbaBaSNaEpamhaqFbaCbaDalZalZaOvbaEbaFbaGbaHbaIbaJbaJbaJbaJbaJaHFbaKbaLaYZbaMbaQbcsbctbcuaYZbaRaTpaTpaNiaVQbRqbaTaLUbaUaCyaCzaGKbaVbaWbaXbaYbaZbaYbbabbbbbcbbdbbebbfbbgbcObbibbebbebbebelbeyaSbbblaSaaSbaSbaScbbmaSeaSbabjabjabjabjabjaaaaaaaaaabjaaaaaabbnbbobbpbbqbbrbbsbbtbbubbubbvbbubbwbbxbbvbbybbubbsbbvbbzbbubbsbbvbbAbbBbbDbbHbbBbbEbvBbbGbcWbbGbbIbbJbbKbbLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiabjaSNaSNaSNaSNaSNaSMaYObbMbbNaYybambbObbPbbQbapaObbbRbbSbbTaObbbUaYJbbVaYKbbWbbXaPHaObaSMaVRbbYbbZbcaaSNaJzamhaqFbcbanyanyalZaOvbaEbccbcdbcebcfbcgbchbcibcjbckaFxbclbcmbcnbcobcpbcqbcrbcvaYZaZabcxbdTaYZbflbfoaZaaYZbfpbgwbgxaGKaGKbcAaZsaJdaGKaJdaJdaJdaZraGKbbebcDbcEbcFbcGbcHbbebfwbfCbfMbfNbfNbfNbgMbgVbgWbcPabjaaaaaabcQbcRbcSbcRbcTacFabjabjaaaaaaaGTbcUbcVaGTbcXaGVbdiaGTaGTaGTaGUbcYbcZbfTaMqbdbbdcbddaGTaJwbdeaJCaGTaGTaGTaGUaGTbdfbdgbdhbabbbGbwObaebaebdjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjaSNbdkbdlbdmaXdbbFaXfaXgbdnbdobamaYAbanbdpbapaObbdqbdrbdsaObbataYJaXsaYKbbWbdtbdubajbuXbahbdvbaBbaBaSNaEpamhaqFalZambaqlalZaMZbaEbdwbdxbdybdzbdAbdBbdCbdDbdEbdFbdGbdHbdIbdJbdKbdLbdMbczaYZbdNbdPbdQbdRbdQbdSbdOaYZaBCaCyaCzbdUbdVbdWbdXbdYbbCbcBbcBbcBbcCbcMbbibedbeebefbegbehbbibeibejbekbhZbifbhZbembenbeobepbeqberbesbetbeubevbewbetacFaaaabjabjbexbexbexbexaGTbezbeAbeBaGTbfUbeCaGTaGTbeDaGTaGTaGTbeDaGUaGTaaaabjaaaabjabjabjabjaMqaMqbeDaMqaMqaMqaMqaMqaGTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaaSNbeEbeFbeGaVRaSMaObaTWbeHaYybeIbeJbanbeJbeKaXobeLbeMbeNaXobeOaYJaXsaYKbePbeQbeRaYOaSMaSNaSNaSNaSNaSNaJzalIambambbeSalIawZaMZbaEbeTbeUbeVbeWbeXbeYbeZbeUbfabfbbfcbfdaYZbfebffbfgbfhbfiaYZbfjbdQbfkbgvbfmbfnbdSbgIaBCaCybhMbfqbfrbfsbftbfubfubfvbfubfubfubcCbinbfxbfybfzbfAbfBbiobfDbfEbfFbfGbfHbfIbfJbfKbfLbbiblCblDbfObcSbfPbfQbfPbcSacFaaaabjaaabexbfRbhcbisaGTbfVbfWbfXbfYbhebfZaJCaaaabjaaaabjaaaabjaaaabjabjabjabjabjaaaaaaaaaabjaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNbdkbdkbgabahbuXbajbakbgbaYyaYJbgcbanbgdaXqaXobgebgfaObaXoaXnaXraXsbggbghbgibgjaXfbbFaXdbgkbglbgmaSNaEpamhalZbgnbgoareawZaOvbaEbaFbgpbaFbgqbaEbaFbaFbaFbaFaFxbgrbgsaYZbgtaYZbguaYZaYZaYZbgybdPbgAbgBbhNbdSbfnbgIaBCbgzbhYbjzbgCbgDbcNbdZbgGbeabdZbgGbgGbebbgJbgKbgLblEbgNbgObgJbgPbgQbgRbfAbgSbgSbgSbgTbgUblGblHblIblGbgYbfPbfPbfPbgZacFabjabjaaabhabhbblpbhdbexbhgbhfbkgbhhbhhbhibhhbhhbhhbhibhhbhhbhhbhhabjaaaabjaaaabjabjabjabjabjabjabjabjabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiabjaSNaSNaSNaSNaSNaSMaYOaVCbbNaYyaYJaXkbhjaYAbhkbhlbhmbhnbhkbhobhkaYJaXsbanbhpbhqbhraObaSMaVRbhsbhtbhuaSNaJzamhawZbgnanyaqpambaMZbaEbhvbhwbhxbhybhzbhAbhBbhCbhDbhEbhFbhGbhHbhIbdQbhJbdQbdPbhKbhLbdQbhQbhRblibfnbdSbgIbhObhPblqblrbhSbhTbecbgEbhWbgFbgHbhWbhWbgHblJbiabibbicbidbieblKbigbihbiibijbikbilbilbilbimbbiblLblMbipbcSbfQbfQbfQbcSacFaaaabjaaabiqbirbqwbtGbitbiubivbiwbhhbixbiybizbiAbiBbiCbiDbiEbiFbiGbiGbiHbiIbiJbiGbiGaaaaaaabjaaaaaaaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNbiKbiLbiMaXdbbFaXfaXgbiNbdoaYJbiObiPbiQbanbiRaYJbiSbiTbiTbiUbiVbiWbiXbiYbiZbjabajbuXbahbjbbgmbgmaSNaEpamhaqFambanybjcaqFbjdbaEbjebjfbdxbjgbjhbjibjjbjkbjlbjmbjnbjobjpbjqbjrbjsbjtbjubjvbjubjvbjubjwbjubjxbjybnbbjAbjBbhMbfqbjCbfubjDbjEbfubftbfubfubfubjFbbibjGbjHbfybjIbjJbbibjKbjLbjMbjNbjObjPbjQbjRbjSbjTbeqberbjUbetbjVbjWbjXbetacFaaaabjaaabjYbjZbkabkbbkcbkdbkebkfbhibmObkhbkibkibkjbkkbklbkmbknbiGbkobkpbkqbkrbksbiGbiGbiGbiGbiGbiGaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabktbkubktbkubktaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaaSNbkvbkwbkxaVRaSMaObaTWbkybkzbkAbkBbkBbkCbkDbkEbkFbkGbkHbkIbkJbkKbkLbkMbkNbkObkPaOgbkQaSNaSNaSNaSNaSNaJzalIbkRaCoaqlambambbjdbaEbkSbkTbkUbkVbkWbkXbkYbkZblablbblcbldbleblfblgblhbljblkbllblmbloblnbncbnebQybQyaYZaBCaCybSBbdUblsbltblublvblwblxblublyblzblAbbeblBblNbnfbnhblFbbebniboDboFbsCbbebxybHGbJsbMnblOabjaaaaaablPbcRblQbcRblRaaaabjabjabjbexblSblTblUbjYblVblWblXblYblZbmabmbbmcbmdbmebklbkmbmfbmgbmhbmhbmibmhbmhbmjbmkbmlbmmbmnbiGabjabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabiabiabiabjabiabibmobmpbmqbmqbmqbmrbmsabiabiabjabiabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjaSNbiKbiKbmtbahbuXbajbakbmubmvbmwbmxbmybmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbmJbmKbmLbmMbmNaOWaOWaOoaOWaOoaOWbRmalIaqlalZaqpbmPaqFaEubaEbmQbkTbmRbkUbmSbmTbmUbmVbaFbmWbmXbmYaYZaYZaYZaYZaYZaYZbmZbmZbmZaZabmZbmZbmZaYZbnabyNbMabMbbndbfqbfqbhUbhVbdUbhXbhUbfqbfqbdUbbebbebbibNBbbibbebbebngbNCbQabngbngbngbngbngbnjbnkabjaaaaaaaaaaaaaaaaaaaaaabjbnlbnmbnnbnobnobnobnobnobnpbnqbnrbnsbntbnubnvbnwbnxbnybnzbnAbnBbnCbnDbnEbnFbnGbnHbnIbnJbnHbnKbnLbmgaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabkubktbktbkubktbkubnMbnNbnObnPbnObnQbnRbkubktbktbktbktbkuaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiabjaSNaSNaSNaSNaSNaSMaOgbnSbnTaUibnUaUibnVbnWaObbnXaYKbnYbnZboabobbocbodboeaOgaOgaOgaOgaOgalIalIalIalIalIalIalIaqFalZarealIaqFaMZbaEbofbkTbkUbogbohboibmUbojbokbolbombonbooboobooboobopboobooboqbooborboobooboobooboobosbotboubovbovbovbovbowbgXbouboxbovbovboybozboybovboAbovboBboCboKboEbQgboGboGboHboIbngabjabjabjaaaaaaaaaaaaaaaaaaaaaabjboJboWboLboMboNboOboPboQboRboSbkfbhiboTboUboVbmdbqJboXboYboZbpabpbbpcbpdbpebpfbpgbphbpibpjbpjbpkbplabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbpnbpobpobpobpobpobpobppbpqbvvbpqbpsbpobpobpobpobpobpobptbpuabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNbpvbpwbpxbahbRmbajbpybpzbpAbpBbpCbpDbpEbpFbpGbpHbpIbpJbpKbpLbpMbpNbpObpPbpQbpRbpSbpTbpUbpVbpWbpXbpYbpZbqabqbbqcbqdbqebqfbqgbaEbqhbkTbkUbqibqjbkUbmUbqkbqlbqmbqnbqobqpbqpbqpbqpbqpbqpbqpbqqbqpbqrbqpbqpbqpbqpbqpbqsbqtbqubqubqubqubqubqvdxVbqubqxbqubqubqubqubqubqubqvbqybqzbqAbngbngbngbqBbqCbqCbngbngaaaaaaabjaaabqDbqEbqFbqGbqHaaabqIbnobqLbqKbqMbqNbrubqObqPbqQbqRbqSbqTbqUbqVbqWbqXbqYbqZbrabrbbrcbrdbrebrfbrgbrhbribrjbrkbrlbrmbrnbroaaaabiabjabjaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbrqbrrbrsbrsbrrbrsbrtbrsbUJbrsbrvbrsbrrbrsbrsbrrbrwbrpbmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiaaaaSNbrxbpvbryaVRaSMaObbvUbrAbrBbrCbrDbrEbrFaObbrGbrHbrIbrJbrKbmGbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrWbrWbrWbrXbrWbrWbrWbrYbrZbaEbsabkTbkUbsbbscbkUbmUbqkbsdbqmbsebsfbsgbshbshbshbshbsibshbshbshbsjbshbshbshbshbsibskbslbsmbsnbsobsobsobspbMLbsobsobsobsqbsobsobsobsobsrbssbstbsubsvaaaaaaabjaaaaaaaaaabjaaaaaaabjacFbswbsxbsybszbswbsAbsBbsBbsZbsDbsEbsEbsFbsGbsHbsIbsJbsKbsLbsMbsNbsObsPbsQbsRbsSbsTbsUbrobsVbmhbsWbmhbsXbsYbmkbtabtbbtRbiGabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbpuabjabjaaaabjaaabtcbtdbtdbtdbteaaaabjaaaabjalWbpmbrpbmsabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabiabiabiabjabiabjabiabjaSNbpvbpvbtfaXdbvBaXfbtgbthaTZbtibtjbtkbtlaOgbtmaYKbrIbtnbtobtpbtqbtrbtsbttbtubtvbtwbtxbtybtzbtAbrWaaaaaaaaaaaaaaaaaaaaabrWaEubaEbmQbkTbkUbtBbtCbmRbmUbtDbgpbSgbtEcqmbsvbsvbtHbtHbtHbsvbtHbtHbtHbsvbtHbtHbtHbtHbsvbtHbtHbtHbsvbtHbtHbtHbtHbsvbtHbtHbtHbsvbtHbtHbtHbsvbsvcoEbSibSVbsvabjbtLbtLbtLbtLbtLbtLbtLaaaabjacFbtMbtNbtObtPbtQbtSbtTbtSbtVbtUbtWbtXbvlbtYbtZbuabubbkfbucbkjbudbuebuebufbugbklbuhbuibiGbujbukbulbumbunbiGbiGbiGbiGbiGbiGaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbpnbpobpobpobpobpobpobppbpqbvvbpqbpsbpobpobpobpobpobpobptbpuabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjaSNbpvbpwbpxbahbuXbajbpybpzbpAbpBbpCbpDbpEbpFbpGbpHbpIbpJbpKbpLbpMbpNbpObpPbpQbpRbpSbpTbpUbpVbpWbpXbpYbpZbqabqbbqcbqdbqebqfbqgbaEbqhbkTbkUbqibqjbkUbmUbqkbqlbqmbqnbqobqpbqpbqpbqpbqpbqpbqpbqqbqpbqrbqpbqpbqpbqpbqpbqsbqtbqubqubqubqubqubqvdxVbqubqxbqubqubqubqubqubqubqvbqybqzbqAbngbngbngbqBbqCbqCbngbngaaaaaaabjaaabqDbqEbqFbqGbqHaaabqIbnobqLbqKbqMbqNbrubqObqPbqQbqRbqSbqTbqUbqVbqWbqXbqYbqZbrabrbbrcbrdbrebrfbrgbrhbribrjbrkbrlbrmbrnbroaaaabiabjabjaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbrqbrrbrsbrsbrrbrsbrtbrsbRGbrsbrvbrsbrrbrsbrsbrrbrwbrpbmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiaaaaSNbrxbpvbryaVRaSMaObbvUbrAbrBbrCbrDbrEbrFaObbrGbrHbrIbrJbrKbmGbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrWbrWbrWbrXbrWbrWbrWbrYbrZbaEbsabkTbkUbsbbscbkUbmUbqkbsdbqmbsebsfbsgbshbshbshbshbsibshbshbshbsjbshbshbshbshbsibskbslbsmbsnbsobsobsobspbMLbsobsobsobsqbsobsobsobsobsrbssbstbsubsvaaaaaaabjaaaaaaaaaabjaaaaaaabjacFbswbsxbsybszbswbsAbsBbsBbsZbsDbsEbsEbsFbsGbsHbsIbsJbsKbsLbsMbsNbsObsPbsQbsRbsSbsTbsUbrobsVbmhbsWbmhbsXbsYbmkbtabtbbtRbiGabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbpuabjabjaaaabjaaabtcbtdbtdbtdbteaaaabjaaaabjalWbpmbrpbmsabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabiabiabiabjabiabjabiabjaSNbpvbpvbtfaXdbbFaXfbtgbthaTZbtibtjbtkbtlaOgbtmaYKbrIbtnbtobtpbtqbtrbtsbttbtubtvbtwbtxbtybtzbtAbrWaaaaaaaaaaaaaaaaaaaaabrWaEubaEbmQbkTbkUbtBbtCbmRbmUbtDbgpbSgbtEcqmbsvbsvbtHbtHbtHbsvbtHbtHbtHbsvbtHbtHbtHbtHbsvbtHbtHbtHbsvbtHbtHbtHbtHbsvbtHbtHbtHbsvbtHbtHbtHbsvbsvcoEbSibSVbsvabjbtLbtLbtLbtLbtLbtLbtLaaaabjacFbtMbtNbtObtPbtQbtSbtTbtSbtVbtUbtWbtXbvlbtYbtZbuabubbkfbucbkjbudbuebuebufbugbklbuhbuibiGbujbukbulbumbunbiGbiGbiGbiGbiGbiGaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbrpbmsabjabjbtdbtdbtdbtcbtdbtdbtdbtebtdbtdbtdabjabjbmobrpbpuabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaabiaaaabjaaaaaaabjaaaabjaaaabjaaaabiabjaSNaSNaSNaSNaSNaSMaOgbuobupbeIbuqburbusbutaOgbuubuvbuwbuxbuybuzbuAbuBbuCbuDbuEbuFbuGbuHbuIbuJbuKbrWaaabuLbuMbuNbuObuLaaabrWaEubaEbuPbuQbeUbeUbeUbeUbuRbuSbuTbuUbuVbuWbvVbtHaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaabtHbtIbuZbvabvbbtHaaabtLbvcbvdbvebvfbvgbtLabjbvhacFbswbvibvjbvkbswbsAbsBbsBbxJbvmbvnbvobvpbvqboJboRbubbkfbhhbvrbvsbvtbvubxNbvwbvtbvxbsUbiGbiGbiHbvybiJbiGbiGaaaabjaaaabjaaaaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobrpbmsabjbtdbtdbtdbvzbtcbvAbwFbvCbtebvzbtdbtdbtdabjbmobrpbmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiabiabiabiabjabiabiabiaaaabjabjabjabjabjacFbVfacFaOgbvDbvEbvFbvGbvHbvIbvJaOgaOgaOgbvKaOgbvLbvMaOkaOgbvNbvObvPbvQbvRbvSbvTbNSbuKbrXaaabuMbvWbvXbvYbuOaaabrXaOvbaEbvZbwabwabwabwabwabwabwbbaFbuUbuVbuWbxibtHabjabjabjabjabjabjabjabjbwcbwdbwdbwebwfbwgbwhbwibwfbwjbwkbwkbwlabjabjabjabjabjabjabjabjbtHbtIbwmbwnbwobwpbwpbwqbwrbwsbwtbwubwvbtLaaabvhacFbswbwwbwwbwxbswaaaaaabnobnobwybwzbnoboJbnobnoboRbubbwAbhhbhhbhhbwBbhhbhhbhhbwCbwDbwEbhhaaaabjaaaabjaaaaaaaaaabjabjabjabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobrpbmsabjbtdbtdbtdbvzbtcbvAbwFbvCbtebvzbtdbtdbtdabjbmobrpbmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiabiabiabiabjabiabiabiaaaabjabjabjabjabjacFbUbacFaOgbvDbvEbvFbvGbvHbvIbvJaOgaOgaOgbvKaOgbvLbvMaOkaOgbvNbvObvPbvQbvRbvSbvTbNSbuKbrXaaabuMbvWbvXbvYbuOaaabrXaOvbaEbvZbwabwabwabwabwabwabwbbaFbuUbuVbuWbxibtHabjabjabjabjabjabjabjabjbwcbwdbwdbwebwfbwgbwhbwibwfbwjbwkbwkbwlabjabjabjabjabjabjabjabjbtHbtIbwmbwnbwobwpbwpbwqbwrbwsbwtbwubwvbtLaaabvhacFbswbwwbwwbwxbswaaaaaabnobnobwybwzbnoboJbnobnoboRbubbwAbhhbhhbhhbwBbhhbhhbhhbwCbwDbwEbhhaaaabjaaaabjaaaaaaaaaabjabjabjabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobwMbmsbtdbtdbtdbwGbwHbwIbwJbwKbwJbwLbwHbwGbtdbtdbtdbmobxMbmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjabjabjabjabjabjabjabjabjabjabjabjbwNbwNbyjbwNbwPbwPbwQbwRbwPbwSbwTbwUbwPbwVbwWbwXbwPbwYbwZbxaaOgbxbbanaXsaYJbxcbxdbxebxfbxgbrWaaabxhbxjbAjbxkbxhaaabrWaIQbaEbaFbaFbaFbaFbaFbaFbaFbaFbaFbxlbuVbuWbxibtHaaaaaaaaaabjaaaaaaaaaabjaszbxmbxnbxobxpbxqbxrbxsbxtbxubxvbxwaszabjaaaaaaaaaabjaaaaaaaaabtHbtJbuZbtKbxzbxAbxAbxBbxCbxDbxEbxFbxGbtLabjbvhacFbtMbxHbwwbxIbswbsAbsBbsBbzibxKbxLbztbCNbxObnobxPbubbxQbxRbmfbxSbxSbxTbxSbwCbxUbxVbmfbhhaaaabiabjabjabjabjabjabjaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbxWbpubtdbtdbxXbxYbxZbyabybbycbydbyebyfbygbyhbtdbtdbpmbxWbpuabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaaaaabjbwNbwNbwNbwNbwNbwNbwNbwNbwNbwNbwNbwNbyibzMbykbylbymbynbyobypbyqbyrbysbylbytbyubyvbwPbywbyxbyyaOgbyzbyAbyBbyCbyDbyEbyFbyGbyHbrWbxhbxhbuMbyIbuObxhbxhbxhbyJaYRawgaxwaxubyKbyLbyMapratNbtFbyObyPbyQbwfbwfbwfbwfbwfbwfbwfbwfbwgbwebwfbyRbySbyTbyUbyVbyWbyVbyUbyTbyXbyYbwfbyZbwibwfbwfbwfbwfbwfbwfbwfbwfbzabvabzbbtHbtHbzcbwvbwubzdbwubwvbtLaaabvhacFbswbzebwwbwwbzfbtSbtTbtSbtVbzgbHSbCKbzhbzjbzkbzlbzmbnrbznbnBbzobzpbzqbxSbwCbzrbzsbIabhhabjabiaaaabiaaaabjaaaaaaabjabjabiabiabiabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobzubmsbtdbzvbzwbzxbzybzzbzzbLPbzzbzAbzBbzCbzDbzvbtdbmobzubmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjbwNbzEbzEbzEbzEbzFbzGbzHbzIbzJbzKbwNbzLbBsbzLbylbzNbzNbzObzNbzPbzQbzRbylbzSbBmbzTbwPbzUbzVbzWaOgbzXbzYbzZbAabAbbAcbAdbAebAfbrWbAgbAhbAibAjbAibApbAkbxhbAlbAmbAnbAnbAnbAobBWbAnbAnbAnbAnbAqbuVbuWaotbArbAsaotbAtbAubAvaosbAwbAxbAybyUbyUbAzbyUbyUbyWbyUbyUbAAbyUbABbACbADbAEaosbAFbAGbAtaotbAsbAraotbAHbvabvbbtHaaabtLbvcbAIbAKbAJbvcbtLabjbvhacFbswbALbALbALbswbsAbsBbsBbsZbAMbANbANbAObAPbAQbARbASbATbAUbAVbAWbAXbAYbAVbAZbBabBbbBcbhhaaaabjaaaabiabjabiabiabiabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -10876,36 +10875,36 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobz
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabibpmbzubmsbtdbvzbzwbBfbBebBfbtdbtdbtdbwLbBhbBfbGqbvzbtdbmobzubpuabiabiabjabiaaaaaaaaaaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaabiabjabjabjbwNbzEbGBbzEbzEbGrbGsbGubGvbGwbGxbwNbGybIpbGzbGzbGzbGzbGzbGzbGzbGzbylbGAbQpbGCbGDbGEbGFbGGbGHbGIbGIbGJbGKbGMbGLbGNbGObGQbGRbrWbGSbGTbGUbGPbGWbGXbGYbxhayibBVbGVbFnbHabGZbHbbHdbHebHcbHfbHgbvabHibHjbHjbHjbHjbHkbHkbHkbHlbHmbHkbHkbHnbHobHpbHqbHrbHsbHtbHubHvbHwbHnbHxbHybHxbHzbHxbHxbHxbHxbHxbHxbHxbHAbHBbHCbHDbHEbHFbuYbHHbHFbHFbHIbFSbHJbHKbHLbHMbHNbHObHPbFSbHQbHRbFSbMcbHTbHUbGabHVbHWbHXbHYbHZbNmbExbIbbIcbEybNVbIebLYbECbExabjabjabjabiabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabktbkubnMbzubpubtdbtdbzDbIgbIhbBfbIibIjbIkbIlbImbInbIobtdbtdbpmbzubnRbkubktaaaabiabjabjabjabjabjabjabjabjabjabjabjabjabjaaaaaaabjaaaaaaabjaaaabjaaaabiabjbwNbwNbwNbwNbwNbwNbwNbwNbwNbwNbwNbwNbLXbwTbGzbIqbIrbIsbItbIubIvbIwbKibKjbIzbEWbIAbEXbIBbICbHhbIEbIFbIGbIDbIHbIIbIKbILbIMbFhbrWbINbDFbIJbIPbIObBTbIRbxhapUbBVbIQbFnbFobHbbISbFobIUbITbIVcusbvabIXbHjbIYbIZbJabJbbJcbJdbJebJfbJgbHjbJhbJhbJhbJhbJhbJibJhbJhbJhbJhbJhbHxbJjbJkbJlbJmbJnbJobJpbJqbJrbHxbuZbvabvbbngbngbngbxxbngbqCbqCbJtbJubJvbJwbJxbJybJxbJzbJAbJBbJCbJDbFSbJEbJFbHUbGabJGbJHbJIbEubJJbJKbExbJLbJMbGpbJNbJNbJNbJNbJNbJNbJNabjabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobJObJPbJPbJQbmsbtdbzvbJRbBfbJSbJTbJTbJUbJVbJTbJWbBfbzwbzvbtdbmobJXbJPbJPbJYbnRbkuaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaZabiabjabiabjabjabjabjabjabjabjabjabjbwPbJZbylbKabKbbKcbGzbKdbKebKfbKfbKgbKhbKkbKCbLWbKlbKmbKnbKobKpbKqbEWbIAbKrbKsbKtbIWbKvbKwbKxbIMbFhbrWbKybDFbKubIPbKzbBTbKBbxhapUbBVbKAbFnbFobKDbFobFobFqbFrbDQbDRbvabIXbKEbKFbKGbKHbKIbKJbKKbKLbKMbKNbKObJhbKPbKQbKRbKSbKTbKUbKVbKQbKWbJhbKXbKYbKZbLabLbbLcbLdbLebLfbLgbHxbuZbvabvbbLhbLibLjbLkbLlbLmbLnbLnbFSbLobLpbLqbLrbLsbLtbLubLvbLwbLxbFSbLybJFbLzbLAbLBbCSbLBbLCbubbLDbJLbLEbLFbLGbJNbLHbLIbLJbLKbLLbJNabjabiabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbzubLMbrrbrsaaabtdbtdbtdbwGbLNbLObNLbCUbwLbBfbLQbwGbtdbtdbtdaaabrsbLRbLSbLTbLUbLVbVsbVsbVsbVsbVsbVsbVsbVsbVsbXFabjabjabjabjabjabjabjabjabjabjabjaaaabiabiabjabiabiabjabiabjbXGbYabPDbPEbPFbMdbMebMfbGzbMgbMhbMibMjbMkbMlbMmbIxbNTbMobMpbMqbMrbMsbMtbMubMvbMwbMxbMybMzbMAbMBbILbIMbFhbrWbMCbDFbMDbIPbBRbBTbMEbxhbMFbBVbLZbMHbMIbMJbIUbMIbMKbMGbDQbDRbvabIXbKEbMMbMNbMObMPbMQbMRbMSbMTbMUbMVbJhbMWbMXbMXbMYbMZbMYbMXbMXbNabJhbNbbKYbLbbNcbNdbNebNfbNgbLfbNhbHxbuZbvabvbbLhbNibNjbNkbNlbTdbLnbNnbNobLpbNpbNqbNrbNsbNtbNubFSbNvbNwbFSbJEbNxbHUbGabNybNzbGdbNAbNHbLDbNIbNDbNEbNFbNGbLHbNJbPybPAbNKbJNabjabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobRubmsbNMbNMbNMbNMbNMbNMbNMbNNbNMbNObNPbNQbNMbNRbNMbNMbNMbNMbNMbNMbNMbmobRvbLMbrraaaaaaabjaaaaaaabjaaaaaaaaabYlaaaaaaabjaaaaaaabjaaaaaaabjaaaabjaaaabjaaaabjaaaaaaabjaaaaaabYmabjbRwbVtbVzbNWbNXbNYbGzbNZbOabObbOcbOdbOebOfbGzbGzbGzbGzbGzbGzbOgbNUbOibylbOhbMxbOkbOlbOmbMBbOnbOobOpbrWbOqbOjbOrbOsbOtbOubOwbxhbOvbBVbOxbOybOzbOAbOBbFrbPYbPZbOCbODbvabIXbKEbOEbKGbOFbOGbOHbOIbOJbOKbOLbOMbONbOObOPbMXbMYbOQbMYbMXbORbOSbOTbOUbOVbOWbOXbOYbOZbLcbPabLcbPbbHxbuZbvabPcbLhbPdbPebPfbPgbPhbLnbPibPjbPkbPlbPmbPnbPobPpbPqbFSbPrbPsbFSbJEbJFbHUbGabHVblXbPtbHYbHZbLDbJLbPubPvbPwbPxbLHbQnbPzbQobPBbJNabjabiabjabiaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbzubPCbNMbPGbPHbPObPPbPQbNMbPIbPJbSobPLbPMbPJbPIbNMbPNbQCbQDbRtbPNbNMbPRbzubPCbkubkubkubPSbPTbPUbPVbPWbPXabjbYJbVsbVsbVsbVsbVsbZfbZfbZfbZfbZfbZfbZfbZfbZfbZfbZfbZfbZfbZfbZfbZwabjbwPbwPbwPbQbbQcbQdbGzbQebQfbUqbQhbMkbMlbQibQjbQkbQlbQmbVrbGzbQqbQAbRSbQrbQsbKsbQtbQubQvbMBbILbIMbQwbrWbrWbrWbQxbUrbrWbrWbrWbxhbUtbBVbCebDQbDQbSebIVbDQbDQbOCbQBbSgbSibSzbHjbQEbQFbQGbKNbQHbQIbQJbKMbHjbHjbJhbQKbMYbMXbQLbQMbQLbMXbMYbQNbJhbHxbHxbQObQPbQQbQRbQSbHxbQTbQUbHxcoEbSibSVbQVbLhbQWbQXbQYbLhbLnbLnbLnbFSbFSbQZbRabRbbRcbFSbFSbFSbFSbFSbRdbJFbHUbGabRebRfbRgbRhbRibRjbExbRkbRlbWhbJNbRnbQnbRobQobRpbJNbWCabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobRrbRsbNMbRxbSrbTcbUDbXmbNMbRybRzbRAbRBbRCbRDbREbRFbVjbRHbRHbRIbREbRFbRJbRKbRLbRLbRLbRLbRMbRNbROabjbRPbRQbRRabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjabjabjchwbRTbNXbRUbNYbGzbRVbOabRWbRXbRYbRZbSabSbbScbSdbScbTVbSfbTWbShbTXbSjbSkbSlbSmbSnbXEbMBbILbSpbSqbVCbStbStbSubSvbStbStbSsbSwbSxbSybTYbStbStbTZbUabSAbStbSsbXybyObSCbSDbSEbSEbSEbSEbSEbSEbSFbSEbSGbSEaaabJhbSHbSIbMXbSJbSKbSLbMXbSMbSNbJhaaabHxbSObSPbSQbSRbSSbSTbSTbSTbSTbwmbwnbSUbXCbSWbSXbSYbSZbTabTbbQzbXDbTbbTbbTebTfbTbbTgbThbThbTibTbbQzbTjbTkbTlbLAbLBbLBbLBbTmbubbLDbExbTnbNEbTobNGbTpbQnbTqbQobTrbJNabjabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbRrbTsbTtbTubTvbTwbTxbTybTzbTAbTBbTCbTDbTEbTFbTGbTHbTIbTJbTKbTLbTGbTMbTNbTObTPbTQbTRbTSbTTbTUcjlcnHcnHcoicsrcsyctIctIcsyctIctIcsyctIctIcsyctIctIcsyctIctIcsyctIctIcsyctIctIctIctIctJctYbUcbUdbUebUfbGzbUgbUhbUibUjbUkbUlbUmbUnbUobUpbUobWIbGzbWKbUsbWNbUubUvbUwbUxbUybUzbMBbUAbUBbUCcjAbUEbUEbUFbUGbUEbUEbUEbUHbUEbUFbWObUEbUEbUEbUEbUIbUEbUEbYBbUKbULbUMbUNbUObSEbUPbUQbURbUSbUTbUUbSEabjbJhbJhbJhbJhbJhbJhbJhbJhbJhbJhbJhabjbHxbUVbUWbUXbUYbUZbSTbVabVbbSTbVcbVdbVebYLbVgbVgbVgbVhbVgbVibVBbVgbVgbVgbVkbVlbVgbVmbVnbVobVgbVgbVBbVhbVpbVqbWebWrbWsbWebVubVvbVwbVxbVycsMbVAbXbbXobXqbVEbXrbVGbJNaaaabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobLTbVHbVIbVJbVKbVLbVMbVNbVIbVObVPbVQbVRbVSbVPbVTbVIbVUbVKbVMbVMbVTbVIbVVbVWbpqbpqbpqbpqbVXbVYbVZabjbWabWbbWcabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjabjbWdczwbWfbWgcgDbWibGzbWjbWkbWlbWmbWnbIqbGzbOfbWobWpbWqbOfbGzbYocbRcfBbWtbWubWvbWwbWxbWybMBbWzbWAbWBcpPbWDbWEbWFbWGbWDbWDbWEbWHbWDbWFcgCbWDbWDbWDbWJbWDbWDbWDchbbWLbvabWMcgEcgFbWPbWQbWRbWSbWTbWUbWVbSEaaaaaaabjaaaaaaaaaabjaaaaaaaaaabjaaaaaabHxbHxbWWbHxbWXbHxbSTbWYbWZbSTbuZbvabXaciAbXcbXdbXcbXebXcbXfbVDbXcbXcbXcbXhbXebXibXjbXkbXlbXkcazbVDbXnbXBbXpbGabXVbXWbXsbEublWbXtbXubXvbXwbXxbXXbXzbXzbXAbYCbNKbJNaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbzubLMbrrbrsaaabtdbtdbtdbwGbLNbLObNLbCUbwLbBfbLQbwGbtdbtdbtdaaabrsbLRbLSbLTbLUbLVbUJbUJbUJbUJbUJbUJbUJbUJbUJbVfabjabjabjabjabjabjabjabjabjabjabjaaaabiabiabjabiabiabjabiabjbVsbXFbPDbPEbPFbMdbMebMfbGzbMgbMhbMibMjbMkbMlbMmbIxbNTbMobMpbMqbMrbMsbMtbMubMvbMwbMxbMybMzbMAbMBbILbIMbFhbrWbMCbDFbMDbIPbBRbBTbMEbxhbMFbBVbLZbMHbMIbMJbIUbMIbMKbMGbDQbDRbvabIXbKEbMMbMNbMObMPbMQbMRbMSbMTbMUbMVbJhbMWbMXbMXbMYbMZbMYbMXbMXbNabJhbNbbKYbLbbNcbNdbNebNfbNgbLfbNhbHxbuZbvabvbbLhbNibNjbNkbNlbTdbLnbNnbNobLpbNpbNqbNrbNsbNtbNubFSbNvbNwbFSbJEbNxbHUbGabNybNzbGdbNAbNHbLDbNIbNDbNEbNFbNGbLHbNJbPybPAbNKbJNabjabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobRubmsbNMbNMbNMbNMbNMbNMbNMbNNbNMbNObNPbNQbNMbNRbNMbNMbNMbNMbNMbNMbNMbmobRvbLMbrraaaaaaabjaaaaaaabjaaaaaaaaabXGaaaaaaabjaaaaaaabjaaaaaaabjaaaabjaaaabjaaaabjaaaaaaabjaaaaaabYaabjbRwbVtbVzbNWbNXbNYbGzbNZbOabObbOcbOdbOebOfbGzbGzbGzbGzbGzbGzbOgbNUbOibylbOhbMxbOkbOlbOmbMBbOnbOobOpbrWbOqbOjbOrbOsbOtbOubOwbxhbOvbBVbOxbOybOzbOAbOBbFrbPYbPZbOCbODbvabIXbKEbOEbKGbOFbOGbOHbOIbOJbOKbOLbOMbONbOObOPbMXbMYbOQbMYbMXbORbOSbOTbOUbOVbOWbOXbOYbOZbLcbPabLcbPbbHxbuZbvabPcbLhbPdbPebPfbPgbPhbLnbPibPjbPkbPlbPmbPnbPobPpbPqbFSbPrbPsbFSbJEbJFbHUbGabHVblXbPtbHYbHZbLDbJLbPubPvbPwbPxbLHbQnbPzbQobPBbJNabjabiabjabiaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbzubPCbNMbPGbPHbPObPPbPQbNMbPIbPJbSobPLbPMbPJbPIbNMbPNbQCbQDbRtbPNbNMbPRbzubPCbkubkubkubPSbPTbPUbPVbPWbPXabjbYlbUJbUJbUJbUJbUJbYmbYmbYmbYmbYmbYmbYmbYmbYmbYmbYmbYmbYmbYmbYmbYJabjbwPbwPbwPbQbbQcbQdbGzbQebQfbUqbQhbMkbMlbQibQjbQkbQlbQmbVrbGzbQqbQAbRSbQrbQsbKsbQtbQubQvbMBbILbIMbQwbrWbrWbrWbQxbUrbrWbrWbrWbxhbUtbBVbCebDQbDQbSebIVbDQbDQbOCbQBbSgbSibSzbHjbQEbQFbQGbKNbQHbQIbQJbKMbHjbHjbJhbQKbMYbMXbQLbQMbQLbMXbMYbQNbJhbHxbHxbQObQPbQQbQRbQSbHxbQTbQUbHxcoEbSibSVbQVbLhbQWbQXbQYbLhbLnbLnbLnbFSbFSbQZbRabRbbRcbFSbFSbFSbFSbFSbRdbJFbHUbGabRebRfbRgbRhbRibRjbExbRkbRlbWhbJNbRnbQnbRobQobRpbJNbWCabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobRrbRsbNMbRxbSrbTcbUDbXmbNMbRybRzbRAbRBbRCbRDbREbRFbVjbRHbRHbRIbREbRFbRJbRKbRLbRLbRLbRLbRMbRNbROabjbRPbRQbRRabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjabjabjbZfbRTbNXbRUbNYbGzbRVbOabRWbRXbRYbRZbSabSbbScbSdbScbTVbSfbTWbShbTXbSjbSkbSlbSmbSnbXEbMBbILbSpbSqbVCbStbStbSubSvbStbStbSsbSwbSxbSybTYbStbStbTZbUabSAbStbSsbXybyObSCbSDbSEbSEbSEbSEbSEbSEbSFbSEbSGbSEaaabJhbSHbSIbMXbSJbSKbSLbMXbSMbSNbJhaaabHxbSObSPbSQbSRbSSbSTbSTbSTbSTbwmbwnbSUbXCbSWbSXbSYbSZbTabTbbQzbXDbTbbTbbTebTfbTbbTgbThbThbTibTbbQzbTjbTkbTlbLAbLBbLBbLBbTmbubbLDbExbTnbNEbTobNGbTpbQnbTqbQobTrbJNabjabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbRrbTsbTtbTubTvbTwbTxbTybTzbTAbTBbTCbTDbTEbTFbTGbTHbTIbTJbTKbTLbTGbTMbTNbTObTPbTQbTRbTSbTTbTUbZwchwchwcjlcnHcoicsrcsrcoicsrcsrcoicsrcsrcoicsrcsrcoicsrcsrcoicsrcsrcoicsrcsrcsrcsrcsyctIbUcbUdbUebUfbGzbUgbUhbUibUjbUkbUlbUmbUnbUobUpbUobWIbGzbWKbUsbWNbUubUvbUwbUxbUybUzbMBbUAbUBbUCcjAbUEbUEbUFbUGbUEbUEbUEbUHbUEbUFbWObUEbUEbUEbUEbUIbUEbUEbYBbUKbULbUMbUNbUObSEbUPbUQbURbUSbUTbUUbSEabjbJhbJhbJhbJhbJhbJhbJhbJhbJhbJhbJhabjbHxbUVbUWbUXbUYbUZbSTbVabVbbSTbVcbVdbVebYLbVgbVgbVgbVhbVgbVibVBbVgbVgbVgbVkbVlbVgbVmbVnbVobVgbVgbVBbVhbVpbVqbWebWrbWsbWebVubVvbVwbVxbVycsMbVAbXbbXobXqbVEbXrbVGbJNaaaabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobLTbVHbVIbVJbVKbVLbVMbVNbVIbVObVPbVQbVRbVSbVPbVTbVIbVUbVKbVMbVMbVTbVIbVVbVWbpqbpqbpqbpqbVXbVYbVZabjbWabWbbWcabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjabjbWdctJbWfbWgcgDbWibGzbWjbWkbWlbWmbWnbIqbGzbOfbWobWpbWqbOfbGzbYocbRcfBbWtbWubWvbWwbWxbWybMBbWzbWAbWBcpPbWDbWEbWFbWGbWDbWDbWEbWHbWDbWFcgCbWDbWDbWDbWJbWDbWDbWDchbbWLbvabWMcgEcgFbWPbWQbWRbWSbWTbWUbWVbSEaaaaaaabjaaaaaaaaaabjaaaaaaaaaabjaaaaaabHxbHxbWWbHxbWXbHxbSTbWYbWZbSTbuZbvabXaciAbXcbXdbXcbXebXcbXfbVDbXcbXcbXcbXhbXebXibXjbXkbXlbXkcazbVDbXnbXBbXpbGabXVbXWbXsbEublWbXtbXubXvbXwbXxbXXbXzbXzbXAbYCbNKbJNaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbzubrqbNMccxcgIchuchEcmxbNMbPIbXHbXIbXJbPMbXKbXLbNMbPNbXMbXNbXObXPbNMbrwbzubrqbrrbrrbrrbPSbXQbXRbPVbXSbXTabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjaaaabjabjbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXYbYccxEcxEcxFbQrbXZciabYbbQrclobMBbMBbYdbMBbMBbYebYfbYgbYhbYhbYibYhbYjbYjbYkcqHcrsbYkbYjbYjbYjbYjbYjbYjbYjbYjbYjbYnbuZbvabWMbtHcnWbYpbYqbYrbYsbYtbWUbYubSEbYvbYvbYvbYvbYvbYwbYwbYwbYxbYxbYxbYxbYxbSTbYybYzbYAcbzcfabYDbYEbYFbSTbuZbvabuWbYGbYHbYIbZibYKbYHbYHbYHbYHbYHbYHbVFbYHbYMbYMbYNbYObYNbYMbYMbYPbYQbYRbYSbYTbYUbYSbYVbnqbYWbYXbYYbYZbZabZbbZcbZdbZecaPbZgbJNabjabiabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobzubmsbNMbNMbNMbNMbNMbNMbNMbNMbNMbNObZhbNQbNMbNMbNMbNMbNMbNMbNMbNMbNMbmobzubmsabiaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaaaaaaaabjabjbXUbXUbXUbXUbZjbZjbZkbZlbZmbXUbXUbXUbZnbZlbZobZlcbcbXUbZpbZqbZrbZsbZtbZubZvbZvcbubZxbZybZzbZAbZBbZCbZDbZDbZEbXUbYhbZFbYhbYhbZGbZHbZIbYjbZJbZKbZLbZMbZNbZObYjbZPbZQbZRbYjbZSbZQbZRbYjbZTbZUbZVbtHcnWbZWbZXbWRbZYbZZbWUcaabSEcabcaccadcaebYvcafcagcahbYxcaicajcakcalbSTcamcancaocapcaqcarcascatbSTbwmbZUcaubYHcavcawcaxcayccObYKcaAcaBcaCcaDcaEcaFbYMcaGcaHcaIcaJcaKcaLbhfcaMbhfbLAbLBbLBbLBcaNcaOcgebExbJLcaQbGpbJNbJNcaRcaSbJNbJNbJNaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbzubnRbktbktbktbkuaaabJhcaTcaUcaVcaWcaXcaYcaVcaZcaTbJhaaabkubktbktbkubnMbzubpuabiabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabiaaacbabXUcbacbbcbbcbbcbdcbbcbebZlbZlbZlcdbcbbcbdcbbcbfcbgcbhcbicbjcbkcblcbmcbncbocbncbpcbqcbrcbscbtcfgcbvcbwcbxbXUcbycdgcbAcbBcbCcbDcbEbYjcbFcbGbZLcbHcbIcbJbYjcbKcbLcbMbYjcbNcbOcbMbYjbuZbvacbPcbQcpfbYpcbSbYrbYscbTcbUcbVbSEcbWcbXcbYcbZbYvccaccbcccbYxccdcceccfccgbSTcchcciccjcckcclccmccnccobSTbuZbvabuWbYHccpcawccqccqccqbYKccrccscctccuccvccwbXgccycczccAccBccCcaLccDccEccFbLAccGccHbhfccIccJbGgccKccLccMccNcggccPccPccQccRccSbLAaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbmobJXbJPbJPbJPbJPbJYbpubJhccTbMYccUccVccWccXccYbMYccZbJhbpmbJObJPbJPbJPbJPbJQbmsabiaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaaaaaaaabiabjcbabXUcbaabjcdccxGcxGcxGcxGcFLcbbdtIcxGcxGcxGcxGcgBbXUbXUcddbXUcdecdfcdhcdhcdhcdjcdicdkcdlcdmceTcdncdocdpcdqbXUcdrcdscdtcducdvbZHcdwbYjcdxcdycdzbZMcdAcdBbYjbYjcdCbYjbYjbYjcdCbYjbYjbuZbvabWMbtHcnWcdDcdEbWRbZYcdFcdGcdHbSEcdIcdJcdKcdLbYvcdMcdNcdObYxcdPcdQcdRcdSbSTcdTcdUcdVcdWcdXcdYcdZceabSTbuZbvabuWbYHcebceccedceeccqbYKcefcegcehceicejcekcelcemcenceocepceqcaLcercescetbGdceucevcewcexceycezceAceBceCceDceEceFceEceGceHbHWceIabjabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabrsbrrbrsbrrbLSbzubmsceJceKceLceMceNceOcePceQceLceRceSbmobzubLMbrrbrsbrrbrsaaaabjaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjabjabiaaacbabXUcbaaaaaaaabjaaaabjaaaacFabjacFaaaabjaaaabjaaacdcbXUceUceVceWceXceYceYceZcfccfbcfecfdceYcgHcffciXcfhcficfjcfkcflcfmcfncfobZHcfpbYjcfqcfrbZLbZMcfscftcfucfvcfwcfxcfycfzcfwcfAbYkbuZbvabWMctEcnWbYpcfCcfDbYsbYtbWUcfEbSEcfFcfGcfHcfIbYvcfJcfKcfLbYxcfMcfNcfOcfPbSTbSTbSTbSTcfQcfRbSTbSTbSTbSTbuZbvacfSbYHcayceccedcedcedcfTcfUcfVcfWcfXcfYcfZbYMcgacgbcgccgdcgScaLcgfchKcghcgicgjcgkbRgcglcgmbRjbLAcgncgocgpcgqcgrcgscgrcgoccSbLAaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabjabiabibmobzubmscgtcaUcgucgvcgwcgxcgycgzcgAcaUcgtbmobzubmsabiabiabiabjabiabiaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabiaaaabjabjbXUbXUbXUcmCcBUcHtcHtcJecHtcHtcJecHtcHtcJecHtcHtcKjabjcgGcibciccidcgJcigcihcgMcfccgNcfecgOcgPcikbXUbXUbXUbXUbXUcbCcgRctScgTcEFctTcgVbYjcgWcgXbZLcbHcgYcgYcgYcgYcgZcgYcgYcgYcgZchactUchcbEpbSDchdchebSEchfchgchhchibWUchjbSEchkcfGchlchmbYvchnchochpbYxchqchrcfOchschtcgQcgQchvcsLchxchychzchAchtbuZbvachBcfTchCchDcaxcaxcaxcgKchFcgLchHchIcttctVbYMchLchMchNchOchPcaLbLAbLAbLAbLAbLAbLAbLAbGachQchRbLAbLAbLAbLAbLAbJIbLAbJIbLAbLAbLAaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmchSbpubJhchTchUchVccUchWccUchXchYchZbJhbpmchSbpuabiaaaaaaabjaaaabjabjabiabiabiabjabiabiabiabiabjabiabiabiabiabjabiabiabiabiabiabjabiaaaabiaaaciebXUcieaaacKlcjHcjIcjJcjIcjIcjJcjIcjIcjJcjIcjIcjKcifcgGcibcjLcjMciicbncbncijcfccfbcjNcilcimcjObXUcincbAcipciqcdvcirciscdtcbCcbDcitbYjcgXciucivciwcixciycixcixcixcixcixcixcixcizctWbWLbvabHibSEbSEbSEciBciCciDbZZbWUciEbSEciFciGciHciIciJciKciLciMciNciOciPciQciRchtcgQcgQciSciSciTciUciSciSchtciVbwnciWcuiciYciZcjacjbcjacjccjdcjecjfcjgcjhcjibYMbYMbYMcjjcjkbYMbYMcHucjmcjncjocjpcjqcjrcjscjtcjucjvcjwcjxcjycjzcjBcjzckEcjraaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbmsbJhbJhcjCcjDbMYcjEbMYcjFcjGbJhbJhbmobrpbmsabjaaaaaaabjaaaabjaaaabjaaaabjaaaaaaabjaaaabjaaaabjaaaaaaabjaaaabjaaaaaaabjaaaaaaabiabjabiabjciebXUcieaaacKlclpcnZabjabjcoaaaaacFabjabjcqNcifcobcdacgGcibcjPcjQcjRcjScjTcjUcfccgNcfecltcmMcmNbXUcjVciocjWcjXcjZckackbckbckcckdckeckfckgckgckhckickjckjckjckjckjckjckjckjckkcklbYkbuZbvackmbSEcknckociBckpckqckrbWUcksbSEbYvcktbYvckubYvciKciLckvbYxckwbYxckxbYxchtckyckzckAckBckCcjYckDckFckGckHckIckJbYKcaxcawckKckLccqbYKckMckNckOckPckQchJbYHckRckSckTckUckVckWckXckWckWckYckWckZclaclbclccldcleclfclfclgclgclhcliclfcljabjabjabjabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmocujbmsabjbJhbJhclkcllclmcaUclnbJhbJhabjbmocvSbmsabiabjabjabjabjabiabiabiabiabiabiabjabiabiabiabiabiabjabiabiabiabiabjabiabiabjabjabiaaaabiaaaciebXUcieaaacNncuOabjaaaaaaacFabjacFaaaaaaabjaaacobcgGcgGcgGclqclrclsbXUbXUcmPcfccfbcfecluclvclvclvclvclvclwclvclvclvclvclvclvclxclyclzclAclAclBbZMclCclCckjclCclCclDclEclFclGclHbYjbuZbvabIXbSEclIclJclKclLclMclNclOclPbSEaaaabjbHjclQclRclSclTclRclUclVbHjabjaaachtclWclXclYclZcmacmbcmccmdchtbuZbvacmebYHcmfcawccqcmgccqbYKcmhcmicmjcmkcmlcmmbYHcmncmocmpcmqcmrcmrcmscmrcmscmtcmucmvcmwcmycmzcmFcmAcmBcutcmDcmEcmHcmGcnFcmIaaaabjaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbrpbpuabjabjbJhcmJbJhcgtbJhcmKbJhabjabjbpmbrpbpuabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjabjbXUbXUbXUcmLcKlclpabjaaaacFacFacFacFacFaaaabjaaacobcgGcmQcmRcmScmTcmUcmWbXUcmOcfccgNcoccohcmVczHcopcmYcmZcnacIPcnccndcnecnfclwbZHcngbYjcnhcnicnjbZMckjckjckjckjckjcnkcnlcnmcnlcnnbYjbuZbvabIXbSEcnocnpciBbUTcnqcnrcnscntbSEaaaabjbHjcnucnvcnwcnxcnvcnvcnybHjabjaaachtcmXcnzcnAcnBcnCcnDcnEcnGchtbuZbvabuWbYHcvucawcaxcnIccqbYKcnJcnKcnLcnMcnMcnNbYHchGcnPcnPcnPcnPcnPcnPcnPcnPcnPcnQcnRcjrcnScnTcjrcjrcjrcjrcjrcjrcmIcnUcjrcmIaaaabiaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbPCbkubktbktcnVbktcNZbktcnXbktbktbkucnYbrpbmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaciebXUcieaaacKlclpcuQacFacFcwtcjIcqOacFacFacFacFcobcgGcpicodcoecofcogcpkcppcojcokcfbcolcomconcoocqPcoscorcotcnbcndcoucphcovclvbZHcirbYjcowclCbZLbZMclCclCckjclCclCcoxcnlcnlcoycozbYjcoEbSibSzbSEbSEbSEbSEbSEcoAbSEcoBbSGbSEbHjcoCbHjcoDckvciKciLckvckvcoDbHjcoCbHjchtchtcoqchtcoFcoGchtcoHchtchtcoEbSicqmbYHcoIcawcaxcoJcoKbYHcoLcoMcoNcoOcoMcoPbYHcoQcoRcoRcoRcnPcoScoScoTcoTcnPcoUcoVcjncqicoXcoYboHcoZcpabngaaaabjaaaabjaaaaaaabjaaaabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbpmcpbbpobpobpobpocpcbmqbmqbmqcpdbpobpobpobpocpebmsabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaabiabjabiabjciebXUcieaaacOmcuOaaaabjacFclpcpgcqQacFabjaaaaaacuPcpjcrdcplcpmcpncpocsmcpqcprcpscptcpucpvcpwcpxcpycpzcpzcpAcpzcpycpBcpCcpDcpEcpFcpGbYjcpHckjcivcpIcpJcpJcpJcpJcpKcpLcnlcnlcnlcpMbYjbuZcpNcpOcxOcpQcpQcpQcpQcpRcpQcpScpTcpUcpVcpWcpXcpYcpZcqacqbcqccqccqdcqecqfcqgcqccqccqhcqjcqkcqlcrecqccqccrQcqncqocqpbYHcqqcecchCcqrchCcqschCcqtcqtcqtcqtcqubYHcqvcqwcqwcqwcqxcqycqzcqAcqBcnPcqCcqDcqEcqEcqFcqGbHFcsbcqIcqJaaaabjaaaabjaaaaaaabjaaaabjaaaabjaaaaaaabjabjaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabrsbrrbrsbrrbLScqKcqLbnPcqLcqMbLMbrrbrsbrrbrsaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiaaaciebXUcieaaacKlclpacFacFacFcwvdvUcwuacFacFczicifcobcgGcpicqRcqScqTcqUcsncppcqWcqXcqYcqVcqZcracrbcsocrfcrgcrgcnbcnbcnbcrhcswclvcricrjbYjclCclCbZLbZMclCclCcrkclCclCcrlcrmcrncrocrpbYjbwmcrqcrrcBgcrtcrtcrucrtcrvcrwcrxcrycrzcrtcrAcrBcrCcrDcrEcrFcrGcrHcrIcrJcrKcrLcrLcrMcrNcrLcrOcrPcrLcrLcrLcsXcrRcrScrTbYHbYHbYIbZicrUbYHbYHbYHbYHbYHbYHbYHbYHbYHcrVcrWcrWcrXcrWcrYcrWcrZcsacscctccoVbqCcsdcsecsfboHcsgcshbngabjcsicsicsjcsjcsjcsjcsjcsjcsjcsjcsjcsjcsiabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabibpmcskbpqbpqbpqcslbpuabiabiabiabjabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabjabjbXUbXUbXUcmLcKlclpabjaaaacFacFacFacFacFaaaabjaaacobcgGcspcsqcsqcDGcsucsvbXUctFcfccgNcrccsscmVcstcuRcINcrgcsxcszcsAcuTcsBcsCclvcsDcsEbYjbYjbYkcsFcsGbYkbYjcsHbYjbYjbYjbYjcsIcsHcsJbYjbuZbvabqAcsKcsKcsKctXcsKcsKcsKcupcsKcsKcsKcsNbHjcsOcsPcsQcsRcsScsTcsUbHjcsNcsVcsVcsWcsYcsVcsVcsVcsZctactkcsVbuUbvactbcBhctdctectfctgcthcthcnOcthcthctjcthcthcwactlctmctnctoctpctqctrctscoWcnPctuctvbqBcjnbngbqCbngbngbngbngcqJcsictwctxctxctyctzctActBctBctBctCctDcsjabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabrrbrsbrrbrsbrraaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaciebXUcieaaacPKcuOabjaaaaaaacFabjacFaaaaaaabjaaacobcgGcgGcgGclqclrclsbXUbXUcuWcfccfbctGbXUclvclvclvclvclvclvclvclvclvclvclvclvbZHcirbYjbZOctHbZLbZMctOctNctKctLbYjctMctNctOctHctPbYjbuZbvactQcsKctRcBicvvcvwcvxcvwcvycvzcDscsKabjctZcuacubcuccudcuecufcugcuhabjcsVcukculcumcuXcvJcsVcsVcsVcsVcsVcunbvacuocCYcuqcuqcurcuscuqcuqcticuqcuqcuucuqcuvcuwcuxcrWcrWcuycuzcuAcuBcuCcuDcnPcuEcuFckVckWcuGcuHcuHckXckWcuHcLmcuIcuKcuLcuMcuMcuMcuMcuMcuMctBctCcuNcsjabjaaaabjaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjciebXUcieaaacKlclpdExabjabjacFaaadQCabjabjdQDcifcobcdacgGcibciccuUcuScxLcjTczjcfccgNcuVclvcwycuYcuZcvacwBclvcvbcvccvdcvccvccvecvfcvgbYjcvhcrncvicvjcvkcvlcvmcvnbYjcvocvpcvqbZNcvrbYjcvsbvabqAcsKcvtcvAcwScwTcwUcwWcwXcxQcvBcvCabjcsNcvDcvEcvEcvFcvGcvGcvHcsNabjcvIcvKcvLcvMcvNcvYcvOcvPcvQcvRcsVbqmbwnbsfddkbshbshcvTcvUbshbshdWObsobsocvWbsocvXcJccvZcxdcwbcwccwccwccwdcwecwfcnPcwgcmscwhcwhcwicwjcmqcmrcmrcmscwkcwlcwmcwncwocwpcwpcwpcwqcwocwrctCcwscsjabjabjabjabjabjabjabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaciebXUcieaaacKldQEdvUdUEdvUdvUdUEdvUdvUdUEdvUdvUdUFcifcgGcibcjLcjMcwwcbncbncijcfccfbcrccwxcxHcwzcwAcwzcxIclvcdwbYhbYhbYhcfnbYhcwCcwDbYjcwEcwFcwGcwHcwIcwJcwKcwLbYjcwMcwNcwOcwPcbKbYjbuZbvacwQcsKcwRcyecyfcyqcwVczIcyfcBfcwYcsKcwZcxacxbcwZcxacxacxacwZcxccxacwZcsVcxecxgcxfcxhcxJcxicxjcxkcxlcsVcxmbvabuWcxncxncxncxncxncxncxocxncxncxncxncxncxncxncxpcrWcxqcxrcxscxtcxucxvcxwcnPaFxaFxaFxaFxaFxaFxaFxaFxaFxaFxaFxaFxctxcxxcxycxzcxAcxAcxBcxCcxDcsjcsjcsicsjcsjcsjcsjcsjcsicsjcsjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjbXUbXUbXUcJdcPXcHtcHtcPYcHtcHtcPYcHtcHtcPYcHtcHtdbAabjcgGcibcjPcidcgJczpczrcgMcfccgNcABcxKcAAcxMcxNcpycxRclvcdwcxPcxScxTcznczocxUcsEbYjcxVcxWcxXcxYcxZctOcyacybbYjbYjcycbYjbYjbYjbYjbuZbvabqAcsKcydcyecyfcyqcBjczIcyfcBkcygcsKcyhcyicyjcykcylcymcyncykcyocyicypcsVcyrcytcyscyucyIcyvcywcyxcyycsVcyzbvacyAcxncyBcyCcyDcyEcyFcyGcyHczUczUczUcyJcyFcyEcyKcyLcyMcyNcyOcyPcyQcyRcyScnPcyTcyUcyVaFxaKhcyWcyXaFxcyYcyZczaaFxczbczcctCczdczeczeczfczgczhcsjaaaabjaaaaaaabjaaaaaaabjaaacsjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabjabiabibmobzubmscgtcaUcgucgvcgwcgxcgycgzcgAcaUcgtbmobzubmsabiabiabiabjabiabiaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabiaaaabjabjbXUbXUbXUcmCctYczwczwcBUczwczwcBUczwczwcBUczwczwcHtabjcgGcibciccidcgJcigcihcgMcfccgNcfecgOcgPcikbXUbXUbXUbXUbXUcbCcgRctScgTcEFctTcgVbYjcgWcgXbZLcbHcgYcgYcgYcgYcgZcgYcgYcgYcgZchactUchcbEpbSDchdchebSEchfchgchhchibWUchjbSEchkcfGchlchmbYvchnchochpbYxchqchrcfOchschtcgQcgQchvcsLchxchychzchAchtbuZbvachBcfTchCchDcaxcaxcaxcgKchFcgLchHchIcttctVbYMchLchMchNchOchPcaLbLAbLAbLAbLAbLAbLAbLAbGachQchRbLAbLAbLAbLAbLAbJIbLAbJIbLAbLAbLAaaaabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmchSbpubJhchTchUchVccUchWccUchXchYchZbJhbpmchSbpuabiaaaaaaabjaaaabjabjabiabiabiabjabiabiabiabiabjabiabiabiabiabjabiabiabiabiabiabjabiaaaabiaaaciebXUcieaaacJecjHcjIcjJcjIcjIcjJcjIcjIcjJcjIcjIcjKcifcgGcibcjLcjMciicbncbncijcfccfbcjNcilcimcjObXUcincbAcipciqcdvcirciscdtcbCcbDcitbYjcgXciucivciwcixciycixcixcixcixcixcixcixcizctWbWLbvabHibSEbSEbSEciBciCciDbZZbWUciEbSEciFciGciHciIciJciKciLciMciNciOciPciQciRchtcgQcgQciSciSciTciUciSciSchtciVbwnciWcuiciYciZcjacjbcjacjccjdcjecjfcjgcjhcjibYMbYMbYMcjjcjkbYMbYMcHucjmcjncjocjpcjqcjrcjscjtcjucjvcjwcjxcjycjzcjBcjzckEcjraaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbmsbJhbJhcjCcjDbMYcjEbMYcjFcjGbJhbJhbmobrpbmsabjaaaaaaabjaaaabjaaaabjaaaabjaaaaaaabjaaaabjaaaabjaaaaaaabjaaaabjaaaaaaabjaaaaaaabiabjabiabjciebXUcieaaacJeclpcnZabjabjcoaaaaacFabjabjcqNcifcobcdacgGcibcjPcjQcjRcjScjTcjUcfccgNcfecltcmMcmNbXUcjVciocjWcjXcjZckackbckbckcckdckeckfckgckgckhckickjckjckjckjckjckjckjckjckkcklbYkbuZbvackmbSEcknckociBckpckqckrbWUcksbSEbYvcktbYvckubYvciKciLckvbYxckwbYxckxbYxchtckyckzckAckBckCcjYckDckFckGckHckIckJbYKcaxcawckKckLccqbYKckMckNckOckPckQchJbYHckRckSckTckUckVckWckXckWckWckYckWckZclaclbclccldcleclfclfclgclgclhcliclfcljabjabjabjabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmocujbmsabjbJhbJhclkcllclmcaUclnbJhbJhabjbmocvSbmsabiabjabjabjabjabiabiabiabiabiabiabjabiabiabiabiabiabjabiabiabiabiabjabiabiabjabjabiaaaabiaaaciebXUcieaaacKjcuOabjaaaaaaacFabjacFaaaaaaabjaaacobcgGcgGcgGclqclrclsbXUbXUcmPcfccfbcfecluclvclvclvclvclvclwclvclvclvclvclvclvclxclyclzclAclAclBbZMclCclCckjclCclCclDclEclFclGclHbYjbuZbvabIXbSEclIclJclKclLclMclNclOclPbSEaaaabjbHjclQclRclSclTclRclUclVbHjabjaaachtclWclXclYclZcmacmbcmccmdchtbuZbvacmebYHcmfcawccqcmgccqbYKcmhcmicmjcmkcmlcmmbYHcmncmocmpcmqcmrcmrcmscmrcmscmtcmucmvcmwcmycmzcmFcmAcmBcutcmDcmEcmHcmGcnFcmIaaaabjaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibpmbrpbpuabjabjbJhcmJbJhcgtbJhcmKbJhabjabjbpmbrpbpuabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjabjbXUbXUbXUcmLcJeclpabjaaaacFacFacFacFacFaaaabjaaacobcgGcmQcmRcmScmTcmUcmWbXUcmOcfccgNcoccohcmVczHcopcmYcmZcnacIPcnccndcnecnfclwbZHcngbYjcnhcnicnjbZMckjckjckjckjckjcnkcnlcnmcnlcnnbYjbuZbvabIXbSEcnocnpciBbUTcnqcnrcnscntbSEaaaabjbHjcnucnvcnwcnxcnvcnvcnybHjabjaaachtcmXcnzcnAcnBcnCcnDcnEcnGchtbuZbvabuWbYHcvucawcaxcnIccqbYKcnJcnKcnLcnMcnMcnNbYHchGcnPcnPcnPcnPcnPcnPcnPcnPcnPcnQcnRcjrcnScnTcjrcjrcjrcjrcjrcjrcmIcnUcjrcmIaaaabiaaaabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibmobrpbPCbkubktbktcnVbktcKlbktcnXbktbktbkucnYbrpbmsabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaciebXUcieaaacJeclpcuQacFacFcwtcjIcqOacFacFacFacFcobcgGcpicodcoecofcogcpkcppcojcokcfbcolcomconcoocqPcoscorcotcnbcndcoucphcovclvbZHcirbYjcowclCbZLbZMclCclCckjclCclCcoxcnlcnlcoycozbYjcoEbSibSzbSEbSEbSEbSEbSEcoAbSEcoBbSGbSEbHjcoCbHjcoDckvciKciLckvckvcoDbHjcoCbHjchtchtcoqchtcoFcoGchtcoHchtchtcoEbSicqmbYHcoIcawcaxcoJcoKbYHcoLcoMcoNcoOcoMcoPbYHcoQcoRcoRcoRcnPcoScoScoTcoTcnPcoUcoVcjncqicoXcoYboHcoZcpabngaaaabjaaaabjaaaaaaabjaaaabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbpmcpbbpobpobpobpocpcbmqbmqbmqcpdbpobpobpobpocpebmsabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaabiabjabiabjciebXUcieaaacNncuOaaaabjacFclpcpgcqQacFabjaaaaaacuPcpjcrdcplcpmcpncpocsmcpqcprcpscptcpucpvcpwcpxcpycpzcpzcpAcpzcpycpBcpCcpDcpEcpFcpGbYjcpHckjcivcpIcpJcpJcpJcpJcpKcpLcnlcnlcnlcpMbYjbuZcpNcpOcxOcpQcpQcpQcpQcpRcpQcpScpTcpUcpVcpWcpXcpYcpZcqacqbcqccqccqdcqecqfcqgcqccqccqhcqjcqkcqlcrecqccqccrQcqncqocqpbYHcqqcecchCcqrchCcqschCcqtcqtcqtcqtcqubYHcqvcqwcqwcqwcqxcqycqzcqAcqBcnPcqCcqDcqEcqEcqFcqGbHFcsbcqIcqJaaaabjaaaabjaaaaaaabjaaaabjaaaabjaaaaaaabjabjaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabrsbrrbrsbrrbLScqKcqLbnPcqLcqMbLMbrrbrsbrrbrsaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiaaaciebXUcieaaacJeclpacFacFacFcwvdvUcwuacFacFczicifcobcgGcpicqRcqScqTcqUcsncppcqWcqXcqYcqVcqZcracrbcsocrfcrgcrgcnbcnbcnbcrhcswclvcricrjbYjclCclCbZLbZMclCclCcrkclCclCcrlcrmcrncrocrpbYjbwmcrqcrrcBgcrtcrtcrucrtcrvcrwcrxcrycrzcrtcrAcrBcrCcrDcrEcrFcrGcrHcrIcrJcrKcrLcrLcrMcrNcrLcrOcrPcrLcrLcrLcsXcrRcrScrTbYHbYHbYIbZicrUbYHbYHbYHbYHbYHbYHbYHbYHbYHcrVcrWcrWcrXcrWcrYcrWcrZcsacscctccoVbqCcsdcsecsfboHcsgcshbngabjcsicsicsjcsjcsjcsjcsjcsjcsjcsjcsjcsjcsiabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabibpmcskbpqbpqbpqcslbpuabiabiabiabjabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabjabjbXUbXUbXUcmLcJeclpabjaaaacFacFacFacFacFaaaabjaaacobcgGcspcsqcsqcDGcsucsvbXUctFcfccgNcrccsscmVcstcuRcINcrgcsxcszcsAcuTcsBcsCclvcsDcsEbYjbYjbYkcsFcsGbYkbYjcsHbYjbYjbYjbYjcsIcsHcsJbYjbuZbvabqAcsKcsKcsKctXcsKcsKcsKcupcsKcsKcsKcsNbHjcsOcsPcsQcsRcsScsTcsUbHjcsNcsVcsVcsWcsYcsVcsVcsVcsZctactkcsVbuUbvactbcBhctdctectfctgcthcthcnOcthcthctjcthcthcwactlctmctnctoctpctqctrctscoWcnPctuctvbqBcjnbngbqCbngbngbngbngcqJcsictwctxctxctyctzctActBctBctBctCctDcsjabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaabrrbrsbrrbrsbrraaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaciebXUcieaaacNZcuOabjaaaaaaacFabjacFaaaaaaabjaaacobcgGcgGcgGclqclrclsbXUbXUcuWcfccfbctGbXUclvclvclvclvclvclvclvclvclvclvclvclvbZHcirbYjbZOctHbZLbZMctOctNctKctLbYjctMctNctOctHctPbYjbuZbvactQcsKctRcBicvvcvwcvxcvwcvycvzcDscsKabjctZcuacubcuccudcuecufcugcuhabjcsVcukculcumcuXcvJcsVcsVcsVcsVcsVcunbvacuocCYcuqcuqcurcuscuqcuqcticuqcuqcuucuqcuvcuwcuxcrWcrWcuycuzcuAcuBcuCcuDcnPcuEcuFckVckWcuGcuHcuHckXckWcuHcLmcuIcuKcuLcuMcuMcuMcuMcuMcuMctBctCcuNcsjabjaaaabjaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabjabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabiabjciebXUcieaaacJeclpdExabjabjacFaaadQCabjabjdQDcifcobcdacgGcibciccuUcuScxLcjTczjcfccgNcuVclvcwycuYcuZcvacwBclvcvbcvccvdcvccvccvecvfcvgbYjcvhcrncvicvjcvkcvlcvmcvnbYjcvocvpcvqbZNcvrbYjcvsbvabqAcsKcvtcvAcwScwTcwUcwWcwXcxQcvBcvCabjcsNcvDcvEcvEcvFcvGcvGcvHcsNabjcvIcvKcvLcvMcvNcvYcvOcvPcvQcvRcsVbqmbwnbsfddkbshbshcvTcvUbshbshdWObsobsocvWbsocvXcJccvZcxdcwbcwccwccwccwdcwecwfcnPcwgcmscwhcwhcwicwjcmqcmrcmrcmscwkcwlcwmcwncwocwpcwpcwpcwqcwocwrctCcwscsjabjabjabjabjabjabjabjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaciebXUcieaaacJedQEdvUdUEdvUdvUdUEdvUdvUdUEdvUdvUdUFcifcgGcibcjLcjMcwwcbncbncijcfccfbcrccwxcxHcwzcwAcwzcxIclvcdwbYhbYhbYhcfnbYhcwCcwDbYjcwEcwFcwGcwHcwIcwJcwKcwLbYjcwMcwNcwOcwPcbKbYjbuZbvacwQcsKcwRcyecyfcyqcwVczIcyfcBfcwYcsKcwZcxacxbcwZcxacxacxacwZcxccxacwZcsVcxecxgcxfcxhcxJcxicxjcxkcxlcsVcxmbvabuWcxncxncxncxncxncxncxocxncxncxncxncxncxncxncxpcrWcxqcxrcxscxtcxucxvcxwcnPaFxaFxaFxaFxaFxaFxaFxaFxaFxaFxaFxaFxctxcxxcxycxzcxAcxAcxBcxCcxDcsjcsjcsicsjcsjcsjcsjcsjcsicsjcsjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjbXUbXUbXUcJdcOmczwczwcPKczwczwcPKczwczwcPKczwczwcPXabjcgGcibcjPcidcgJczpczrcgMcfccgNcABcxKcAAcxMcxNcpycxRclvcdwcxPcxScxTcznczocxUcsEbYjcxVcxWcxXcxYcxZctOcyacybbYjbYjcycbYjbYjbYjbYjbuZbvabqAcsKcydcyecyfcyqcBjczIcyfcBkcygcsKcyhcyicyjcykcylcymcyncykcyocyicypcsVcyrcytcyscyucyIcyvcywcyxcyycsVcyzbvacyAcxncyBcyCcyDcyEcyFcyGcyHczUczUczUcyJcyFcyEcyKcyLcyMcyNcyOcyPcyQcyRcyScnPcyTcyUcyVaFxaKhcyWcyXaFxcyYcyZczaaFxczbczcctCczdczeczeczfczgczhcsjaaaabjaaaaaaabjaaaaaaabjaaacsjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaaciebXUcieaaaaaaabjaaaabjaaaacFabjacFaaaabjaaaabjaaacCfbXUdWiceVcACczkczlczlczmcfccfbdWaczscCdczqczuczqdltclvcztcxPcAHcbCczvcAJcwCczxbYjczycrnczzczAcixczBczCcvlclzczDczEczFcbCczGbYhbuZbvabqAcsKdzRcyecyfcyqcBlczIcyfcBfcwYcsKczJczKczLczMczNczOczPczQczRczSczTcsVczWcytczVczXczZczYcAacAbcBvcsVbuUbvabuWcxncAccAdcAccAecAfcAgcAhcAfcAfcAicAfcAjcxncAkcrWcrWcrXcrXcrWcAlcxvcAmcnPaFvaFvcAnaFxcAocApcAqaFxcyYcArcAsbmWcAtczccuMcAucAucAucuMczgcAvcsjaaacAwcAxcAxcAycAxcAxcAzaaacsjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiabjciebXUcieabjcdacCgcCgcCgcCgcbbcbbcbbcCgcCgcCgcCgdqQbXUbXUcddbXUcADcAEcAFcAFcAFcCecAGcANcAIcAOcAKcALcAMcARclvcitbYhcCicAPcAQcCqcCscASbYjbZKcATctHcAUcAVcAWcAXcAYcFMcBacgUcBbcBccBdbYhbuZbvabqAcsKcBecCDcCEcCFcCGcCHcCIcCJcBmcsKcBncBocyjcBpcBqcBrcBscBtcyocBocBucsVcBwcBxcBycBzcBBcBAcBCcBDcBHcsVbuUbvabuWcxncBEcBFcBFcBGcCUcBIcBJcBKcBKcBLcBMcBKcBNcBOcBPcBPcBPcBQcBRcBScBTcYhcnPcBVaFvaFwaFxcBWcAqcBXaFxcBYcArcAsbmWcBZczccuMcuMcuMcuMcuMczgcAvcsjabjcCacCbcCbcCccCbcCbcCaabjcsjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabiaaaciebXUciecbbcbbcbbcDtcbbcDucDvcDvcDvcDwcbbcDtcbbcChcCkcCjcbicClcDycCmcCncbncbocCocCpcCvcCrcDBcCtcCucCtcDCclvcCwcCxcCycCzcCAcbCcwCcsEbYjbYjbYjbYjbYjbYjbYjbYjbYjbYjcCBcgUcBccbCcgTbYhbuZbvabqAcsKcCCcDOcEbcEccEdcErcEscENcCKcsKcCLcCMcyjcCNcCOcCPcCQcCRcyocCScCTcsVcCVcCWcCXdtecDacCZcDbcDccDfcsVbuUcDdbuWcxncDecxncDecxncEjcDgcxncDhcxncDhcxncDhcxncDicDjcDkcDlcnPcDmcDncDocDpcnPcDqaFvaHAaFxcAqcAqaKkaFxcyYcArcAsaFxctxczccAucDrcDrcDrcAuczgcAvcsjaaacCacCbcCbcCbcCbcCbcCaaaacsjabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjabjbXUbXUbXUbXUcDxcDxdCxcDvdUGbXUbXUbXUdUHcDvdUIcDvdVybXUcDzdWbcDAcDEcdhcDFcDDduPcDHcDIcDJclvcDKcDLcDMcEDcGbclvcdwbYhcDNcEOcDPcDQcwCcDRcDScDTcDUcDScDScDScDTcDVcDScDTcDWcDXcDYcDZcEabYhbuZbvabqAcsKcsKcsKcsKcEPcEQcERcsKcsKcsKcsKcEecEfcxbcxacEgcEhcEicxacxccEfcEecsVcsVcsWcEkcsVcsVcsVcElcEpcEpcsVbuUbvabuWbngcEmcjpboGcxncEncDgcxncEocxncEqcxncFbcxncnPcnPcnPcnPcnPcnPcuJcuwcvVcnPaFxcEtaFxaFxaFxcEuaFxaFxbmWcEvbmWaFxctxczccEwcExcExcExcEyczgcxDcsjcsjcCacCbcCbcCbcCbcCbcCacsjcsjcsjcsicsjcsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaabjcEzcEzbXUbXUbXUbXUbXUbXUcEAbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUbXUcEBcECdWhbXUbXUclvclvclvclvclvclvclvcitbYhcCxbYhbYhbYhcwCcEEcdtcgTcbCcbCcEFcgTdmybYhcgTcbCcEGcgUcbCcEHcEIcEJchccEKcELcFpcEMboycGYcHDcIfcITcIUcEScETcEUboyboycEVboyboycEWboqboocEXbooboocEYboocEZcFabooboocFfcGKcGKcGKcGLbosbEpcFcbngcFdboGcjncxncFecJlcxncxncxncDecDecFgcFgcFhcFicFjcFkaFxcFlcFmcFncFocFwcFqcFqcFqcFrcFqcFscFtcFucFvcFtcFtcFwcFxcFycFzczeczecFAcFBcFCcFDcFEcFFcFGcCbcCbcCbcCbcCbcFHcFFcFEcFIcFJcFKcsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFacFacFacFdbFcGwcFNcIucFPcFQcbCcbCcFQcFRcFScFTcFUczDcFUcFVcFUcFWcFXcFYcFYcFZcGacGdcGccHlcGecGecGfcGgcGhcGicGicGicGjcGkcGicGlcGecGecGlcGmcGncGockcckbckbckbckbcGpcGqckcckbcGrcGscGtcGucGvcIzcGxcGybqudxVbqubqubqubqvbqubqubqxbqubqubqubqubqucGzbqubqucGAcGBbqubqubqubqubqubqubqvbqxbqubqubqubqubqubqudxVcGCcGDcGEcGFckWcGGcGHcGIcGJdzickVckWckWckWckWcLmcGFcLmcGMcGNcGOaFxcGPcGQcGRcGSbmWcGTcGUcGVcGWcGUcGUcGUcGUcGRcGUcGTbmWcGXcIscFzczeczeczecGZczgcHacsjcsicsjcCbcCbcCbcCbcCbcsjcsicsjcHbcHccHdcsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFacFacFacFcPYcGwcFNcIucFPcFQcbCcbCcFQcFRcFScFTcFUczDcFUcFVcFUcFWcFXcFYcFYcFZcGacGdcGccHlcGecGecGfcGgcGhcGicGicGicGjcGkcGicGlcGecGecGlcGmcGncGockcckbckbckbckbcGpcGqckcckbcGrcGscGtcGucGvcIzcGxcGybqudxVbqubqubqubqvbqubqubqxbqubqubqubqubqucGzbqubqucGAcGBbqubqubqubqubqubqubqvbqxbqubqubqubqubqubqudxVcGCcGDcGEcGFckWcGGcGHcGIcGJdzickVckWckWckWckWcLmcGFcLmcGMcGNcGOaFxcGPcGQcGRcGSbmWcGTcGUcGVcGWcGUcGUcGUcGUcGRcGUcGTbmWcGXcIscFzczeczeczecGZczgcHacsjcsicsjcCbcCbcCbcCbcCbcsjcsicsjcHbcHccHdcsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaabYhbYhbYhbYhcHecHfcHgcHhcHhcFOcHjcHkcHhcHhcHhcHgcHfdWgcHmcHncHocHpdrscHqcpFcHrcdtcdtcBccbCcHscHvcHvcHvcHvcHvcHvcHvcHvcHvcHvdencHvcHvcHvcHvcHvcHvcHvcHvcHvcHvcHvcHvcHwcHxcHycHzcHAcHBbsocHCddlbsocHEcHFcHGbsobsobsobsobsocHCbsobsobspcHHcHIcHJcHKcHLcHMcHMcHMcHMcHMcHNcHMcHMcHMcHOcHMcHMcHMdWOcHPbshcHQcHRcmtcHScHTcHUcHVcHWcmtcHXcHXcHXcHXcHXcHXcHXcmvcHYcHZcIacIbcIccIdcIecImcIgcIgcIhcIicIgcIjcIkcIkcIlcIkcIkcImcIncIocIpcIqczeczecGZczgcHacsjcsicsjcCbcCbcCbcCbcCbcsjcsicsjcIrcJmcItcsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabiabjbYhcjVcJLbYhcIvcducIwcIxcIycJMcIAcIxcIxcIxcIxcIBcICcHicIAcIxcIxcIxcIxcirbZHdtUcHgcIFcdtcbCcIGcEzcIIcIJcIKcILcIMcSicIMcILcIMcSlcIMcILcIMcSqcIMcILcIOcIOcSCcIOcIOcEzcIQcIRcdwcISbYhbvVddmddncIVcIWcIXcIYcIYcIWcIWcIZcIWcIWcIYcJacIWcIWcJbdEjdEldEmcJfcJgcJgcJhcJhcJgcJgcJicJgcJgcJjcJhcJgcJgcJkdWPdWQdWRbngcJnboGboGboGcJocJpboGcJqcJrcJscJtcJucJvcJqctvcJwcJxaFxaFxaFxaFxaFxaFxaFxcEuaFxaFxaFxcJyaFxaFxbmWcEvbmWaFxcJzczccJAcJBcJBcJBcJCczgcJDcJEcJFcJGcCbcCbcCbcCbcCbcJHcJFcJEcJIcJJcFKcsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabiaaacJKcJPcJQcjXcJNcJOcIxcKtcLxcJRcIDcJTcIxcJScJUcJVcJWcJXcJYcJZcKacKbcIxcKccKdcKecKfcKgcKhczDcKidgrcKkcKmcLQcILcIMcKncIMcILcIMcKocIMcILcIMcKncIMcILcIOcKpcKqcKpcIOcKrcKrcKscLBcKucKvcKvcKvcKvcKvcKwcKxcKycKycKzcKAcKBcKCcKDcKEcKFcKGcKHcKIcKJcKKcKLcJkcKMcKNcKOcKOcKPcKQcKRcKScKTcKUcKVcKWcKXcKYcKYcKYcKYbngcKZcLacLbcLcboGboGboGcJqcLdcLecLfcLfcLgcLhcLicLjcLkcLlcLmcGFcMEcLnaFxcAqcAqcLoaFxcLpcLpcLqaFxcyYcArcLraFxcLsczccLtcLucLucLucLtczgcLvcsjcsjcLwcCbcCbcCbcCbcCbcLwcsjcsjcsjcsicsjcsjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -10921,19 +10920,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabiabjcCxcCxcCxbYhbYhcJKbYhbYhbYhcCxcLzcLzcLzbYhbYhbYhbYhcwCcZkcZlcLzcLzcfncLPcXWczDczDcZmdHkcFUcKecZncFUcFUcZocEzcIMcKocIMdaDcIMcKncIMcILcIMcKocIMcIHdtodtHdhSdvNcKrcKrcKrcYscYtcYucZtcYvcYzcYAcZtcZtcYBcKIcZrcZxcTRcZscZzcZAcZBcWZddrcTRcTQcVAcKKcYCcXecXecZDdgodlWdoCdoEddVcXecKYcZHcZIcJgcKYcKYcZJcSHcRocMxcPOcZKcZLcMxcZMcZNcZPdbscUrdbtdbucXldbvcWdcWddbwdcDcUrcWdcWdcqCcZTdcFdcGdcHdcIddRdemdeodepdeqctudadcqJabjaaaabjaaaabjabjabjabjabjabjabjabjabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabjabjabjaaaabjabjabjabjabjabjaMWdaeaUpdbGdagdahdaiaOsdajdakdalddddanaOscfndaockbdapdaqdapdapckcdaqdaqdaqdardascEzcIMdoQcIMcILcIMdpPcIMcILcIMdpZcIMcIHcNDdaudaudavdawdqqdaydazdaAdaBcZucNLdaCdaydtSdaydaEdaFdaGcNLcZvdaIdaJdaKdaLcWZdaMcVzdaNcVAcKKdaOdaPdaQdbddcgdaTdaUdaVdaWdaXdaYdaZcPGcPGcPGcPGdbadbbdbcdcidbedbfdbgcPGdbhdbidbjdbkdcAdebdbedbedbedbldbedbmdbcdbedbndbodbpdbqcXJderdlBduydxMdAXdemdGVcXJdbxdbybngbngcqJcqJcqJabjaaaaaaabiabiaaaabiabiaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabiabiabiabjabiabiabiabjabjdbzaUpdfQdbBdbCdbDdbEdfTdbEdfUdhCdbHdbIdbJcZtdbKcZtdbLcZtdbLcZtcZtdbMcZtcZtcEGdbNcEzcEzddiddiddiddiddiddiddiddiddiddiddidbOcMmcMldbPdbQcMmcMldbRdbSdbTcZycMicMhcMidbVcMidbWdbRdbXdbYdaHdcacWZcWZdcbcWZdccdbUdcecVAcKKcYCdcfdcldchdcsdcjcXgcXkdckddLdcmdcndcodcpdcodcodcqdcrdcnddMdcodctdcudcpdcodcodcndcvdcqdcwdcodcpdcodcxdcodcqdcydcpdczdecdcBdcCcXJdHXdJOdMudNZdObdMudSCcXJcqCcMLbngdcJdcKdcLcqJabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaMWdcMdamdcNdcOdcPdcQdcRdcSdcTdcUdcVdcWdcXcZtdcYdcYdbZdcddcZcYAddcdkpddacZtcLAddfddgddhddiddbddoddpddqdxrdeKdeXdghdgiddscPnddtdduddvcPvcPvcPvddwddxddyddeddxddxddxddyddxddzddAddvddBddCddjddDddEddGddFddHcVzddJcVAcKKcYCddKcVDddZdfqddNddOddPddQdfwddSddTddUddUddUdlhddWddXddYdfrcNTcNTdeaddUddUdfEdfGdeddgAcNScNTdefcNTdegdXpdeedehdeicNTdejdekdelcXJdXSdXTdXUdXXdXYdXZdaSdYadetdmJdevdewdexdeybngabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaMWdcMdamdcNdcOdcPdcQdcRdcSdcTdcUdcVdcWdcXcZtdcYdcYdbZdcddcZcYAddcdkpddacZtcLAddfddgddhddiddbddoddpddqdxrdeKdeXdghdgiddscPnddtdduddvcPvcPvcPvddwddxddyddeddxddxddxddyddxddzddAddvddBddCddjddDddEddGddFddHcVzddJcVAcKKcYCddKcVDddZdfqddNddOddPddQdfwddSddTddUddUddUdlhddWddXddYdfrcNTcNTdeaddUddUdfEdfGdeddgAcNScNTdefcNTdegdXpdeedehdeicNTdejdekdelcXJdXSdXTdXUdbAdXYdXZdaSdYadetdmJdevdewdexdeybngabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbzdbzdbzdafdezaSPdeAdeBdeCdeDdeDdeDdeEdeFdcXdeGcZtddIdeHdeJdeIdeIdeIdeIdeLdeMcZtcIEdeNdeOdePddideQdeRdeSdeTdeUdeVdeWdeWdgjddscZxdeYdhXdfadfbcKrdfcdBDdfedffdffdfgdfhdfidfjdfkdflcMedfmdfndfodfodfpdfodfsdfodfodfodfodftdfBdgwdfvdgDdgDdgDdgDdgEdfxdfxdfxdfydfzdfzdfzdfydfAdgxdgydgzcKYcJgcKYcJgcKYcJgcKYcZPdgBdildfCdfDdfDdfDdfDdfDdwpdfFdxAdfDdfDcWadfHdfIdfIdfIdfIdfIdfIdfJdfJdfIcWacSWbngdfKdfKdfKbngabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbzaOsaUpaRmdkqaUpdfMdcXdcXdfNdfNaUpdfOdfPdcXdcXcZtdkwcAZdfSdeIcZwdkzdkAdfRdfXcZtcZtbYhdfYdfZddidgadgbdgcdgddgedgfdgcdggdgkddsdgldgmdeIdgndxEcKrdgpdgqdxPdffdgsdgtdhNdhOdhPdgudflcMfdgvdfndimdindiqdiqdirdiqdisditdfodgCcKKcSwdfvdgFdgGdgHdfvdgTdfydgIdgJdgKdgLdgMdgNdgOdfzdgPdgQdgRcJgdgSdgUdgVdiGdgScJgdgWdgXdgYdfDdgZdhadhbdfDdhcdhddhadhedhfdfDdhgdhhdhidhjdhkdhldhmdhndhodhpdfIdhqdmJdevdeudhsdhrbngabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMWdhuaRjdhvdfLdhwdfMdcXdnHdcXaUpaUpdfOdhxdcXaUpcZtdhycAZdovdpSdhBdkzdridfRdhJdhEcZtdhzdhGdhHdhAdjfdhKdhLdhMdhRdhTdhUdhQdhVdTedhWdhYdhZdibdhWdWjdicdiddiadfgdiedifdjpdjqdjrdigdihdiidijdikdivdjOdjPdiodipdjRdjSdjTdfodiudoZdiwdixdkYdiydizdjVdjWdfydiAdiBdiCdiCdiDdiEdiFdiHdiJdiIdlccZNcMpdiLdiKdkecMpcZNdldcXxdiMdfDdhadhadhadiNdhcdhcdhcdhcdiOdfDdiPcSWdfIdiQdiRdiSdiTdiSdiSdiUdfIcqCdiVbngboGdhtdiXcqJabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbzdhvduTduTdfLdiYdfMdfNaUpdiZdfNaUpdfOdjadcXaOscZtdjbdhDdpSdpSdeJdhFdhIdjgdjmdjmdjcdjddjjdjkdjldjndjodkxdjsdjtdjudjwdjxdjydjvdjzdjBdjCdjDdjzdjAdjEdjFdjJdjKdkLdjGdjHdjIdkQdkUdjLdjMdjNdfndmfdnxdnydjQdjQdjQdjSdnzdnBdnCdjUdledfvdkZdlfdmkdfvdmndfydjXdjYdjZdkadkbdkcdkddkidkfdkgdldcZNcMpdkkdkjdlkcMpcZNdldcVTdgYdfDdfFdkldfFdfCdfFdfFdfFdfFdfFdfDdiPdbydfIdkmdiSdiSdiSdiSdiTdkndfIdkodbybngdfKcqJcqJcqJabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMWdWwdYmdYmdfLdkrdfMdfNdksdfNdcXdcXdktdkudcXdkvcZtdYndYodkydhJdYpdkBdYqdYrdcYdmRcZtdhzcLAdbNddidkCdkDdkEdkFdkGdkGdkHdkFddidkIdkJdkKdlRdkKdkMdkIdkNdkOdkPdffdlVdkRdkSdkTdzSdffdkVdkWdkXdnFdoydnxdladladlbdladjSdnzdoRdoScKKcSwdnIdnJdpfdpgdfvdqtdfydlgdoFdlidljdlqdlldlmdfzdlndlodkhcJgdFEdlrdlsdmjdJEcJgcYKcXxdludlvdlwdlxdlydlzdlAdJMdKxdlDdlEdlzdlFdbydfIdlGdiSdiSdiRdiSdiSdlHdhicqCdbycqJabjaaaabjaaaabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMWdWwdYmdYmdfLdkrdfMdfNdksdfNdcXdcXdktdkudcXdkvcZtdYndYodkydhJdYpdkBdYqdYrdcYdmRcZtdhzcLAdbNddidkCdkDdkEdkFdkGdkGdkHdkFddidkIdkJdkKdlRdkKdkMdkIdkNdkOdkPdffdlVdkRdkSdkTdzSdffdkVdkWdkXdnFdoydnxdladladlbdladjSdnzdoRdoScKKcSwdnIdnJdpfdpgdfvdqtdfydlgdoFdlidljdlqdlldlmdfzdlndlodkhcJgdFEdlrdlsdmjdJEcJgcYKcXxdludlvdlwdlxdlydlzdlAdJMdbFdlDdlEdlzdlFdbydfIdlGdiSdiSdiRdiSdiSdlHdhicqCdbycqJabjaaaabjaaaabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbzaUpaRmaRmdYsdYtdfMaUpdcXaUpdcXdfNdlIdlJaUpdlKcZtcZtcIWdbMdlLcZtcZtcIWcIWcIWcZtcZtdbMdlMdbNddidlNdlOdlPdlPdlPdlOdlQdlPdlPdkIdlYdlSdlTdlUdlZdkIdmddlXdnidfidnkdmadmbdmcdnndffdfldmedjNdfndoTdnxdnydmgdmgdmgdjSdnzdoRdoScKKdmhdfvdfvdfvdfvdfvdqudmldmldmldmldmmdnMdmodmldmldmpdKVdmrdmsdmtdmudmudmudmtdmsdmvcVTdgYdfFdmwdmxdAgdfDdmzdmxdmAdmBdmCdfDdmDdmJdmEdmLdmGdmHdmIdiSdiSdomdmKdqUdaddfKbngcqJcqJcqJabjaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbzdbzdbzdmMddddYudmNdmOdmOdmOdmOdmOdmPdmQdcXdlKcZtdmVcYAdmSdeJcYAdmTdmUdmWdmXdoxdmYcZtdmZdnaddidnbdncdnddnednfdlPdngdnhdlPdkIdnrdlSdnjdlUdoIdkIdnldkOdnmdffdoJdnodnpdnqdoKdnsdntdnudnvdnwdoUdoVdoWdnAdipdoXdjSdpbdpcdnDcKKdnEdmidqidnGdYbdYcdYddnKdnLdnNdoadnOdnPdnQdnRdnSdlndlodkhdnTdnUdnVdnWdnXdnYdnTdgWdnZdobdofdocdoddoedogdoldohdoidojdokdptdqWdondfIdoodiSdiTdiSdiSdiRdopdfIdoqdadbngdiWdmFdotcqJabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaMWdoudYvdYuaRmaSPaUpdYtaRmdYuaSPdowdcXdafdbMdpTdYwdYxdYxdeIdeIdeJdeIdeIdjedozdbLcLAdoAddidlPdoBdlPdlPdERdlPdlPdoDdlPdkIdIgdvedoGdoHdoOdkIdIhdkOdnidfidpQdoLdoMdoNdqcdffdfldoPdIidfndqjdqkdqodILdqodrDdrEdrFdfodoYdoZdpadrGdrHdpddpedYidYjdphdpidpjdpkdpldpmdpndpodppdpqdprdpsdpzdpudpvdpwdpxdpydqvdpAdpBdpCdfFdpDdpEdpFdfDdpGdpHdpIdpJdpKdfDdiPdbydfJdpLdiSdiSdiRdiRdpMdpNdfJdoqdsmdevdpOdordosbngabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjdbzdpRdcXdcXdcXaRmdYydYydYydYzdcXdcXdnHaUpdbMdpWdYAdYodYBdpVdeJdhJdkAdYrdfRdrgcZtdpXdbNddiddiddiddiddiddiddiddiddiddidkIdpYdwedqadqbdqgdkIdqddlXdqedffdqfdfidrvdqhdqfdffdrIdrNdsudqldqldqmdqmdqndqmdsHdqmdqpdqpdftdfBdsIdmidmidqrdqsdYkdYldsUdqwdqxdqydqzdqAdqBdqCdqDdqEdqFdkhdqGdqHdqIdqJdqKdqHdqGcYKcXxdgYdfDdqLdqMdqNdfDdqOdqPdLPdqRdqSdfDdiPcSWdfJdqTdoodtBdqVdtEdqXdqYdfJctudbyaeBaeBaeBaeBaeCabjabjabjabiabjabiabiabiabjabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjaMWaOsdkrdqZdraaRmdrbdrcdrddrcdredrfdcXaOscZtdhJcAZdrldpUdrhdfVdfVdYCdrjdjhdsodjidrndrocYecFYcGacGacGacFYcGacYedrpdrqdkIdrrdCNdrtdrudrwdkIdrxdkOdrydffdsvdrzdrAdrBdrCdffdfldoPdkXdqldsJdsKdsLdsMdsLduedufdrJdrKdrLcKKdrMdceduhdrOdrPdrQdrRdrSdrTdrUdrVdrWdrXdrYdrZdsadsbdkgdscdmtdsddsedsfdsgdshdmtcYKcVTdsidfDdfDdfDdfDdfDdfDdfDdfDdfDdfDdfDdsjcSWdfIdfIdskdmKdfIdsldfIdfIdskdbxdbyaeBdtFdtGdRxaeCaeCaeCaaaabjaaaabjaaaabjaaaabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjaMWaMWdbzaMYdbzaUpaSPaUpaRmaUpdbzaMWdbzaMWcZtdsndeJdrldpUdspdkAdYDdfVdhJdfRdYodbMdsqdIfdsrcHhcHhdsscHhdsrcHfcHgdstcNhdkIcLydsydswdsxdsAdkIdszdsCdsBdffdXkdsDdsEdsFdsGdffdfldkWdkXdqldujdvkdvldvldvldvmdvrdwodcecVAcKKdnEdrKdsNdsOdsPdsQdsRdsSdsTdsVdsZdsWdsXdsYdtfdtadtbdtcdtddGaduldtgdthdtidtjdtkcYKcXxdgYcJgdtldtmdtndMidtpcKYdtqdtrdtsdttdtudtvdtwdtxdtsdtsdttdtydtxdtwdtzdtAduNdtCduOdtDdGqdGrdGsdGXdYEacgacpacpacpacpacpacpaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabjabjabjdbzaUpdtJdtKdtLdlKdbzabjabjabjcZtdtMdhDdpSdfWdeJdfWdfWdrkdfWdYodtOcZtbYhbYhcJKcJKbYhcJKcJKbYhbYhcdvcirdtPdkIdrmdtRdtVdtTdtWdkIdtXdkOduYdffdvcdtYdtZduadubdffdfldoPducduddwqdwrdugdwsduidwsdxzdrJddJcVAcKKcSwdukdukdukdxGdukdumdundunduodundundundundundundupduqdukdmtdurdusdutduuduvdmtduwduxdgAdSdduzduzduAduBduCcKYdkoduDduEduFduGduHduIduIcqEduJduKdpOdpOduIduLduIduMaeBdGZdHZdIaaeCaeCaeCabjabjabjabjabjabjabjdYFabjabjabjabiabiabiabiabiaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjaMWaMWdbzaMYdbzaUpaSPaUpaRmaUpdbzaMWdbzaMWcZtdsndeJdrldpUdspdkAdYDdfVdhJdfRdYodbMdsqdIfdsrcHhcHhdsscHhdsrcHfcHgdstcNhdkIcLydsydswdsxdsAdkIdszdsCdsBdffdXkdsDdsEdsFdsGdffdfldkWdkXdqldujdvkdvldvldvldvmdvrdwodcecVAcKKdnEdrKdsNdsOdsPdsQdsRdsSdsTdsVdsZdsWdsXdsYdtfdtadtbdtcdtddGaduldtgdthdtidtjdtkcYKcXxdgYcJgdtldtmdtndMidtpcKYdtqdtrdtsdttdtudtvdtwdtxdtsdtsdttdtydtxdtwdtzdtAduNdtCduOdtDdGqdGrdGsdGXdKxacgacpacpacpacpacpacpaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabjabjabjdbzaUpdtJdtKdtLdlKdbzabjabjabjcZtdtMdhDdpSdfWdeJdfWdfWdrkdfWdYodtOcZtbYhbYhcJKcJKbYhcJKcJKbYhbYhcdvcirdtPdkIdrmdtRdtVdtTdtWdkIdtXdkOduYdffdvcdtYdtZduadubdffdfldoPducduddwqdwrdugdwsduidwsdxzdrJddJcVAcKKcSwdukdukdukdxGdukdumdundunduodundundundundundundupduqdukdmtdurdusdutduuduvdmtduwduxdgAdSdduzduzduAduBduCcKYdkoduDduEduFduGduHduIduIcqEduJduKdpOdpOduIduLduIduMaeBdGZdHZdIaaeCaeCaeCabjabjabjabjabjabjabjdPnabjabjabjabiabiabiabiabiaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFaaaacFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjaaadbzdbzaMWdbzaMWdbzdbzaaaabjaaacZtduQduRdtQdYodhJdYGduSduUduVdYHduXcZtaaaabjaaaabjaaaabjaaaabjbYhcbCcgRcNhdkIduWdvZdvadvbdwcdkIdvddwddvfdffdffdffdffdvgdffdffdvhdvidvjdxBdxCdxDdvndvodvpdvqdXrdqpdqpdgCcKKcTWdukdvsdvtdvudvvdvwdvtdvxdvtdvxdvydvzdukdvAdvBdvCdvDdvEdmtdvFdvGdvHdvIdvJdmtcYKcXxdludvKdvLdvMdAqdvOdvPcKYdvQcWbaOxaOxaOxaOxaOxdvRdvRdvSdvSaOxbLnbLndvTbLnbLnaeBaeBaeCaeBaeCabjabjabjaaaabjaaaabjaaaaaaabGaaaaaaabjaaaabjaaaaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjaaaaaaaaaabjaaaabjaaaaaaaaaabjaaacZtcZtcZtcZtcZtcZtcZtcZtcZtcZtcZtcZtcZtabjdkIdkKdkKdkIdkKdkKdkIdkIdvVdvWdvXdkIdvYdwfdwadwbdwgdkIdwhdxkdxndxodxpdwidwjdwkdwldwmdihdoPdgvdwndyMdyNduidyOduidwsdyQdyTdqpcKJdwtdwudukdwvdwwdwxdwydvxdwwdvxdwzdvxdwAdwwdwBdwwdwCdwDdwEdwFdmtdwGdwHdwIdwJdwGdmtdwKcVTdgYcKYcKYcKYcKYcKYcKYcKYctudwLaOxdwMdwNdwOdwPdwQdwRdwSdwTdwUdwVdwWdwXdwYdwZdxabLnabjabjabjaaaabjaaaabWabWabWabWabWabjabGabjabWabWabWabWabWaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjaaaabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaabjabjabjabjacFacFacFacFabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjdkKdxbdxcdxddxedxfdxgdkIdxhdWndxjdkIdxidxqdvadxmdXudkIdyCdyDdyEdyEdyFdwidxsdxtdxudxvdxwdxxdxydqldzVdzWdzXdAadzXdzXdAbdBOdqpcKJcKKdxFdBSdxHdxIdxJdxKdxLdQddxLdxLdxLdxNdxOdAodxQdxRdxSdxTdxUdmtdUDdvGdxWdxXdxYdmtdgWdxZdgYcJgdtldtmdtndQudtpcKYdyacWbdvSdybdycdyddybdyedyfdygdybdyhbLndyidwXdyjdykdyldymabjabiaaaaaaabiabjaceacfacfacfacfacgabGaciacjacjacjacjacjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -10943,8 +10942,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFabjabjdyodyodBEdBFdAHdBGdCAdyodyoabjabjacFabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjacFabjacFabjabjabjabjabjabjacFabjacFabjabjabjabjabjabjacFabjacFdkIdkKdBAdkKdBBdkKdAUdkIdBAdWndxjdkIdkIdkIdWodkIdkIdkIdCKdCKdCLdCMdCMcKrcKrcKrcKrcKrcKudBhcKscKrdBIdBidBKdBCcKhdBMcKhdBNdBHcPxdBPdBQdBJdQsdBLdBUdBVdBWdBWdBUdBXdBYdBUdBZdCadCbdCcdCddCedBVdBVdCfdBYdBWdCadCgdbodChdCidCjdbodCkdClcmtdCmdClcmtdCndCoaOxdCpdybdycdybdCqdCrdygdzodCsbLndCtdCudCvdwZdCwdymabjabiaaaabiabjacfacfacfacfacfacgacpachacpaciacjacjacjacjacjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyndCydCzdAHdAHdAHdAHdAHdDPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCBdCCdCDdCEdCEdCEdCFdkIdCGdEydCHdCIcFRcgTdbNcdtdCJcEzdDQdDRdCLdDSdEacKrdCOcZtdCPdCQdCRdCSdCTcZtdCUdCVdCWcGodBRdCYdBTdVjdCXdDbdDcdDddDadDfdDgdDhdDidDjdDkdDkdDldDhdDkdDmdDndDodDpdDkdDqdDmdDhdDidDmdDhdDrdDsdDtdDudDvdDwdDtdDxdDydDxdDzdDAdDxdDxdDBdDCdDDdDEdDFdDGdDHdDIdDJdDKdDLbLndDMdDNdDNdyjdDObLnabjabiabjabiaaaacoacoacoacoacoabjabjacpabjabjacoacoacoacoacoaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFabjabjdyodyodEcdEvdAHdEwdEKdyodyoabjabjacFabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjacFabjacFabjabjabjabjabjabjacFabjacFdkIdDTdkIdkIdDTdkIdkIdkIdDUdDVdDWdDXdDXdDXdDYdDXdDZcEzdDQdDQdFndEadDScKrdEbdFTdEddEedEfdEgdEhcZtdEiciraosaosdDedEkaosaosdfudIMdPudXjdfudfudEodEpdEpdEodEqdEodEodEqdEodEodEqdEodEodEqdEodEodEqdEodEodEqdEodEpcKYdErdgXdEscKYbngcqJbngbngbngcqJbngbqCdDCdDCdEtdEtaOxaOxaOxdEtdEtdDCbLnbLndymdymdymdEubLnabjabiabjabiaaaaaaaaaaaaabjaaaaaaabjacpabjaaaaaaabjaaaaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjdyndyodFUdAHdFVdyodynabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaabjaaadYIdEAdEBdEEdEFdECdEDdWxdWydEGdEHcHhcHgcHfcHgcHgdEIdEJcEzdDQdDQdGOdDSdDScKrdELdEMdENdEOdEPdEQdXycZtdEScwDaosdETdEUdEVdEWaosdVwdEYdEZdFadFbdfuaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaaaaaaaabjcKYdFcdFddFecKYaaaabjaaaaaaabjaaaabjaaaabjaaaaaaabjabjabjabjaaaaaaabjabjabjabjabjabjabjabjabjabjaaaabiabjaaaabWabWabWabWabWabjacpabjabWabWabWabWabWaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjdyodyndFfdyndyoabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFacFacFaaaaaaaaaaaaaaaabjaaaacFbYhdFgdFgdFgdFhdFidFjdFhdFgdFgdFkdFgdFgdFgdFlcEGdEJcEzdFmdFmdFmdFmdFmcKrdGYcZtdFodFpdFqdFrdFscZtdCUdFtaosdFudFvdVxdFxaotdWIdFzcKKdFAdFBdFCabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjcTXdFDdTxdFFcTXaaaabjaaadFGdFGdFHdFGdFGdFGdFIdFJdFGdFGabjabjabjabjabjabiaaaabjabjabiabiabiaaaabjabjabjabjabjacfacfacfacfacfacgdYFaciacjacjacjacjacjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjdyndyodFUdAHdFVdyodynabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaabjaaadXXdEAdEBdEEdEFdECdEDdWxdWydEGdEHcHhcHgcHfcHgcHgdEIdEJcEzdDQdDQdGOdDSdDScKrdELdEMdENdEOdEPdEQdXycZtdEScwDaosdETdEUdEVdEWaosdVwdEYdEZdFadFbdfuaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaabjaaaaaaaaaaaaabjcKYdFcdFddFecKYaaaabjaaaaaaabjaaaabjaaaabjaaaaaaabjabjabjabjaaaaaaabjabjabjabjabjabjabjabjabjabjaaaabiabjaaaabWabWabWabWabWabjacpabjabWabWabWabWabWaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjdyodyndFfdyndyoabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFacFacFaaaaaaaaaaaaaaaabjaaaacFbYhdFgdFgdFgdFhdFidFjdFhdFgdFgdFkdFgdFgdFgdFlcEGdEJcEzdFmdFmdFmdFmdFmcKrdGYcZtdFodFpdFqdFrdFscZtdCUdFtaosdFudFvdVxdFxaotdWIdFzcKKdFAdFBdFCabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjcTXdFDdTxdFFcTXaaaabjaaadFGdFGdFHdFGdFGdFGdFIdFJdFGdFGabjabjabjabjabjabiaaaabjabjabiabiabiaaaabjabjabjabjabjacfacfacfacfacfacgdPnaciacjacjacjacjacjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjdyndyodynabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaabjaaaabjabjdFgdFKdFLdFMdFNdFOdFMdFPdFNdFQdFRdFSdFgcdvcEGdbNdHBdIbdIydFWdFXdFYcZtdFZcZtdICdGbdGcdGddGecZtdGfdGgaosdGhdGidGjdGkdGldGmdFzdWKdGodGpdFCaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFGdLadLbdLcdFGdFGdFHdFHdFGdGtdGudGvdGwdGxdGydGzdGAdGwdFGdFHdFGdFGabjabiaaaabiaaaaaaabjabjaaaabjaaaaaaabiaaaacoacoacoacoacoabjabGabjacoacoacoacoacoaaaabiaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjaaaabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjabjabjabjabjabjabiaaaaaaabjdFgdGBdGCdGDdFNdFOdGEdGEdGFdGGdGHdGIdFgcbCcEGdGJdGKdGLdGMcdwdXlcfmdbMdbMcZtcKsdJycKucZtcZtdbMcgUcwDaosdGPdGQdGRdGSaszdWLdGUcKKdGodFBdFCabjabjaaaaaadYedYedYedGWdYedYedGWdYedYedGWdYedYedGWdYedYedYeaaaaaadFGdLddLQdLUdHadHbdHcdHddHedHfdHgdHhdHidHjdIjdHldHmdHndHodHpdHqdFGaaaabiabjabiabjabjabiabiabiabjabiabjabiaaaaaaaaaabjaaaaaaaaaabGaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaaaaabiabjabiabjdFgdHrdHsdHsdFNdFOdHtdHsdGFdHudHvdHwdFgdHxdHydHzdHAdHAdKXdHCdHDdHAdHEdHFdHGdHHdHIdHJcFYdHKcYedHLdHMaosdHNdHOdHPdHQaosdWMdHSdHTdHUdHVdfuaaaabjaaadHWdYfdYfdYfdGWdYfdYfdGWdYfdYfdGWdYfdYfdGWdYfdYfdYfdHYaaadFGdLYdMadMvdFGdFGdIcdIcdFGdIddIedIkdJadJbdOidJcdJddIldImdIndIodFGaaaabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabiabjabiabiaaaabGaaaabiabiabiabjabiabiabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -10952,33 +10951,33 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaabiaaaabiabjdFgdJldJmdJndJodJpdIqdIudJqdJqdJrdJsdJtdFgcEGcitdXDdJudJvdJwdIxdJxdJxdJxdJxdXadJzdJxdJxdJxdJxdEzdJBdJCdJDdJDdJDdJDdXCdJDdJFdJDdJFdJGdJAdIOabjaaadJIdLOdJKdJKdJKdJLdJKdJLdJKdJKdJKdLOdJIdTzdYgdYhdXtdJIaaaaaaabjaaaabjaaaaaaabjaaadFGdJPdJQdJRdGwdJSdJTdJUdJVdJWdJXdJYdJZdFGabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjabjabjabjabjabiaaaabiabjdFgdIqdHtdIudKadKbdKcdIudIqdIqdFgdFgdFgdFkdlMcfpdIxdKddJvdKedIxdKfdKgdKhdKidKjdKkdKhdKgdKldKmdEzdKndKodKodKodKodKodKpdKodKqdKodKqdMYdJHdIOabjaaadJIdKtdKudKudKudKudKudKudKudKudKudKvdKwdXBdJNdJNdXLdKyaaadKzdFJdFGdKAdKBdFGdFHdFGdFGdKCdIedKDdGwdGwdXEdIcdGwdGwdFGdIcdFGdFGabjabiaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaZabiabjabiabjdFgdKEdIudHsdFNdKbdIpdJrdIudHsdFgdKFdKGdFkdKHcgVdIxdJudKIdKJdKKdKLdKLdKLdKLdKMdKNdKLdKLdKLdKrdKsdKndKodKodKodKodKodKpdKodKqdKodKqdMYdKPdIOabjaaadKydOydKudOzdKTdOydKudOzdKTdOydKudOzdITdKUdKUdKUdXMdKWaaadIcdMAdMGdNidNWdNXdNYdXGdJWdLedLfdLgdGwdLhdLidLjdLkdLldFGaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFacFacFaaaaaaaaaabiaaaabjabjdFgdHtdIpdIudFNdKbdHsdIudIqdHtdFkdLmdIvdFgdLndLodIxdLpdLqdLrdKKdKLdLsdLtdLtdLudLvdLwdLxdLydKOdLAdLzdLCdLDdLEdLEdLEdLFdLGdLHdLIdLJdMYdLKdIOaaaaaadLLdOydKudOzdLMdOydKudOzdKwdOydKudKudOadXNdXNdXNdXOdKWaaadFGdOcdLRdLSdLjdLldLTdPgdLVdLWdIedLXdKBdPndLZdPodMbdPndFGabjabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaabiaaaabiaaaabiabjdFgdMcdHsdMddFNdKbdIudIudMedMedFgdMfdMgdFkcNgcfmdIxdJudJvdMhdIxdXxdMjdMkdMjdKMdMldMjdMmdMndKmdModMpdMqdKpdKodKodKodKodKodMrdLGdMsdMYdKPdIOaaaaaadJIdOydKudOzdMtdOydKudOzdMtdOydKudKudOadXPdXPdXPdXRdLLaaadFIdQvdMwdMxdMydMydMzdQwdMBdMCdMDdMEdGwdGwdMFdQGdMHdGwdFGabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFacFacFacFaaaaaaaaaabiaaaabjabjdFgdHtdIpdIudFNdKbdHsdIudIqdHtdFkdLmdIvdFgdLndLodIxdLpdLqdLrdKKdKLdLsdLtdLtdLudLvdLwdLxdLydKOdLAdLzdLCdLDdLEdLEdLEdLFdLGdLHdLIdLJdMYdLKdIOaaaaaadLLdOydKudOzdLMdOydKudOzdKwdOydKudKudOadXNdXNdXNdXOdKWaaadFGdOcdLRdLSdLjdLldLTdPgdLVdLWdIedLXdKBdPodLZdQGdMbdYEdFGabjabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaabiaaaabiaaaabiabjdFgdMcdHsdMddFNdKbdIudIudMedMedFgdMfdMgdFkcNgcfmdIxdJudJvdMhdIxdXxdMjdMkdMjdKMdMldMjdMmdMndKmdModMpdMqdKpdKodKodKodKodKodMrdLGdMsdMYdKPdIOaaaaaadJIdOydKudOzdMtdOydKudOzdMtdOydKudKudOadXPdXPdXPdXRdLLaaadFIdQvdMwdMxdMydMydMzdQwdMBdMCdMDdMEdGwdGwdMFdYFdMHdGwdFGabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaabiaaaabjaaaabiabjdFgdMIdMJdMgdMKdMLdMMdMNdMMdMNdMOdMPdGEdFkcsEcbCdIxdMQdMRdMSdIxdMTdMUdMTdMUdKMdMVdMUdMWdMXdJxdKsdMZdKodNadNbdNcdNbdOudNbdNcdNbdNddMYdKPdIOdIOdIOdJIdNedKudOzdNfdOydKudOzdNfdOydKudOzdITdNgdNgdNgdNhdJIaaadFGdQHdNjdNkdNldNmdNndLYdIcdNodNpdNqdNrdNsdNtdNudNvdNwdFGabjabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjacFacFacFabjabiaaaabiabjabiabjdFgdNxdNydNzdNAdMIdNBdNCdNDdNEdFgdNFdNGdFgcLPcdtdIxdJudNHdNIdIxdNJdNKdNJdNKdKMdNLdNKdNMdNKdKmdKsdMZdKodNadNNdNOdNPdNQdNNdNOdNPdNddMYdKPdKQdKPdKQdLBdNRdKudOzdKTdOydKudOzdKTdOydKudOzdNTdNUdJNdJNdNVdJIaaadFHdRfdRgdRhdRidWSdWTdWUdGwdOddOedOfdOgdOhdOidOjdOkdOldKBaaaabjaaaabjaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaabjabjaaaabiaaaaaaabjdFgdFgdFgdFgdFgdFgdFgdFgdFgdFgdFgdFgdFgdOmdOncgTdIxdIxdOodOpdIxdOqdMUdMTdOrdKMdOsdMUdMWdOtdJxdOvdMZdKodNadOwdXFdOwdOxdOwdPadOwdNddMYdKPdIOdIOdIOdJIdTLdKudKudKudKudKudKudKudKudKudWBdOAdIQdJJdJJdOCdIVaaadODdOEdFGdOFdKBdFGdIcdFGdFGdOGdOHdOIdHidOJdOKdOLdOMdONdFGabjabiaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaabjabjaaaabjabjabjabjabjbYhdOOcHgdOPcHgdOPcHncWocHfcWwcWncHfcWndOQcdtdORdOSdOTdOUdJxdOVdOWdOXdOWdOYdMldMjdMmdOZdJxdPbdPMdPcdPddPedPedPedPedPedPedPedPfdMYdKPdKQdKPdKQdNSdNRdKudOzdMtdOydKudOzdMtdOydKudOzdJIdKRdNRdNRdKSdJIaaaaaaabjabjaaaaaaabjaaaabjdFGdPjdPkdPldGwdPmdWVdGwdWWdPmdFGabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabjabiabiabjabjabjdPpdPqdPqdPqdPqdPrdPsdPtdXodPvdPwdPxdPydPzdPxdPAdPBdPCcbCcdtdOSdPDdPEdJxdPFdPGdPHdPIdPJdPKdOrdPLdOrdKmdPYdMZdNddKpdKodKodKodPNdKodKodKodKodMYdKPdIOdIOdIOdJIdNedKudOzdNfdOydKudOzdLMdOydKudOzdJIdLNdOBdPhdPidKyaaaaaaaaaabiabiabjabiabiabjdFGdPSdPTdFGdFGdPUdPVdGwdPWdPXdFGabjabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjabjabjabjdPpdPpdPpdPZdQadXHdPqcNgcbCcEzdQbdQcdQedQfcEzdQgdQndQccEzcEzcgTcdtdOSdQhdQidJxdMkdQjdQkdQkdQldQmdQkdMmdMjdJxdQodMZdNddNadNbdQpdNbdQFdNbdNbdNbdKodMYdKPdIOabjaaadKydOydKudOzdKTdOydKudOzdKTdOydKudOzdJIdPOdPPdPQdPRdKWaaaaaaaaaaaaaaaabjabjabjabjabjdWXdWYdWZdFGdQxdQydGwdQzdQAdFGabjaaaaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjdQBdQBdYJdYKdYLdQKdQLdQOdQQdQJdRbdRcdQMcgTcEzdQNcdtdRjdRjdQPdRkdRjcbCdQRdQSdXscbCdOSdQTdQUdJxdQVdQWdQXdKLdQYdKNdQXdQZdRadJxdRldMZdNddNadNNdNOdNPdNQdNNdNOdNPdRndMYdLKdIOabjaaadKWdOydKudOzdKwdOydKudOzdJIdOydKudNRdQtdNRdPPdPQdRddKWaaaaaaaaaaaaaaaabiabiaaaabiabjdXdabjdXedFGdXfdXgdGwdXgdXfdFGabjabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjdQBdQBdYIdYJdYKdQKdQLdQOdQQdQJdRbdRcdQMcgTcEzdQNcdtdRjdRjdQPdRkdRjcbCdQRdQSdXscbCdOSdQTdQUdJxdQVdQWdQXdKLdQYdKNdQXdQZdRadJxdRldMZdNddNadNNdNOdNPdNQdNNdNOdNPdRndMYdLKdIOabjaaadKWdOydKudOzdKwdOydKudOzdJIdOydKudNRdQtdNRdPPdPQdRddKWaaaaaaaaaaaaaaaabiabiaaaabiabjdXdabjdXedFGdXfdXgdGwdXgdXfdFGabjabiabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjdQBabjabjabjabjdPpdPpdPpdRodRpdRqdPqcdvcbCcEzdRmdRrdRBcbCdRCdREdRFcMTdRsdQScdtcisdOSdRtdRudJxdRvdRvdKLdRwdXIdRydLtdRzdRAdJxdEzdMZdNddNadOwdRGdOwdRHdOwdRGdOwdKodMYdKPdIOabjaaadLLdOydKudOzdMtdOydKudOzdMtdOydKudNRdQtdNRdPPdPQdRddKWaaaaaaaaaaaaaaaaaaaaaaaaabiabjabjabjabjdFGdFGdNrdFGdNrdFGdFGabjabiaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjdQBabjaaaaaaabjabjabjdPpdPqdPqdPqdPqcdtciscEzdRDdRKdRQdRZdSccdtdRQdRZdRIdRJdSndRLdIxdIxdRMdJxdRNdJxdJxdJxdJxdROdJxdRPdJxdJxdSodMpdRRdRSdRTdRTdRTdRTdRTdRTdRUdRVdMYdKPdIOdIOdIOdJIdKtdKudKudKudKudKudKudKudKudKudKvdJIdRedRWdRXdLOdLLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjabjaaaabjaaaabjabjabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjdQBabjaaaaaaaaaaaaabjabjabjabjabjcCxdSndSpcEzdSacdtdRQdRZdSbdRKdSqcdtdSacEzcJKcJKdIxdXVdSedJxdSfdKmdSgdShdSidSjdSkdSldSmdSrdKPdSsdStdSudStdStdSBdStdXJdStdSDdStdSEdKPdKQdKPdKQdLBdNRdSvdSvdSvdSvdSwdSvdSvdSvdSvdLOdJIdRYdSxdSxdSydJIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabiabjabiaaaabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabjabjabiabiabjdQBabjabiabiabiabiabiabjabiaaaabjbYhcJKcJKcEzdSAdSFdSGdSOdSQdSWdTgdSHdSIcEzabjabjdIxdIxdRMdIxdIxdIxdIxdIxdSJdSKdSLdSMdSNdIxdThdSPdSPdTidSRdSSdSTdSUdSPdSRdSVdTkdSXdSYdSZdTadTadOAdIQdTbdIRdISdIQdIUdITdSzdSzdITdIUdTddIQdIQdIQdIQdIVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaabjaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaadQBaaaaaaaaaabjaaaaaaaaaaaaaaaabjabjabjabjdQSdTfdUidUldUScfndTjcitdVodTlcEzaaaabjdIxdTmdTndTodTpdTqdIxdTrdTsdTtdTudTvdTwdIxdXWdTydXKdTAdTBdTCdTDdTEdTadTFdTGdTHdTIdTJdQIdTKdQIdLBdTMdTMdTNdTNdTOdJIdTPdJKdJKdTQdJIdTcdTRdTSdTRdLOdITaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadTUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaadTVdTVdTVdTVdTVaaadQBaaadTVdTVdTVdTVdTVaaaabiaaaaaaabiabiabjcEzdQbdTWdTWdQSdQScEzdTWdTWdQbcEzaaaabjdTXdTYdTZdUadUbdUcdUddUcdUcdUedUfdUgdUhdIxdWzdSPdUjdUkdWAdUmdUndUodUpdUqdUrdUsdUtdUudUvdTadTadJIdUwdTMdTMdTMdTMdTbdUxdKudKudUydJIdUzdUAdUBdSvdUCdTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjdYMdYNdYNdYNdYNdYOdQBdYJdYPdYPdYPdYPdYQabjabiabjabjabjabiabjabjabjabjabjabjabjabjabjabjabjabjabjabjdIxdUJdUKdULdUMdUNdIxdUOdSidUPdUQdUQdURdIxdWGdSPdUTdUUdUVdUWdUXdUYdTadUZdVadVbdVcdXQdVeabjaaadJIdUwdTMdTMdVfdVgdITdVhdKudKudVidOAdWCdVkdVldJKdVmdTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjdYLdYMdYMdYMdYMdYNdQBdYIdYOdYOdYOdYOdYPabjabiabjabjabjabiabjabjabjabjabjabjabjabjabjabjabjabjabjabjdIxdUJdUKdULdUMdUNdIxdUOdSidUPdUQdUQdURdIxdWGdSPdUTdUUdUVdUWdUXdUYdTadUZdVadVbdVcdXQdVeabjaaadJIdUwdTMdTMdVfdVgdITdVhdKudKudVidOAdWCdVkdVldJKdVmdTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiaaadVndVndVndVndVnabjdQBabjdVndVndVndVndVnaaaaaaaaaaaaaaaabjaaaabjabiabiabiabjabiabiabjabiabiabiaaaabjdIxdIxdTXdTXdTXdIxdIxdIxdTXdTXdTXdTXdIxdIxdWHdVpdVpdVqdVqdVqdVpdVpdVpdVpdVqdVqdVqdVpdVqaaaaaadJIdVrdVrdVsdVrdVgdJIdVtdVudVudUBdWDdWEdJIdWFdWFdWFdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaaaaaaaaaaabjaaaaaaabjdQBabjaaaaaaabjaaaaaaaaaaaaabiabjabiabiabiabjaaaabjaaaaaaabjaaaaaaabjaaaabjaaaabjabjabjabjaaaabjabjabjabjabjaaaaaaabjabjabjdYRabjabjabjaaaabjabjabjabjabjabjaaaabjabjabjaaaaaadVzdIQdITdIUdIUdIQdVAdVBdWJdWJdVBdTddIQdVCdIUdITdIQdVDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaaaaaaaaaaabjaaaaaaabjdQBabjaaaaaaabjaaaaaaaaaaaaabiabjabiabiabiabjaaaabjaaaaaaabjaaaaaaabjaaaabjaaaabjabjabjabjaaaabjabjabjabjabjaaaaaaabjabjabjdYQabjabjabjaaaabjabjabjabjabjabjaaaabjabjabjaaaaaadVzdIQdITdIUdIUdIQdVAdVBdWJdWJdVBdTddIQdVCdIUdITdIQdVDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaadTVdTVdTVdTVdTVabjabjdQBabjabjdTVdTVdTVdTVdTVaaaabiaaaaaaaaaaaaabjabiabiabiabjabiabiabiabiabjabjabjabjabiabiabiabjabiabiaaaabiabiabjabjabiabiabjacFabjabiabjabjabjabiabiabiabiabjabjabjabiabiaaaaaaaaaaaaaaadVzdIVdVEdVFdVGdVGdVGdVGdVFdVHdOAdVDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjdYMdYNdYNdYNdYNdYOdQBdQBdQBdYJdYPdYPdYPdYPdYQabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaadJIdVIdVJdVGdVGdVGdVKdVLdVMdJIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjabjdYLdYMdYMdYMdYMdYNdQBdQBdQBdYIdYOdYOdYOdYOdYPabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaabjaaaaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaaabjaaaaaaabjaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaadJIdVIdVJdVGdVGdVGdVKdVLdVMdJIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaadVndVndVndVndVnabjabjdQBabjabjdVndVndVndVndVnaaaabiaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiabiabiabiabiabjabiabiabiabjabiabiabiabjabiabiabjabiabiabiabjabiabiaaaaaaaaaaaaaaaaaaaaadITdVNdVJdVOdVPdVQdVOdVLdVRdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaaaaaaaaaaabjaaaaaaabjdQBabjaaaaaaabjaaaaaaaaaaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJIdVSdVTdVUdVVdVWdVXdVYdVZdJIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiaaadTVdTVdTVdTVdTVabjdQBabjdTVdTVdTVdTVdTVaaaabjabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadVzdIQdITdITdITdITdITdITdIQdVDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjdYMdYNdYNdYNdYNdYOdQBdYJdYPdYPdYPdYPdYQabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaabjaaadVndVndVndVndVnabjdYSabjdVndVndVndVndVnaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaaaaaaaabjaaaaaaaaadYTaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabiabiabjabjaaadYTaaaabjabjabiabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjdYLdYMdYMdYMdYMdYNdQBdYIdYOdYOdYOdYOdYPabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaabjaaadVndVndVndVndVnabjdYRabjdVndVndVndVndVnaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaaaaaaaabjaaaaaaaaadYSaaaaaaaaaabjaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabiabiabjabjaaadYSaaaabjabjabiabiabiabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabjdWcabjabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiaaaabjaaaabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabjabiabiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11014,4 +11013,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
-
diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
index c6d50f5fbd5..aa149082912 100644
--- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
@@ -84,10 +84,10 @@
"abF" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"abG" = (/obj/structure/table,/obj/item/radio/beacon/syndicate/bomb{pixel_y = 5},/obj/item/radio/beacon/syndicate/bomb,/turf/unsimulated/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"abH" = (/obj/structure/table,/obj/item/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2; pixel_z = 0},/obj/item/grenade/syndieminibomb{pixel_x = -1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"abI" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"abI" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "foreport"; name = "Fore-Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport)
"abJ" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/obj/machinery/light/spot,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"abK" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"abL" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "foreport"; name = "Fore-Port Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/auxport)
+"abL" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
"abM" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxport)
"abN" = (/obj/structure/table,/obj/item/bonegel,/obj/item/bonesetter,/obj/item/hemostat,/obj/item/cautery,/obj/item/surgicaldrill,/obj/item/circular_saw,/obj/item/scalpel,/obj/item/retractor,/obj/item/FixOVein,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"abO" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
@@ -106,7 +106,7 @@
"acb" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/turf/space,/area/shuttle/syndicate)
"acc" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/syndicate)
"acd" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/turf/space,/area/shuttle/syndicate)
-"ace" = (/obj/structure/cable,/obj/machinery/power/solar{id = "foreport"; name = "Fore-Port Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/auxport)
+"ace" = (/obj/structure/cable,/obj/machinery/power/solar{id = "foreport"; name = "Fore-Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport)
"acf" = (/turf/space,/obj/item/stack/cable_coil,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
"acg" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/permabrig)
"ach" = (/obj/machinery/seed_extractor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
@@ -163,7 +163,7 @@
"adg" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/pod_2)
"adh" = (/obj/machinery/door/airlock/shuttle{name = "Escape Pod Airlock"},/obj/docking_port/mobile/pod{id = "pod2"; name = "escape pod 2"},/turf/simulated/shuttle/floor,/area/shuttle/pod_2)
"adi" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
-"adj" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "forestarboard"; name = "Fore-Starboard Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
+"adj" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"adk" = (/obj/machinery/light/small{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_y = 32},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating,/area/security/permabrig)
"adl" = (/obj/machinery/door/window/westleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Unisex Showers"; req_access_txt = "0"},/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"adm" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
@@ -186,7 +186,7 @@
"adD" = (/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 2; pixel_y = 1},/obj/machinery/alarm{dir = 4; pixel_x = -23},/turf/simulated/floor/plating,/area/security/permabrig)
"adE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/item/radio/intercom/locked/prison{dir = 2; name = "Prison Intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
"adF" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/obj/item/storage/toolbox/mechanical,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
-"adG" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"adG" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "forestarboard"; name = "Fore-Starboard Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
"adH" = (/obj/structure/rack,/obj/item/tank/jetpack/oxygen,/obj/item/tank/air,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/machinery/camera{c_tag = "Engineering Secure Storage South"; dir = 4; network = list("SS13")},/obj/item/clothing/suit/space/hardsuit/security,/obj/item/clothing/head/helmet/space/hardsuit/security,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
"adI" = (/obj/machinery/newscaster{pixel_y = 32},/obj/structure/table/glass,/obj/item/reagent_containers/glass/beaker{pixel_x = 4; pixel_y = 4},/obj/item/reagent_containers/glass/beaker{pixel_x = -5; pixel_y = 6},/obj/item/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitered"},/area/security/permabrig)
"adJ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox)
@@ -212,7 +212,7 @@
"aed" = (/obj/machinery/light/small{dir = 4},/obj/structure/toilet{dir = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"aee" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"aef" = (/turf/simulated/floor/plating/airless/catwalk,/turf/space,/area/space)
-"aeg" = (/obj/structure/cable,/obj/machinery/power/solar{id = "forestarboard"; name = "Fore-Starboard Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
+"aeg" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
"aeh" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/shuttle/vox)
"aei" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox)
"aej" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25; req_access_txt = "152"},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox)
@@ -232,7 +232,7 @@
"aex" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "executionfireblast"; name = "blast door"; opacity = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkredfull"; tag = "icon-whitehall (WEST)"},/area/security/permabrig)
"aey" = (/obj/machinery/door/window/brigdoor{dir = 2; name = "Justice Chamber"; req_access_txt = "3"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 1; name = "Justice Chamber"; req_access_txt = "3"},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "executionfireblast"; name = "blast door"; opacity = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/permabrig)
"aez" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "executionfireblast"; name = "blast door"; opacity = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkredfull"; tag = "icon-whitehall (WEST)"},/area/security/permabrig)
-"aeA" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
+"aeA" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
"aeB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeC" = (/obj/structure/bed,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/muzzle,/obj/machinery/camera{c_tag = "Prison Sanitatium"; dir = 4; network = list("SS13","Prison")},/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/permabrig)
"aeD" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox)
@@ -272,9 +272,9 @@
"afl" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox)
"afm" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_east_control"; req_one_access_txt = "152"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox)
"afn" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southeast_lock"; locked = 1; req_access_txt = "152"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox)
-"afo" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
+"afo" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"afp" = (/obj/structure/chair/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afq" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"afq" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"afr" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/security/podbay)
"afs" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/podbay)
"aft" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/security/permabrig)
@@ -290,7 +290,7 @@
"afD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/chair/office/dark{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/permabrig)
"afE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/permabrig)
"afF" = (/obj/structure/closet/emcloset,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness{name = "\improper Recreation Area"})
-"afG" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"afG" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
"afH" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/pod_3)
"afI" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/pod_3)
"afJ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox)
@@ -314,7 +314,7 @@
"agb" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "hosspace"; name = "privacy shutters"; opacity = 0},/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/hos)
"agc" = (/obj/machinery/camera{c_tag = "Atmospherics - Starboard Aft"; dir = 1; network = list("SS13")},/obj/structure/lattice,/turf/space,/area/security/armoury)
"agd" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/engine,/area/security/podbay)
-"age" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
+"age" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
"agf" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/permabrig)
"agg" = (/turf/simulated/floor/plating,/area/crew_quarters/fitness{name = "\improper Recreation Area"})
"agh" = (/obj/machinery/door/airlock/shuttle{name = "Escape Pod Airlock"},/obj/docking_port/mobile/pod{dir = 4; id = "pod3"; name = "escape pod 3"},/turf/simulated/shuttle/floor,/area/shuttle/pod_3)
@@ -323,8 +323,8 @@
"agk" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/pod_3)
"agl" = (/obj/machinery/door/airlock/hatch{req_access_txt = "152"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox)
"agm" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/permabrig)
-"agn" = (/turf/space,/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/plating/airless/catwalk,/area/solar/auxstarboard)
-"ago" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"agn" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"ago" = (/obj/structure/cable,/obj/machinery/power/solar{id = "forestarboard"; name = "Fore-Starboard Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
"agp" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 3"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
"agq" = (/obj/structure/table,/obj/item/paper,/obj/item/pen{pixel_x = -3; pixel_y = 5},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
"agr" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "hosspace"; name = "privacy shutters"; opacity = 0},/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/hos)
@@ -1255,7 +1255,7 @@
"ayg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"ayh" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"ayi" = (/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
-"ayj" = (/obj/machinery/door/poddoor{id_tag = "QMLoaddoor2"; name = "supply dock loading door"},/obj/machinery/conveyor/east{id = "QMLoad2"},/turf/simulated/shuttle/plating,/area/shuttle/supply)
+"ayj" = (/obj/machinery/door/poddoor{id_tag = "QMLoaddoor2"; name = "supply dock loading door"},/obj/machinery/conveyor/east{id = "QMLoad2"},/obj/structure/plasticflaps/mining,/turf/simulated/shuttle/plating,/area/shuttle/supply)
"ayk" = (/obj/structure/closet/crate/hydroponics,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/starboard)
"ayl" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aym" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/starboard)
@@ -1481,7 +1481,7 @@
"aCy" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/bluegrid{icon_state = "gcircuit"; luminosity = 2},/area/security/nuke_storage)
"aCz" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{icon_state = "gcircuit"; luminosity = 2},/area/security/nuke_storage)
"aCA" = (/obj/structure/table,/obj/item/folder/red,/obj/item/taperecorder{pixel_y = 0},/obj/item/radio/intercom{broadcasting = 1; frequency = 1424; listening = 0; name = "Interrogation Intercom"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
-"aCB" = (/obj/structure/closet/fireaxecabinet{step_y = 30},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/nuke_storage)
+"aCB" = (/obj/structure/filingcabinet,/obj/item/folder/documents,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/nuke_storage)
"aCC" = (/turf/simulated/shuttle/floor,/area/shuttle/siberia)
"aCD" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
"aCE" = (/obj/machinery/alarm{pixel_y = 28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
@@ -1576,7 +1576,7 @@
"aEp" = (/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/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor/plasteel,/area/crew_quarters/sleep)
"aEq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/crew_quarters/sleep)
"aEr" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard)
-"aEs" = (/obj/item/ore/iron,/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
+"aEs" = (/obj/item/stack/ore/iron,/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aEt" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge)
"aEu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aEv" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/spawner/lootdrop{loot = list(/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/item/cigbutt,/obj/item/trash/cheesie,/obj/item/trash/candy,/obj/item/trash/chips,/obj/item/trash/pistachios,/obj/item/trash/plate,/obj/item/trash/popcorn,/obj/item/trash/raisins,/obj/item/trash/sosjerky,/obj/item/trash/syndi_cakes); name = "maint grille or trash spawner"},/turf/simulated/floor/plating,/area/maintenance/starboard)
@@ -1591,7 +1591,7 @@
"aEE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/engine/engineering)
"aEF" = (/obj/item/multitool,/turf/simulated/floor/plating/airless,/area/engine/engineering)
"aEG" = (/obj/item/radio/off,/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"aEH" = (/obj/structure/closet/crate,/obj/item/ore/glass,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
+"aEH" = (/obj/structure/closet/crate,/obj/item/stack/ore/glass,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
"aEI" = (/obj/machinery/door/airlock/shuttle{name = "Mining Shuttle Airlock"; req_access_txt = "0"},/obj/docking_port/mobile{dir = 8; dwidth = 3; height = 5; id = "mining"; name = "mining shuttle"; width = 7},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "mining_home"; name = "mining shuttle bay"; width = 7},/turf/simulated/shuttle/plating,/area/shuttle/mining)
"aEJ" = (/obj/machinery/door/airlock/external{name = "Mining Dock Airlock"; req_access = null; req_access_txt = "0"},/turf/simulated/floor/plating,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aEK" = (/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
@@ -1712,7 +1712,7 @@
"aGV" = (/obj/item/clothing/glasses/meson,/obj/structure/closet/crate,/obj/item/poster/random_contraband,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aGW" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/starboard)
"aGX" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/hardsuit/engineering,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/engineering,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/engine/engineering)
-"aGY" = (/obj/item/ore/silver,/obj/item/ore/silver,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
+"aGY" = (/obj/item/stack/ore/silver,/obj/item/stack/ore/silver,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aGZ" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/camera{c_tag = "Mining Dock"; dir = 8; network = list("SS13")},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aHa" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/engine/engineering)
"aHb" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/construction/Storage{name = "Storage Wing"})
@@ -2135,7 +2135,7 @@
"aPc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/brig)
"aPd" = (/obj/machinery/the_singularitygen{anchored = 1},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating/airless,/area/space)
"aPe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
-"aPf" = (/obj/structure/plasticflaps,/obj/machinery/conveyor/east{id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage)
+"aPf" = (/obj/machinery/conveyor/east{id = "QMLoad2"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/quartermaster/storage)
"aPg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/space)
"aPh" = (/obj/structure/table,/obj/item/hatchet,/obj/item/crowbar,/obj/machinery/light{dir = 1},/obj/item/plant_analyzer,/obj/item/reagent_containers/glass/bucket,/obj/item/cultivator,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/hallway/secondary/construction{name = "\improper Garden"})
"aPi" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/hallway/secondary/construction{name = "\improper Garden"})
@@ -2163,7 +2163,7 @@
"aPE" = (/obj/machinery/conveyor/northeast/ccw{id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aPF" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "hop"; name = "privacy shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads)
"aPG" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable/yellow,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "hop"; name = "privacy shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads)
-"aPH" = (/obj/machinery/door/poddoor{id_tag = "QMLoaddoor"; name = "supply dock loading door"},/obj/machinery/conveyor/west{id = "QMLoad"},/turf/simulated/shuttle/plating,/area/shuttle/supply)
+"aPH" = (/obj/machinery/door/airlock/external{id_tag = "supply_home"; name = "Supply Dock Airlock"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aPI" = (/obj/machinery/seed_extractor,/obj/machinery/alarm{pixel_y = 23},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/hallway/secondary/construction{name = "\improper Garden"})
"aPJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"aPK" = (/obj/structure/table,/obj/machinery/computer/guestpass,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -2171,7 +2171,7 @@
"aPM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 8},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 8},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"aPN" = (/obj/machinery/navbeacon{codes_txt = "delivery"; dir = 8; location = "QM #1"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/window/northleft,/obj/machinery/light{dir = 4},/obj/effect/decal/warning_stripes/yellow,/mob/living/simple_animal/bot/mulebot{home_destination = "QM #1"; suffix = "#1"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"aPO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
-"aPP" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/item/ore/glass,/obj/item/ore/iron,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"aPP" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/item/stack/ore/glass,/obj/item/stack/ore/iron,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"aPQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"aPR" = (/obj/machinery/door/window/northleft{dir = 8; name = "MuleBot Supply Access"; req_access_txt = "50"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"aPS" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11},/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
@@ -2245,7 +2245,7 @@
"aRi" = (/obj/machinery/pipedispenser,/turf/simulated/floor/plating,/area/construction)
"aRj" = (/obj/machinery/door/airlock/command/glass{name = "Bridge Access"; req_access_txt = "19"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
"aRk" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/simulated/shuttle/plating,/area/shuttle/supply)
-"aRl" = (/obj/machinery/door/airlock/external{name = "Supply Dock Airlock"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/quartermaster/storage)
+"aRl" = (/obj/machinery/door/poddoor{id_tag = "QMLoaddoor2"; name = "supply dock loading door"},/obj/machinery/conveyor/west{id = "QMLoad"},/obj/structure/plasticflaps/mining,/turf/simulated/shuttle/plating,/area/shuttle/supply)
"aRm" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/quartermaster/storage)
"aRn" = (/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/pump,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/crew_quarters/locker)
"aRo" = (/turf/simulated/floor/plasteel,/area/quartermaster/storage)
@@ -2443,7 +2443,7 @@
"aUY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/construction)
"aUZ" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/flashlight,/turf/simulated/floor/plasteel,/area/construction)
"aVa" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
-"aVb" = (/obj/structure/plasticflaps,/obj/machinery/conveyor/west{id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage)
+"aVb" = (/obj/machinery/conveyor/west{id = "QMLoad"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/quartermaster/storage)
"aVc" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/hallway/secondary/construction{name = "\improper Garden"})
"aVd" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"aVe" = (/obj/machinery/conveyor/northwest/ccw{id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage)
@@ -3399,7 +3399,7 @@
"bns" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=14-Starboard-Central"; location = "13.3-Engineering-Central"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
"bnt" = (/turf/simulated/wall/r_wall,/area/engine/break_room)
"bnu" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/light,/obj/machinery/camera{c_tag = "Brig - Hallway - Starboard"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 2; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
-"bnv" = (/obj/structure/safe{knownby = list("captain")},/obj/item/clothing/head/bearpelt,/obj/item/folder/documents,/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,/obj/item/lighter/zippo/nt_rep,/obj/item/storage/fancy/cigarettes/cigpack_robustgold,/obj/item/stack/spacecash/c1000{amount = 100000},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 4},/area/security/nuke_storage)
+"bnv" = (/obj/structure/table/wood,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/computer/security/telescreen/entertainment{pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
"bnw" = (/obj/item/folder/yellow,/obj/item/folder/yellow,/obj/machinery/light{dir = 1},/obj/structure/sign/securearea{pixel_y = 32},/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/break_room)
"bnx" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/break_room)
"bny" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/break_room)
@@ -3468,7 +3468,7 @@
"boJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"boK" = (/obj/machinery/door/window{dir = 1; name = "Captain's Bedroom"; req_access_txt = "20"},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
"boL" = (/obj/structure/closet/secure_closet/captains,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
-"boM" = (/obj/structure/safe{knownby = list("captain")},/obj/machinery/light_switch{pixel_y = -23},/obj/item/clothing/head/bearpelt,/obj/item/folder/documents,/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,/obj/item/lighter/zippo/nt_rep,/obj/item/storage/fancy/cigarettes/cigpack_robustgold,/obj/item/stack/spacecash/c1000{amount = 100000},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 4},/area/quartermaster/office{name = "\improper Cargo Office"})
+"boM" = (/obj/structure/rack,/obj/item/tank/emergency_oxygen/double,/obj/item/tank/jetpack/oxygen/captain,/obj/item/clothing/suit/space/captain,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/capspace,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
"boN" = (/obj/item/restraints/legcuffs/beartrap,/obj/item/restraints/legcuffs/beartrap,/obj/structure/table,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_x = -29},/obj/item/reagent_containers/spray/cleaner,/obj/machinery/camera{c_tag = "Custodial Closet"; dir = 4; network = list("SS13")},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/janitor)
"boO" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"boP" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central)
@@ -3960,7 +3960,7 @@
"byh" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=7-Command-Starboard"; location = "6-Port-Central"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"byi" = (/obj/machinery/door_control{id = "hop"; name = "Privacy Shutters Control"; pixel_x = -24; pixel_y = -6; req_access_txt = "28"},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"byj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"byk" = (/obj/structure/table/wood,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/computer/security/telescreen/entertainment{pixel_y = 32},/obj/item/paper/safe_code{owner = "captain"},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
+"byk" = (/obj/structure/safe,/obj/item/storage/secure/briefcase{contents = newlist(/obj/item/clothing/suit/armor/vest,/obj/item/gun/projectile/automatic/pistol,/obj/item/suppressor,/obj/item/clothing/mask/balaclava,/obj/item/bodybag,/obj/item/soap/nanotrasen)},/obj/item/storage/backpack/duffel{contents = newlist(/obj/item/clothing/under/lawyer,/obj/item/clothing/accessory/waistcoat,/obj/item/clothing/shoes/laceup,/obj/item/clothing/gloves/color/black,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/fedora); desc = "A large duffelbag for holding extra things. There is a NanoTrasen logo on the back."; icon_state = "duffel-syndieammo"; item_state = "duffel-syndieammo"},/obj/item/lazarus_injector,/obj/item/gun/energy/gun/advtaser,/obj/item/gun/projectile/revolver/russian,/obj/item/ammo_box/a357,/obj/item/clothing/accessory/stethoscope,/obj/item/book{desc = "An undeniably handy book."; icon_state = "bookknock"; name = "A Simpleton's Guide to Safe-cracking with Stethoscopes"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"byl" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "Head of Personnel APC"; pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"bym" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"byn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
@@ -6233,9 +6233,9 @@
"cpS" = (/obj/machinery/slot_machine{pixel_y = 2},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cpT" = (/obj/structure/chair/stool,/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"})
"cpU" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
-"cpV" = (/obj/item/surgicaldrill,/obj/item/stack/medical/bruise_pack/advanced,/obj/structure/table/glass,/obj/machinery/camera{c_tag = "Medbay Surgery 1 North"; network = list("SS13","Medbay")},/obj/machinery/light{dir = 1; in_use = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
+"cpV" = (/obj/item/surgicaldrill,/obj/item/stack/medical/bruise_pack/advanced,/obj/machinery/camera{c_tag = "Medbay Surgery 1 North"; network = list("SS13","Medbay")},/obj/machinery/light{dir = 1; in_use = 1},/obj/structure/table/tray,/obj/item/scalpel,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
"cpW" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
-"cpX" = (/obj/item/hemostat,/obj/item/scalpel,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
+"cpX" = (/obj/item/hemostat,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
"cpY" = (/obj/item/bonegel,/obj/item/bonesetter,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
"cpZ" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
"cqa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/public/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "gas_turbine_interior"; locked = 1; name = "Incinerator Interior Airlock"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 5},/turf/simulated/floor/engine/insulated,/area/maintenance/incinerator)
@@ -6539,8 +6539,8 @@
"cvM" = (/obj/structure/table,/obj/machinery/computer/crew,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/reception)
"cvN" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plasteel{dir = 10; icon_state = "whiteblue"},/area/medical/reception)
"cvO" = (/obj/structure/table,/obj/item/radio/intercom/department/medbay{pixel_y = 4},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 4; pixel_y = -4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/reception)
-"cvP" = (/turf/space,/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/plating/airless/catwalk,/area/solar/port)
-"cvQ" = (/turf/space,/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"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cvP" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "aftport"; name = "Aft-Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/port)
+"cvQ" = (/turf/space,/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/plating/airless/catwalk,/area/solar/port)
"cvR" = (/obj/structure/chair/office/light,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/reception)
"cvS" = (/obj/machinery/door_control{id = "surgeryobs2"; name = "Privacy Shutters Control"; pixel_x = 25},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery1)
"cvT" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "whitebluefull"},/area/medical/reception)
@@ -6763,7 +6763,7 @@
"cAc" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cAd" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cAe" = (/obj/structure/closet,/obj/item/storage/toolbox/emergency,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
-"cAf" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "aftport"; name = "Aft-Port Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/port)
+"cAf" = (/turf/space,/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"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cAg" = (/obj/structure/closet,/obj/item/extinguisher,/obj/effect/decal/cleanable/cobweb,/obj/item/flashlight,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cAh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/medbay3)
"cAi" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
@@ -6867,11 +6867,11 @@
"cCc" = (/obj/structure/table/glass,/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_y = -32},/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/pen,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/medical/cmo)
"cCd" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/chair,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgeryobs)
"cCe" = (/obj/structure/closet/crate,/obj/item/coin/silver,/obj/item/flashlight/seclite,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
-"cCf" = (/obj/structure/cable,/obj/machinery/power/solar{id = "aftport"; name = "Aft-Port Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/port)
+"cCf" = (/turf/space,/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"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cCg" = (/obj/item/reagent_containers/glass/beaker/large,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/dropper,/obj/structure/table/glass,/obj/item/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/floor/plasteel{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
"cCh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/power/apc{dir = 4; name = "CMO's Office APC"; pixel_x = 26},/obj/structure/cable/yellow,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/medical/cmo)
"cCi" = (/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/obj/item/storage/box/disks{pixel_x = 2; pixel_y = 2},/obj/structure/table/glass,/obj/structure/noticeboard{desc = "A board for pinning important notices upon."; name = "notice board"; pixel_x = -32; pixel_y = 32},/obj/machinery/requests_console{department = "Genetics"; departmentType = 0; name = "Genetics Requests Console"; pixel_y = 30},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/medical/genetics)
-"cCj" = (/turf/space,/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"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cCj" = (/turf/space,/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/plating/airless/catwalk,/area/solar/port)
"cCk" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/reception)
"cCl" = (/obj/structure/chair{dir = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/reception)
"cCm" = (/obj/structure/table,/obj/item/reagent_containers/spray/cleaner,/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/reception)
@@ -6881,7 +6881,7 @@
"cCq" = (/obj/structure/flora/ausbushes/fernybush,/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/ppflowers,/obj/structure/flora/ausbushes/palebush,/obj/structure/window/reinforced{dir = 5; max_integrity = 1e+007},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/grass,/area/medical/surgeryobs)
"cCr" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgeryobs)
"cCs" = (/obj/structure/flora/ausbushes/fernybush,/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/sunnybush,/obj/structure/window/reinforced{dir = 5; max_integrity = 1e+007},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/grass,/area/medical/surgeryobs)
-"cCt" = (/turf/space,/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/plating/airless/catwalk,/area/solar/port)
+"cCt" = (/obj/structure/cable,/obj/machinery/power/solar{id = "aftport"; name = "Aft-Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/port)
"cCu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgeryobs)
"cCv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/chair,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgeryobs)
"cCw" = (/turf/space,/obj/item/stack/cable_coil,/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
@@ -7315,7 +7315,7 @@
"cKI" = (/turf/simulated/wall,/area/space)
"cKJ" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"cKK" = (/obj/machinery/camera{active_power_usage = 0; c_tag = "Bomb Test Site"; desc = "A specially-reinforced camera with a long lasting battery, used to monitor the bomb testing site. An external light is attached to the top."; dir = 8; invuln = 1; light = null; luminosity = 3; name = "Hardened Bomb-Test Camera"; network = list("Toxins","Research","SS13"); use_power = 0},/obj/item/target/alien{anchored = 1},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"cKL" = (/obj/item/surgicaldrill,/obj/item/stack/medical/bruise_pack/advanced,/obj/machinery/camera{c_tag = "Medbay Surgery 1 South"; dir = 1; network = list("SS13")},/obj/machinery/light,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery2)
+"cKL" = (/obj/item/surgicaldrill,/obj/item/stack/medical/bruise_pack/advanced,/obj/machinery/camera{c_tag = "Medbay Surgery 1 South"; dir = 1; network = list("SS13")},/obj/machinery/light,/obj/structure/table/tray,/obj/item/scalpel,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery2)
"cKM" = (/turf/simulated/wall,/area/medical/virology)
"cKN" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/toxins/server{name = "\improper Research Division Server Room"})
"cKO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Test Subject Cell"; req_access_txt = "39"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/medical/virology)
@@ -7386,7 +7386,7 @@
"cMb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/patient_b)
"cMc" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/assembly/robotics)
"cMd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
-"cMe" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
+"cMe" = (/obj/structure/filingcabinet/chestdrawer/autopsy,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cMf" = (/obj/machinery/camera{c_tag = "Morgue"; dir = 2; network = list("SS13","Medbay")},/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cMg" = (/obj/structure/closet,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/primary/aft)
"cMh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/aft)
@@ -7442,7 +7442,7 @@
"cNf" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/r_n_d/circuit_imprinter,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/assembly/robotics)
"cNg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/assembly/robotics)
"cNh" = (/obj/effect/landmark/start{name = "Roboticist"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/assembly/robotics)
-"cNi" = (/obj/item/hemostat,/obj/item/scalpel,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery2)
+"cNi" = (/obj/item/hemostat,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery2)
"cNj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
"cNk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cNl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitebluecorner"},/area/medical/research{name = "Research Division"})
@@ -8032,7 +8032,7 @@
"cYx" = (/obj/structure/chair{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/crew_quarters/fitness{name = "\improper Recreation Area"})
"cYy" = (/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"cYz" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=14.8-Dorms-Lockers"; location = "14.5-Recreation"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/crew_quarters/fitness{name = "\improper Recreation Area"})
-"cYA" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "aftstarboard"; name = "Aft-Starboard Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/starboard)
+"cYA" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"cYB" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
"cYC" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "open"; id_tag = "psychoffice"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/psych)
"cYD" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/escape)
@@ -8056,10 +8056,10 @@
"cYV" = (/obj/machinery/processor{desc = "A machine used to process slimes and retrieve their extract."; name = "Slime Processor"},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cYW" = (/obj/machinery/door/airlock/maintenance{name = "Morgue Maintenance"; req_access_txt = "6"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/medical/morgue)
"cYX" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
-"cYY" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cYY" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"cYZ" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"cZa" = (/obj/machinery/light_switch{pixel_x = 28},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/camera{c_tag = "Chapel Office"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office)
-"cZb" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cZb" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "aftstarboard"; name = "Aft-Starboard Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/starboard)
"cZc" = (/turf/space,/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/plating/airless/catwalk,/area/solar/starboard)
"cZd" = (/turf/space,/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"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"cZe" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape)
@@ -8084,7 +8084,7 @@
"cZx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main)
"cZy" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay3)
"cZz" = (/obj/structure/cable/yellow{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,/obj/machinery/door/airlock/public/glass{name = "Arcade"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet/arcade,/area/crew_quarters/fitness{name = "\improper Arcade"})
-"cZA" = (/obj/structure/cable,/obj/machinery/power/solar{id = "aftstarboard"; name = "Aft-Starboard Solar Array"},/turf/simulated/floor/plating/airless{icon_state = "solarpanel"},/area/solar/starboard)
+"cZA" = (/turf/space,/obj/item/stack/cable_coil,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"cZB" = (/turf/simulated/shuttle/floor,/area/shuttle/escape)
"cZC" = (/obj/item/radio/intercom{frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main)
"cZD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/door/firedoor,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -8106,7 +8106,7 @@
"cZT" = (/obj/structure/lattice,/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
"cZU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cZV" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_r"; tag = "icon-propulsion_r (EAST)"},/turf/simulated/shuttle/plating,/area/shuttle/escape)
-"cZW" = (/turf/space,/obj/item/stack/cable_coil,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cZW" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"cZX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -23},/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main)
"cZY" = (/obj/machinery/hydroponics/soil{pixel_y = 8},/obj/item/seeds/berry,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cZZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -8235,7 +8235,7 @@
"dcs" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"dct" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"dcu" = (/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'; overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi'; name = "Test Chamber Maintenance"; req_access_txt = "47"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"dcv" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dcv" = (/turf/space,/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"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"dcw" = (/obj/structure/window/reinforced,/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 24; pixel_y = 24; req_access_txt = "55"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"dcx" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen #5"; req_access_txt = "55"},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"dcy" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen #6"; req_access_txt = "55"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -8253,7 +8253,7 @@
"dcK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 6; level = 2},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/medical/cryo)
"dcL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"dcM" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0; idle_power_usage = 0; use_power = 0},/turf/simulated/shuttle/floor,/area/shuttle/escape)
-"dcN" = (/turf/space,/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"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dcN" = (/turf/space,/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/plating/airless/catwalk,/area/solar/starboard)
"dcO" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_sw"; name = "southwest of station"; width = 18},/turf/space,/area/space)
"dcP" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor,/area/shuttle/escape)
"dcQ" = (/obj/structure/chair{dir = 1},/obj/item/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape)
@@ -8276,7 +8276,7 @@
"ddh" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 10},/obj/item/radio/electropack,/turf/simulated/floor/plasteel,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"ddi" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
"ddj" = (/obj/structure/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"ddk" = (/turf/space,/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/plating/airless/catwalk,/area/solar/starboard)
+"ddk" = (/obj/structure/cable,/obj/machinery/power/solar{id = "aftstarboard"; name = "Aft-Starboard Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/starboard)
"ddl" = (/obj/machinery/shower,/turf/simulated/shuttle/floor,/area/shuttle/escape)
"ddm" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor,/area/shuttle/escape)
"ddn" = (/obj/structure/table,/obj/item/defibrillator,/turf/simulated/shuttle/floor,/area/shuttle/escape)
@@ -8453,7 +8453,7 @@
"dgC" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"dgD" = (/obj/machinery/camera{c_tag = "Quartermaster's Office"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/engine,/area/hallway/secondary/entry{name = "Arrivals"})
"dgE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboard)
-"dgF" = (/obj/structure/safe/floor{knownby = list("captain")},/obj/item/clothing/mask/cigarette/cigar/havana,/obj/item/lighter/zippo/nt_rep,/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium,/obj/item/toy/figure/captain,/obj/item/gun/projectile/revolver/russian,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
+"dgF" = (/obj/structure/reagent_dispensers/oil,/turf/simulated/floor/plasteel,/area/assembly/robotics)
"dgG" = (/obj/structure/rack,/obj/item/stack/sheet/cardboard,/obj/item/radio/off,/obj/effect/spawner/lootdrop/maintenance,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"dgH" = (/obj/structure/closet/l3closet,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology)
"dgI" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/starboard)
@@ -8469,7 +8469,6 @@
"dgS" = (/turf/simulated/wall/r_wall/coated,/area/toxins/mixing{name = "\improper Toxins Lab"})
"dgT" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/wall/r_wall/coated,/area/toxins/mixing{name = "\improper Toxins Lab"})
"dgU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall/coated,/area/toxins/server{name = "\improper Research Division Server Room"})
-"dgV" = (/obj/structure/rack,/obj/item/tank/emergency_oxygen/double,/obj/item/tank/jetpack/oxygen/captain,/obj/item/clothing/suit/space/captain,/obj/item/clothing/mask/gas,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/obj/item/crowbar/red,/obj/item/clothing/head/helmet/space/capspace,/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
"dgW" = (/obj/machinery/computer/camera_advanced/xenobio,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"dgY" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0; idle_power_usage = 0; use_power = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
"dgZ" = (/obj/structure/table,/obj/item/storage/box/handcuffs,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
@@ -8555,33 +8554,33 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaGaakaakaaHaaiaaBaakaaCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabfabqabuabqabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaGaakaaIaaJaaiaaBaakaaCaaiaadaaKaaLaaMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabeabdabfabfaaaaaaaaaabAaaaaaaaaaabfabeabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaNaakaakaaOaaiaaPaakaaraaQaaRaaRaaRaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaabqabqaaaaaaaaaabAabqabqaaaabqabqaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaGaakaakaakaaSaakaakaaTaaUaaVaaVaaWaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabLabLabLabLabLabqabIabqabLabLabLabLabLaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaGaakaakaakaaSaakaakaaTaaUaaVaaVaaWaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabIabIabIabIabIabqabLabqabIabIabIabIabIaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaGaakaakaakaaYaakaakaakaaZabaabaabbaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabMabUabUabUabUabVabWabXabYabYabYabYabZabqabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaadaadaadaadaadaadabcaakaakaadaadaadaadaadaadaaMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabfabqaceaceaceaceaceabqabWabqaceaceaceaceaceabqabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabgabgabhabiabjaaiabkaakaakaaiablabmabnaboabpaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaabqaaaaaaabqabWaaaaaaabqaaaabqaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaakaakaakaaIaakabraakaakaakabsaakaaIaakaaIabtaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabLabLabLabLabLabqacfabqabLabLabLabLabLabqabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaakaakaakaaIaakabraakaakaakabsaakaaIaakaaIabtaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabIabIabIabIabIabqacfabqabIabIabIabIabIabqabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabvaakaakaakaakabxaakaakaakabyaakaakaakaakabzaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabMabUabUabUabUabVabWabXabYabYabYabYabZaaaabfabqaaaabqabqabqabqaaaaaaabqaaaabBabBacgabBacgabBabBaaaabqabqaaaabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabwaakaakabCabDaaiabEabFabEaaiabGabHaakaakaakaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqaceaceaceaceaceabqabWabqaceaceaceaceaceabqabeaaaabqabqaaaaaaaaaaaaaaaabqabqabBachacjaciacaackabBabqabqaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaakaakaclaaiaadaaiaakabJabKaaiaadaaiaakaakaakaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabdaaaaaaaaaabqaaaaaaaaaaczaaaaaaaaaabqaaaaaaabqabdaaaaaaabqaaaaaaaaaabqabqabqaaaacnacmacpacoacracqacsaaaaaaacuacvacwaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabNabOabPaaiaaaaaiabQabQabQaaiaaaaaiabRabSabTaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabLabLabLabLabLabqabWabqabLabLabLabLabLabqaaaaaaaaaabqabqaaaabqabqaaaabqaaaabBactacBacAacDacCabBaaaacGacHacIacHacJaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabNabOabPaaiaaaaaiabQabQabQaaiaaaaaiabRabSabTaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabIabIabIabIabIabqabWabqabIabIabIabIabIabqaaaaaaaaaabqabqaaaabqabqaaaabqaaaabBactacBacAacDacCabBaaaacGacHacIacHacJaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabQabQabQaaiaaaaawacbaccacdaayaaaaaiabQabQabQaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqabMabUabUabUabUabVabWabXabYabYabYabYabZabqaaaabBabqabqacEabBacgabBabBacgabBabBabBacLacFacMabBabBacgabBacHacPacHacNabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawacbaccacdaayaaaaaaaaaaaaaaaaaaaaaaawacbaccacdaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaceaceaceaceaceabqabWabqaceaceaceaceaceabqabqabBacOacOacOabBacQacSacRacUacTacWacVacXacoacZacKadbadaabBacYadhadgacNaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabfaaaabqaaaabqabqaaaaaaadiaaaaaaaaaabqaaaaaaabqaaaabBadcadeaddabBadfadlacAadnadmadoadoadqadpadsadraduadtabBadvadwadvacNacNacNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabfabfabfabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfaaaaaaabqabqabqabAaaaaaaaaaabqabqabqabqaaaabBadxadzadyabBadAacNadBadnadoacAadmadRadQadSadnadUadTabBadVadXadWadZadkadZabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqaaaaaaabqaaaabAaaaaaaaaaabqaaaaaaabqabqabBaeaaecaebabBaedacNadDaepacoacoaeqaesaeraeuaetadoaevabBaewabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabqacxaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabAaaaaaaaaaaaaaaaaaaaaaaaaabBaexaezaeyabBabBabBadCadoaeBaeOadEaeQaePaeSaeRadoaeTacNadvacNaeUadIaeUabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaabqaaaaaaabqabqabqaaaaaaabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabfabfabfabfabfabfabfaaaadGaaaabdabfabfabfabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabIabqabqaaaaaaaaaaaaaaaaaaabBaeWadYaeXafaaeZafcacNafdacNaftacNafuacNacNacNafvacNacNafwacNaeCafzafyacsabqabqaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqabqabqabqaidaidaidaidaifaidaidaeVaeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaabqabqabqaaaaaaadGabqabqaaaabqabqaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabWaaaaaaaaaaaaaaaaaaaaaaaaabBaeYafDafCafOafEafQafPadoafpaftafSafUafxacNafVadoafAacNadvacNafBagaafZabBaaaabqabqabqabqagcabqabqabqaaaaaaaaaaaaabqaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaidadFaieaolapKafRaskagdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadjadjadjadjadjabqadPabqadjadjadjadjadjabqabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaaaabWabqabqabqaaaaaaaaaaaaaaaabBafTagmagfafXafWafQagpadoagqagtagsagvaguacNagwadoaguacNadVacNagxagzagyabBaaaabqabqagAagAagAagAagAabqabqaaaaaaaaaabqaaaagCagCagbafYagragCagCagDaaaaidadHauiasZasZasZaskagdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqaeAafoafoafoafoafqaeeafGageageageageagnaaaabfaaaaaaadJadKadLadMaaaaaaaaaadJaaaaaaaaaadMaaaaaaaaaadJadNadOadMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqagoabqaaaaaaaaaaaaaaaaaaaaaabBagNagPagOabBagQafQagRagSacNaftacNagTaftacNagRagUaftacNaewacNaftagVagRabBabqabqagAagAagYahfaheagAagAabqabqaaaaaaabqagCagCagWahaahbahcagZagCagCaaaaidagEauiavaasZasZaskagdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqaegaegaegaegaegabqaeeabqaegaegaegaegaegabqabfaaaaaaaehaeiaejaehaaaaaaadJaehaekaelaemaehadMaaaaaaaehaenaeoaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabAaaaaaaaaaaaaaaaaaaaaaaaaabBaexaezaeyabBabBabBadCadoaeBaeOadEaeQaePaeSaeRadoaeTacNadvacNaeUadIaeUabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaabqaaaaaaabqabqabqaaaaaaabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabfabfabfabfabfabfabfaaaadjaaaabdabfabfabfabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabLabqabqaaaaaaaaaaaaaaaaaaabBaeWadYaeXafaaeZafcacNafdacNaftacNafuacNacNacNafvacNacNafwacNaeCafzafyacsabqabqaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqabqabqabqaidaidaidaidaifaidaidaeVaeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaabqabqabqaaaaaaadjabqabqaaaabqabqaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabWaaaaaaaaaaaaaaaaaaaaaaaaabBaeYafDafCafOafEafQafPadoafpaftafSafUafxacNafVadoafAacNadvacNafBagaafZabBaaaabqabqabqabqagcabqabqabqaaaaaaaaaaaaabqaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaidadFaieaolapKafRaskagdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadGadGadGadGadGabqadPabqadGadGadGadGadGabqabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaaaabWabqabqabqaaaaaaaaaaaaaaaabBafTagmagfafXafWafQagpadoagqagtagsagvaguacNagwadoaguacNadVacNagxagzagyabBaaaabqabqagAagAagAagAagAabqabqaaaaaaaaaabqaaaagCagCagbafYagragCagCagDaaaaidadHauiasZasZasZaskagdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqaegaeAaeAaeAaeAafoaeeafqafGafGafGafGageaaaabfaaaaaaadJadKadLadMaaaaaaaaaadJaaaaaaaaaadMaaaaaaaaaadJadNadOadMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqagnabqaaaaaaaaaaaaaaaaaaaaaabBagNagPagOabBagQafQagRagSacNaftacNagTaftacNagRagUaftacNaewacNaftagVagRabBabqabqagAagAagYahfaheagAagAabqabqaaaaaaabqagCagCagWahaahbahcagZagCagCaaaaidagEauiavaasZasZaskagdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqagoagoagoagoagoabqaeeabqagoagoagoagoagoabqabfaaaaaaaehaeiaejaehaaaaaaadJaehaekaelaemaehadMaaaaaaaehaenaeoaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabAaaaabqaaaaaaaaaaaaaaaaaaabBahiahAahzabBahBahDahCahFahEahdahGahJahIahxahKahNahMahOahGahQahPahSahRahTabqagAagAahVahUahUaiqaiwagAagAabqaaaaaaabqagCahWahXahYahZaiaaibahHagCaaaavOahlawxawwawwawwaomagdaaaaaaabqaaaaaaaaaaaaaikaijaijaijaikaikabqaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaaaabqaaaaaaabqagHaaaaaaaaaabqaaaaaaaaaabeaaaaaaaehaeDaeEaehaaaadJaeFaeGaeHaeIaeJaeGaeFadMaaaaehaeKaeLaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaabAaaaabqabqabqaaaaaaaaaaaaabBabBabBabBabBaixaiyaiyahLaiyaiBaiyaicaizaiDaiyaiGaiFaiyaiyaiyaiHaiJaiIaiKabqagAaipaiNaiMaiPaiOahUaiuagAabqaaaaaaabqagFaiVaiWaiXaiYaiZajaaiAagLaaaaidajsaztaztajvaiCaidaeVaeMaaaabqaikaijaijaijaikaiLajkajjajlaikaeNafbcKIacJabeabfabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqadjadjadjadjadjabqaeeabqadjadjadjadjadjaaaabfaaaaaaaehafeaffafgaaaafhafiaeGaeGafjaeGaeGafiafkaaaaflafmafnaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqagMaiQaiQaiQaiQaiQaiQaiRabqaaaabqaaaaaaabBabBabBabBabBaiEaiUaiTabBaiSajeajdacNacNacNacNajFajfajHajGajIabqagAajhaiNajKajMajLahUajoagAabqaaaaaaabqajcajXajYajOakaakbajYanJajcabqaidafragjagjafsaidaidaaaaaaaaaabqaikajmalbakkalZakkakkakkapMaikafFajrafHafHafIaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaeAafoafoafoafoafqaeeafGageageageageagnabqabfaaaaaaaeFafJaeFaaaaaaafKafiaeGafLafMaeGaeGafiafNaaaaaaaeFafJaeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaabqaaaabqaaaaaaaaaabAaaaaaaabqaaaaaaaaaaaaaaaaaaabBabBaiKabBabBabBaiKabBabBajPajRajwacNajTakfajUajVagAagAajWakcajZakgakdakAakuagAabqabqabqabqagCajxakQakBakSalAakUajzagCabqaidakCazEazEaBKaysaidabqabqabqabqaijapRakkapVarnakkasEakkatSaikaggaghagiajDagkaaaabeabfabeabqabqaaaaaaaaaaaaaaaaaaaaaaaaabfabqaegaegaegaegaegabqaeeabqaegaegaegaegaegabqabfaaaaaaaeFafJaeFaeFaeFaeFaeFaeFaeFaglaeFaeFaeFaeFaeFaeFaeFafJaeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaabAaaaabqabqabqaaaaaaaaaaaaabBabBabBabBabBaixaiyaiyahLaiyaiBaiyaicaizaiDaiyaiGaiFaiyaiyaiyaiHaiJaiIaiKabqagAaipaiNaiMaiPaiOahUaiuagAabqaaaaaaabqagFaiVaiWaiXaiYaiZajaaiAagLaaaaidajsaztaztajvaiCaidaeVaeMaaaabqaikaijaijaijaikaiLajkajjajlaikaeNafbcKIacJabeabfabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabqadGadGadGadGadGabqaeeabqadGadGadGadGadGaaaabfaaaaaaaehafeaffafgaaaafhafiaeGaeGafjaeGaeGafiafkaaaaflafmafnaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqagMaiQaiQaiQaiQaiQaiQaiRabqaaaabqaaaaaaabBabBabBabBabBaiEaiUaiTabBaiSajeajdacNacNacNacNajFajfajHajGajIabqagAajhaiNajKajMajLahUajoagAabqaaaaaaabqajcajXajYajOakaakbajYanJajcabqaidafragjagjafsaidaidaaaaaaaaaabqaikajmalbakkalZakkakkakkapMaikafFajrafHafHafIaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaegaeAaeAaeAaeAafoaeeafqafGafGafGafGageabqabfaaaaaaaeFafJaeFaaaaaaafKafiaeGafLafMaeGaeGafiafNaaaaaaaeFafJaeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaabqaaaabqaaaaaaaaaabAaaaaaaabqaaaaaaaaaaaaaaaaaaabBabBaiKabBabBabBaiKabBabBajPajRajwacNajTakfajUajVagAagAajWakcajZakgakdakAakuagAabqabqabqabqagCajxakQakBakSalAakUajzagCabqaidakCazEazEaBKaysaidabqabqabqabqaijapRakkapVarnakkasEakkatSaikaggaghagiajDagkaaaabeabfabeabqabqaaaaaaaaaaaaaaaaaaaaaaaaabfabqagoagoagoagoagoabqaeeabqagoagoagoagoagoabqabfaaaaaaaeFafJaeFaeFaeFaeFaeFaeFaeFaglaeFaeFaeFaeFaeFaeFaeFafJaeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaabqaaaabqabqabAabqabqabqabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaabqabqabqacnakEakFakEakHakGakKajJagAagAagAakLakragAagAakNagAagAagAatKatKatKalPagCagCakzakYalRalualsagCagCalPaidakObPLbPLbTgbTfaidabqaaaaaaabqaikctwalbcyqczlcyFczzakkcKlaikagGajSafHafHagIaaaabqaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaabqaaaaaaaaaaeeaaaaaaaaaabqaaaaaaaaaabdaaaaaaafhafJagJagJagJagJagJagJaehagKaehagJagJagJagJagJagJafJafkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqabqaaaabqaaaabqagXajNagXabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaabBabBabBabBabBakRajHakTagAajQakWakMalaakLalCalBaksalDalGalCalHamOamMakJamOamPamQamRamSamTamOamUdeRalIalKalJazEdeGdeCaidabqabqafbaeNaikaijaijaijaikcKmcZncZiaikaikahgafbahhahjahjahkahjahjahyaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadjadjadjadjadjabqakXabqadjadjadjadjadjabqabfaaaaaaahmahnahoahpahqahraehaglaeFaglaeFaglaehahsahtahuahvahnahwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaabqabqabqagXakPagXabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqamxalNalFalOagAakVakWalmalaalUalXalValYalYalYalYalYamwamAamyakZaoeamCamBamFamDamHamGamJamIamLazEalEamVamXaidabqabqafbaigafbaihaiiailaikaijcZzaijaikainaioajbaivairairairairairaivabqabqabqabqabqaaaaaaaaaaaaaaaabfabqaeAafoafoafoafoafqaeeafGageageageageagnabqabfaaaaaaafKahnaeGaeGaeGaisaehaeGaeGaeGaeGaeGaehaeGaeGaitaeGahnafNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqabqagXagXalQagXagXabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaabqamxamYaAsapnanaamZamZanbanLalnanNanManOalCamqalSanRamOanTapAapBapCapDapEanUapCanWanVaspaidaidaidaidaidaidaidaidabqafbamsajicRKcWScWScXocWSamNajnamWajpajpajpaivairairairairairaivaaaaaaaaaaaaabqaaaaaaaaaaaaaaaabfabqaegaegaegaegaegabqaeeabqaegaegaegaegaegabqabeabqaaaaehalTanpamlajtajuaehanraeGaeGaeGanFaehanXaeGanYajAajqaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqabqaaaabqaaaabqagXajNagXabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaabBabBabBabBabBakRajHakTagAajQakWakMalaakLalCalBaksalDalGalCalHamOamMakJamOamPamQamRamSamTamOamUdeRalIalKalJazEdeGdeCaidabqabqafbaeNaikaijaijaijaikcKmcZncZiaikaikahgafbahhahjahjahkahjahjahyaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadGadGadGadGadGabqakXabqadGadGadGadGadGabqabfaaaaaaahmahnahoahpahqahraehaglaeFaglaeFaglaehahsahtahuahvahnahwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaabqabqabqagXakPagXabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqamxalNalFalOagAakVakWalmalaalUalXalValYalYalYalYalYamwamAamyakZaoeamCamBamFamDamHamGamJamIamLazEalEamVamXaidabqabqafbaigafbaihaiiailaikaijcZzaijaikainaioajbaivairairairairairaivabqabqabqabqabqaaaaaaaaaaaaaaaabfabqaegaeAaeAaeAaeAafoaeeafqafGafGafGafGageabqabfaaaaaaafKahnaeGaeGaeGaisaehaeGaeGaeGaeGaeGaehaeGaeGaitaeGahnafNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqabqagXagXalQagXagXabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaabqamxamYaAsapnanaamZamZanbanLalnanNanManOalCamqalSanRamOanTapAapBapCapDapEanUapCanWanVaspaidaidaidaidaidaidaidaidabqafbamsajicRKcWScWScXocWSamNajnamWajpajpajpaivairairairairairaivaaaaaaaaaaaaabqaaaaaaaaaaaaaaaabfabqagoagoagoagoagoabqaeeabqagoagoagoagoagoabqabeabqaaaaehalTanpamlajtajuaehanraeGaeGaeGanFaehanXaeGanYajAajqaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaabqajBajCanKanmajBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqamxamYaAsatragAanZaqGaobasaaoaaofaocaofatKatKatKatKamOaogdfnaqZapCaraarbarcapCaoiaohaspatKalqalqalqalqalqalqanQanQavvavvafbanPakhakiakiakjcXDaklakmakmaknakoaivairairairairairakpafbafbafbaaaabqaaaaaaaaaaaaaaaabeaaaaaaaaaabqaaaaaaaaaaeeaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaehakqakqaeFaeFaeFaehasbaeGaeGaeGasYaehaeFaeFaeFakqakqaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaktaktakIakIakIakIakIajBakvakwakxajBabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqamxamxamxamxamxamYaAsatragAagAaonagAagAagAaopaooaosaoqaotaojaowamOaoxdfnasiapCapCaoHapCapCaoLaohaodatKalqalqalqalqalqalqanQaokaoEapkafbcXHakhakialcaldcXZaldaleakmalfalgalhairairairairairalialjalkaeNaaaabqabqabqabqabqabqabfabqabqabqabqabqaaaaaaaeeaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaflallallafgaaaaaaaehaunaeGaeGaeGauoaehaaaaaaaflallallafgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaloalpakIammaoYajyaltajBajEalvalwajBakyalLakyakyabqabqaaaaaaaaaaaaaaaabqaaaabqabqamxaoMaoWanSaplamYapmatragBapoappapoagBapqapsaprapiaoqapvapuaovamOaptapwatCatDatEapCatGapyapzaohapGapFalqalqalqalqalqalqapIaokapNapLarfaqOakhamaambamccYbamdameamfamgamhaeNairairairairairaeNamiamjaeNaaaabqaaaabqaaaamkamkamkamkamkamkamkabqabqabqaeeabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehauraeGaeGaeGauoaehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8600,7 +8599,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqarAarAarAarAarAarAarAaCnarAabqabqabqabqaAAaoXatkarIalLaaaaCoaCpaCqaCpaCoayKayKayKaCsaCsaCsaCsaCtaCsaCsaCuaCuaCuaCuazRaCuaCwajgabqaBbaCxaCyaCzaDtaCBaBbaaaayMaCCaCCaDuayMaaaaaaakDayLaCGazwatJayLaCIazwakDayLaCJazwakDaCKalMaCLakDamEazzaANamEamEaCOaCOaCPaCQaCRaCOaCOaCSakDakDakDakDakDayGcccaQdaCUaQvavravravravravraCWaCXaCYazlazmavvavvavvaoGaCZasIarrasJasIaDadgIaxhaxhaxhaxhaxhaEzaDsbsFaDwaEnaEdaEnaESaDiaDiaDjaWzaEWaDfaFaaDfaFkaWzaDjaDiaFmaDnaCgabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqabqabqarAarAarAarAataarAarAarAaDparAarAarAarAabqaaaabqalLcdnatkapdapfaaaaASaDqaDraDqaASayKaEsaEBaCsaFEaDvaFFaDxaDyaCsaDzaDAaDBaCEaCNaCuaCwajgaaaaBbaDEaDFaDGaDHaDIaBbaaaaxEaDJaCCaucayMaAfaAfamxaDMaDNaDOakDaDPaDNaDOakDaDQaDNaDOakDaDRaDSaDTakDaDUaDVaDWaDXaDYaCOaDZaEaaEbaEcaFHaEeaCSaEfaEgaEgaEgaEgaDdcccaRtaEkaRyaBIaEmaFKaEmavvaEoaEpaEqaEraEDaEuaEuaEvaBWaEwaxhaxhaxhaxhaxhaxhaxhaEAaEAaFMaGbaFNaEEaGCaGeaCgaCgaCgabqabqaDiaFSaEFaDiaDiaDiaDiaDiaEGaFSaDiaDCaGTaCgaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqarAarAarAarAarAarAarAabqarAabqabqarAarAabqabqapfapfauyatkapfapfaaaaCobxFaDqaDqaEIaEJaEKaEKaELaEMaENaEOaEPaEQaFOaFQaETbnWbkXaHxaCubMCajgaaaaBbaEXaEYaEZaHKaFbaBbaaaayMaFcaCCaCCaFdaFeaFfamxaFgaDNaFhakDaFgaDNaFiakDaFgaDNaFjakDaHLaFlaHNakDaFnaFoaFpaFqaFraCOaFsaFtaFuaFvaFwaFxaCSayGalWcajalWaFTalWaBIaTeaFDaThaBIaHVaFGaFGaHZaFIaFJaIcavvavvavvavvavvaoGaFLaxhaHHaGXaIzaIuaISaFRaGcaFWaFWaFWaFWaFUaIiaGdaHiaFYaCgaFZabqaaaabqaaaaaaaaaabqabqaaaaaaabqaaaaWAaEiaGTaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaarAarAarAarAarAabqabqabqarAarAarAabeaaaabqabqabqapfaAgaoXaoXaECalLaaaaaaaASaDraDraDraASayKaGYaGZaIyaEMaEKaGfaGgaGhaCsaGicbmaGkaEHaGmaCubMCajgabqaBbaGnaGoaGpaGqbnvaBbaaaayMaGsaGsaGsayMaAfauFamxaAEaCFaCramxaAEaCFaCramxaAEaCFaCramxaGxaCHaGzamxamxazzaGAamxaGBaCOaIGaGDaIRbyDaGGaGHaCSayGajgajgajgaFyaWvaBIaGKaGLaBIaBIaGMaGNaGOaGPaGQaGRaGSazlaITaGUaypavvaGVaGWaxhaIVaHaaHgaHgaIvaCMaDsaHcbCjbALbALbALaJbaIWaJoaOaaDLarAaJxaJtaJtaJJaJtaJtaJJaJtaJtaJJaJtaJtaKaaWAaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaarAarAarAarAarAabqabqabqarAarAarAabeaaaabqabqabqapfaAgaoXaoXaECalLaaaaaaaASaDraDraDraASayKaGYaGZaIyaEMaEKaGfaGgaGhaCsaGicbmaGkaEHaGmaCubMCajgabqaBbaGnaGoaGpaGqbykaBbaaaayMaGsaGsaGsayMaAfauFamxaAEaCFaCramxaAEaCFaCramxaAEaCFaCramxaGxaCHaGzamxamxazzaGAamxaGBaCOaIGaGDaIRbyDaGGaGHaCSayGajgajgajgaFyaWvaBIaGKaGLaBIaBIaGMaGNaGOaGPaGQaGRaGSazlaITaGUaypavvaGVaGWaxhaIVaHaaHgaHgaIvaCMaDsaHcbCjbALbALbALaJbaIWaJoaOaaDLarAaJxaJtaJtaJJaJtaJtaJJaJtaJtaJJaJtaJtaKaaWAaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqabqabqabqabqabqabqaHkaHlaHkabfaaaabqaaaabqapfaHmaHnanEatkapfapfaaaaCoaHoaHpaHqaCoayKayKayKaCsaHraEKaHsaGgaHtaCsaHuccwcjvciyaHyaCuaCwajgaaaaBbaHzaHAaHBaHCaBbaBbaaaaHDaHEaHEaHEaHFaHGaKraHGaHIaHJaHIaKxaHIaHJaHIaKDaHIaHJaHMaKLaHOaHPaHQaFCaHSaHTaHUamxazeaCSaKNaHWbHcaKSbIbaIaaCSayGaBIaKWaIdaHdaGJaGJaHeaIhaLcaIjaIkaIlaImaInaIoaIpayeaIqaIraIsaItavvasJaGWaxhaJIaIAaIwaIxaIDaJRaIEaIBaMXaIFaIFaIFaLwaLnaLEaOaaDLaMIaLNarAarAaPyarAarAaPyarAarAaPyarAarAaLNaWAaLOaCgaDoabqaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaabqabqaaaaHkaJKaHkabqabqabqabqabqapfauJcgocgoaHXaIJapfaaaaIKaARaILaARaIMabqabqabqayKaINaIOaIPaIQaMbaCsaJSaMqclWcliaMzaCuaCwajgaaaabqaaaaGaaIYaGuaaaabqaaaaHGaAfaAfaAfaHGaHGaJaaMGaJcaJdaJeaJfaJgaJhaJhaJiaJhaJjaJgaJkaJlaJmaJnaERaJpaJqaJramxazeaCSaCSaJsaMJaCSbNVaCSaCScmUaBIaBIaBIaJvaJwaMKaIeaJzaJAaJBaJCaJDaJEaJFaJFaJGaJHavvavvavvavvavvaubaGWaxhaJTaJLaJOaJMaJQaGvaKTaJPaLsaJUaJZaJVaMUaMQaLEaOaaDLaDLaLNarAaJWaaaaaaaaaaaaaJWaaaaaaaJWarAaLNaIfaKpaCgaNdabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaabqaaaaHkaHlaHkaHkaGwaGwaGwaHkaHkaHkaHkaHkapdatkapfaaaaaaaaaaaaaaaaaaaaaaaaabqayKaNgbOgaKdaKeaKfaCsaLoaKhaCuaCuaCuaCuaKiajgaKjaGyaHjaHbaKgaHRaIZaIXaKjaHGaNyaKsaKsaKtaKuaKvaKwaNDaKyaKzbPXaNJaTiaNLaKEaKCaKFaKGaKHaKIaKJaKKaJNaObaOiaOhamxazeaKPaCSaKQaKRaCSaLMaFTcajcmUaBIaOwaKXaKYaKZaBIaLaaLbaONaBIaLdaLeaLfaLgaLfaLhaLiaLjaLkaLlaLmavvasJaGWaxhaLqaLpaLuaLraLRaFRaOXaLtaLsaLUaCgaCgaPaaNdaCgaDLaDLaDLaLNarAaaaaaaaaaaaaaaaaLxaaaaaaaaaaTMaPgaIfaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8608,22 +8607,22 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaHkaMLaMLaMLaLBaLBaLBaLBaLBaLBaMLaMLaMMaHkaHvalLaaaaMNaMOaMOaMOaMOaMOaMNabqabqaKlavKaMVaMSaMTaMYaNbaMWaMZaNYaNcaOxaOfaNXaNaaRBaNeaNfaRGaNhaNiaNjaNkaNlcDtaRNbTqaKmaaaaaaaaaabqaaaaaaaaaabqaaaaaaaaaaKoaNraNsaNtaMkaNuaNvaNwaNxaRSaNzaNAaNBaNCaMkaSDaRWaNFaNGaJXaMnaAVaBIaSJaNKaJwaPSaBIaTgaBIaNMaBIaNNaNOaNPaNQaNQaNQaNQaNQaNQaNQaNQaNQbuCaNRaxhaNSaNTaNUaNVaCgaPKaIAaMFaOvaOgaPLaTlaTJaOcaOdaOeaTKaDLaLNarAaJWabqabqaOmaPdaOqabqaOjaaaarAaLNaWAaTOaCgaDoabqabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaUUaUUaUUaUUaUUaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaHkaOkaLBaLBaLBaLBaLBaLBaLBaLBaMLaMLaMLaOlaPeapfaaaaMNaOnaMOaMOaMOaMOaMNaTUaKlaKlawbaxXaOraOraOsaOtaOuaOWaPMaPNapfaOyapfapfapfapfaOzaOAavxaOCaKnavxaOAaOAaOAaOAaOFaaaaaaaOGaOGaOGaOGaOGaOGaOGaaaaaaaMfaOHaOIaOJaOKaOLaNAaOMaUaaOOavBaOQaORaOSaMkaOTaOUaOVaNHaKVaMnbViaBIaBIaBIaOZaOZaBIaBIaBIaBIaBIbVmbWpbVoaNQaUfaPqaPhaPIaPzaPiaPjaNQaPkaGWaxhaNTaNTaPlaOdbXuaHaaPnaPoaPpaUhaCgaUFaPsaPtaPuaPvaRfaUKaUMarAaaaaaaabqaRhcspaSkabqaaaaaaaTMaPgaIfaLOaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaaaaaaaaaaaaaaaabdabdabdabdabdabdabdaXHaXIaWBaXJaWBaXKaXOabdabdabdabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaabqaHkaPAaLBaLBaLBaLBaPBaLBaLBaLBaLBaMLaPDaHkaECapfaaaaMNaMOaMOaMOaMOaMOayjaPfaOpaPfaPEaSmaPJaPQaPPaQFaQEaPOaQGaQHaPRbwqaPTaPTaPTaPTaPVaOAaYOaPXaPYaPZaQaaQbaQcbeBaQeaQfaQgaQgaQhaUPaQjaQkaQlaQmaQmaQnaQoaQpaKGaNtaMkaQqaNAaQraNAaQsaNAaQtaNAaNAaMkaQubeLaOVaQwaQxaMnbXQaQzaQAaQBaQCaQDaRnaQIaVpaVmaVraQJaQKaQLaNQaQMaQNaQNaQNaQOaQPaQQaNQawvaGWaxhaQSaQSaQTaOdbXuaJLaQUaMFaSEaSnaPLbELaVsaRbaRcaRdaSoaDLaLNarAaaaaReabqaSpaTIaTGabqabqaJWarAaLNaWAaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaUUaUUaUUaUUaUVaXNbbXbbWbbYbbWbbZbgUaUVaUUaUUaUUaUUaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGwaLBaLBaLBaLBaLBaLBaLBaLBaLBaLBaRiaHkaHkatkapfabqaMNaMOaMOaMOaMOaMOaRkaRlaRmaRlaSbaSmaRoaRoaRpaRoaOuaRqaSjaSlapfapfapfapfapfapfazSaOAbgkaRuaRvaRwaRxaRxaRxbgyaOFaaaaOGaVwaRAaRAaRAaRAaRAaVAaOGaaaaMfaRCaMiaMjaMkaRDaREaRFaNAaSyaNAaRHaRIaNAaRJaRKaRLaRMaVBaROaMnbYFaQVaQVaQVaQVaQWaRTaRTaRUaRUaRVaVHaRXaRYaRZaSaaSBaSAaSBaScaSdaSeaNQaSfaGWaxhaQSaSgaShaSiaCgaSCaIAaMFaLsaVNaCgaWbaWgaTRaTRaTRaTVaDLaLNarAaaaaaaabqabqabqabqabqaaaaaaarAaLNaWAaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbcbbcabcabcabcabcabzhbzhbdJbzhbzhbcabcabcabcabcaaXKaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGwaLBaLBaLBaLBaLBaLBaLBaLBaLBaLBaRiaHkaHkatkapfabqaMNaMOaMOaMOaMOaMOaRkaPHaRmaPHaSbaSmaRoaRoaRpaRoaOuaRqaSjaSlapfapfapfapfapfapfazSaOAbgkaRuaRvaRwaRxaRxaRxbgyaOFaaaaOGaVwaRAaRAaRAaRAaRAaVAaOGaaaaMfaRCaMiaMjaMkaRDaREaRFaNAaSyaNAaRHaRIaNAaRJaRKaRLaRMaVBaROaMnbYFaQVaQVaQVaQVaQWaRTaRTaRUaRUaRVaVHaRXaRYaRZaSaaSBaSAaSBaScaSdaSeaNQaSfaGWaxhaQSaSgaShaSiaCgaSCaIAaMFaLsaVNaCgaWbaWgaTRaTRaTRaTVaDLaLNarAaaaaaaabqabqabqabqabqaaaaaaarAaLNaWAaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbcbbcabcabcabcabcabzhbzhbdJbzhbzhbcabcabcabcabcaaXKaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSqaSraSsaaaaGwaLBaLBaLBaLBaLBaLBaStaSuaSuaSvaSwaHkaqBatkapfabqaMNaMOaMOaMOaMOaSxaMNaTUaKlaKlaSFaSmaSzaSNaSGaUcaTLaTEaUdaUtaLKaSIaWhaSKbZaapfaSMaOAaUwaRuaSOaSPaSQaSQaSRaSSaOFaaaaMgaSUaRAaSVaSWaSXaRAaSYaMgaaaaMfaMhaMiaMjaMkaSZaTaaTbaTcaTdaTcbjbaTfaWiaMkaWkaUOaTjaTkaWlaMnaTmaToaToaTpaTqaTraTsaTtaTuaTvaTwaTxaTyaTzaTAaTBaTCaTDaQXaTFaUbaTHaNQasIaGWaxhaCgaCgaCgaCgaCgaFRaWnaQYaURaWpaCgaCgaPaaNdaCgaDLaDLaDLaLNarAaaaaaaaaaabqaaaaaaaaaaaaaaaaTMaPgaIfaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbdKbdNbdNbdNbdNbdNbdNbdObdNbdNbdNbdNbdNbdNbdPbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGaTNaWraTNacJaHkaLBaLBaLBaLBaLBaLBaLBaLBaLBaTPaTQaHkauAaWsapfaaaaMNaMOaMOaMOaMOaMOaTSaRlaTTaRlaSbaSmaRoaRoaRpaRoaOuaOWaVaaVdaTWaTXaTYaTZaWtapfaVkaUTaUQaRuaRuaUebmJaRuaUgaWuaOFaaaaMPaUjaUkaUlaUmaUlaUkaUnaNpaaaaMfaMhaUpaUqaMkaNqaNqaNqaNqaUsaNqaNqaOoaNqaMkaMncjdaUvconaMnaMnaWyaToaTpaTqaUyaUzaTnaToaTqaTqaTpaUAaUBaUCaUDaUEaSBaSAaSBaScaUGaUHaNQaUIaGWaxhaWNaULaWXaSTaVgaVfaIAaMFaLsaVhaJZaViaXsaXoaLEaOaaDLaDLaLNarAaJWaaaaaaaJWaaaaaaaaaaaaaJWarAaLNaIfaKpaCgaNdabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbeWbeXbeXbeXbeXbeXbeXbdObeXbeXbeXbeXbeXbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWDaTNaUWaTNaWDaHkaPAaMLaLBaLBaLBaLBaLBaLBaLBaUYaUZaHkaHvapdapfaaaaMNaMOaMOaMOaMOaMOaPHaVbaRzaVbaVeaSmaRoaXwaWSaYiaYhaVjaOuaVvaVlaXtaVnaVoaXBapfaVqaOAaYjaRuaRubmKaVtaVuaUgaRRaOFaaaaOGaXEaVxaUkaVyaRAaVzaXGaOGaaaaMfaXRaOIaOJaVCaVDaVEaVEaVEaNCaVEaVEaVFaVGaMkaXZaVIaVJaVKaVLcaHaVKcbeaVOaVOaVPaVQaVRaVSaVTaVUaVVaVSaVWaVXaNQaVYaVZaWaaWaaWcaWdaWeaNQasJaWfaxhaYEaYDaYGaUKaYQaYNaWmaYSaZcaYWaZeaZdaZhaZgaLEbMOaDLbeZaLNarAarAddZarAarAddZarAarAddZarAarAaLNaWAaLOaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaabdabdaXHbdMbeWbeXbeXbeXbeXaXLaXLaXMaXLaXLbeXbeXbeXbeXbeYbdMaXOabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGaTNaWraTNacJaHkaLBaLBaLBaLBaLBaLBaLBaLBaLBaTPaTQaHkauAaWsapfaaaaMNaMOaMOaMOaMOaMOaTSaPHaTTaPHaSbaSmaRoaRoaRpaRoaOuaOWaVaaVdaTWaTXaTYaTZaWtapfaVkaUTaUQaRuaRuaUebmJaRuaUgaWuaOFaaaaMPaUjaUkaUlaUmaUlaUkaUnaNpaaaaMfaMhaUpaUqaMkaNqaNqaNqaNqaUsaNqaNqaOoaNqaMkaMncjdaUvconaMnaMnaWyaToaTpaTqaUyaUzaTnaToaTqaTqaTpaUAaUBaUCaUDaUEaSBaSAaSBaScaUGaUHaNQaUIaGWaxhaWNaULaWXaSTaVgaVfaIAaMFaLsaVhaJZaViaXsaXoaLEaOaaDLaDLaLNarAaJWaaaaaaaJWaaaaaaaaaaaaaJWarAaLNaIfaKpaCgaNdabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbeWbeXbeXbeXbeXbeXbeXbdObeXbeXbeXbeXbeXbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWDaTNaUWaTNaWDaHkaPAaMLaLBaLBaLBaLBaLBaLBaLBaUYaUZaHkaHvapdapfaaaaMNaMOaMOaMOaMOaMOaRlaVbaRzaVbaVeaSmaRoaXwaWSaYiaYhaVjaOuaVvaVlaXtaVnaVoaXBapfaVqaOAaYjaRuaRubmKaVtaVuaUgaRRaOFaaaaOGaXEaVxaUkaVyaRAaVzaXGaOGaaaaMfaXRaOIaOJaVCaVDaVEaVEaVEaNCaVEaVEaVFaVGaMkaXZaVIaVJaVKaVLcaHaVKcbeaVOaVOaVPaVQaVRaVSaVTaVUaVVaVSaVWaVXaNQaVYaVZaWaaWaaWcaWdaWeaNQasJaWfaxhaYEaYDaYGaUKaYQaYNaWmaYSaZcaYWaZeaZdaZhaZgaLEbMOaDLbeZaLNarAarAddZarAarAddZarAarAddZarAarAaLNaWAaLOaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaabdabdaXHbdMbeWbeXbeXbeXbeXaXLaXLaXMaXLaXLbeXbeXbeXbeXbeYbdMaXOabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaWDbkjaWFblyaWDaHkaLBaMLaWHaWIaWJaLBaLBaLBaLBaUYaWKaHkaHvapdalLaaaaMNaOnaMOaMOaMOaMOaMNaTUaKlaKlaWLaSmaRoaRoaRpaRoaOuaVjaWMaXnaVlaWOaWPaWQaWRapfazSaOAbanaWTaWTaWUaWVaRuaUgaWWaOFabqaOGaOGaOGaZxaWYaWZaOGaOGaOGabqaMfaOHaXaaMjaXbaXcaVEaVEaVEaXdaVEaVEaXeaNCaXbaQCaXfaXgaXhaToayuaToaTnaTpaToaXjaToaXkaTpaTqaToaTqaTpaXlaXmaNQaZAaXraXpaXvaXuaPiaQQaNQaZBaGWaxhaZIaXxaXFaZMaXQaXyaXzaXAcczccyccHccHbaoaZOaLEaOaaDLarAdeaaJtaJtbapaJtaJtbapaJtaJtbapaJtaJtdecaWAaKpaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaabdaaabgMbdMbeWbeXbeXaXLaXLaXLaXLbfabpvaXLaXLaXLbeXbeXbeYbdMbMnaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaWDayCaYaaYgaXSaHkaXTaMLaXUaXVaXWaMLaMLaMLaXXaXYbavaHkaYmaYbapfabqaYcaYdaMOaMOaMOaYeaYfabqabqaKlaWLaYoaPJaPQbarbaTbasaYkaYlbaFaYnaYnaYnaYnaYnapfaYXaYpaYqaYraYraYsaYtaYuaYvaYwaUoaaaaaaaaaaOGaOGaYyaOGaOGaaaaaaaaaaKoaNraYzaMjaYAaYBaYCbaObaLaNCaNCaYFbaSaNCaYAaQCaYHaYIaYJaYKcdPaYKaYMbbebmLaYPaYKaYKaYKaYKaYKaYKbbuaYRbbvaNQaNQaNQaNQaVcaNQaNQaNQaNQaoGaGWaxhaYVaYUaYUaSTaYZaYYaZwaZfbawbbwbaAaQUbbCbaBaHiccuaCgaaaabqaaaabqaaaaaaaaaaaaabqaaaaaaabqabqaWAbbIaESaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdclHbcbbfcbfbbgNaXLaXLbdIbdIbdIbgPbbJbdIbdIaXLaXLbgNbgQbgSbgRaWCabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaWDaWDaZiaZjaWDaWDaWDaZkaWDaWDaZlaZmaWDaWDaWDaZnaWDaWDaWqapfapfabqaZpaZqaZraZraZraZqaZsabqabqaZtaZuaSmaRoaRoaRpaRoaOuaZvaOubaCaYnbbPaZyaZzbbTapfazSaOAbbVaZCaZDaZEaZFaZGaZHbcdaOFaZJaUraZJaZLbclaZNbcoaZLaZJaUraZJaMfaZPaZQaZRaZSaMkaMkaMkaMkaZTaZUaZVaNCaZWaMkaQCaZXaTraZYaZZaZZaZZaZZaoGaoGaoGbaababbacbadbaebafaZZbagbagaoGbahazyazybaDazyazyazybakazybalaxhbambambambambbMbaUbcrbbObctbcqbatbaEbcGbcCaCgaCgaCgabqabqaDibaGbaxaDiaDiaDiaDiaDiaDibaGaDibdpaESaCgaCgaDoabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabdaXHbgTbicbeXbeXaXLbdIbidbifbdubihbdwbiibidbdIaXLbeXbeXbijbgTaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaUNbaHbaJbaIbdBbaKbaJbaXbbFbbdbbFbbSbdHbbFbcfbcebaMaYTbdQapfaaaaaabaPbaQbaQbaQbaRaaaabqaZtbdTaWLaSmaRoaRobcubdCaOubaVbaWbcgbaYbaZbbabbbbbcapfazSaOAaOAaOAavxavxayPaOFbdVbdVaOFbbgbbhbbiaZLbbjbbkbblaZLbbmbbnbbobbpbbqbbrbbsbbtbeHbeDbeRaMkaMkaYAaLLaYAaMkaMkayubbybbzayubbAbbBbeSbbDbbEbcjaoGaoGaoGaoGbbGaoGaoGaoGaoGaoGaoGaGWasIasJbbHbbHbbHbbHbbHbbHbbHbambfrbfdbbKbamazobdDbambbNbfeaFRaFRbckbcpbftaEnbfzaEnaGTaDiaDibbUaDiaCDaDfbfBaDfaDmaDibbUaDiaFmaDnaCgabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabdaXHbdMbeWbeXaXLaXLbdIbfCbilbdLbnQbimbfNbfHbdIaXLaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaUNbcydgxdgxbgadgxdgxdgxbcRbchbcibcSbcTbcTbcTbcUbcmbcnbghapfaaaaaaabqabqaaaaaaabqabqabqaZtbcVbffbdmbcsaRobfgbfxbcvbcwbcxbgzbczbcAceSbgDbcDapfazBbcFbdqbcHbcIbcJbcKbcLbcMbcNbcObcPbcQbcPbdFbgFbdSbgHbdUbcPbcWbcXbcXbcYbcZbdabcXbcXbdbbdcbdcbdcbddbdebdcbdcbdfbdcbdgbdhbdcbdcbdcbdibdjaoGbdkbdobdWbdnbdobdYbdobecbdobdrazybakbalaubasJbbHbdsbdtbgObdvbhdbdxbambdybdzbdzbdAbdzbhfbambfybctbhobdEbdEbdEbdEbdEaTRaCgbdGaDfaDfbhAaDfaFkaCgaCgaCgbdGaDfbhAaDfaFkaCgabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbeWbeXaXLaXLbdIbjQbilbdIbjRbdIbhHbjSbdIbdIaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaUNaUNbhRaUNaWDaUNbdRaUNbcydgxbeObedaUNbdRaUNbePbhVbeQbdXapfapfapfapfalLalLalLapfapfapfaZtbfhbdZbdZbdZbdZbeaaRobebbfqbfpbeeaYnaYnaYnaYnaWjapfapfbegapfapfbehbeibejbekbelbembenbekbelbeobepbembeqbekbekbekbelbekbekberbesbekbekbekbekbekbekbekbetbeubekbekbenbevbewbekbekbekbekbexbeybezbezbezbeAbezbezbezaoGbmMaoGaGWaoGaoGbeCbeCbeCbeCbiabeEbeEbeFbeGbiebambeIbeJbeKbmNbeMbeNbambigbikbfsbdEbizbiJbiAbdEbeUaCgaCgaCgaCgaCgaCgaCgaCgazMaCgaCgaCgaCgaCgaNdaCgabqabfabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabdaXHbdMbeWbeXaXLaXLbjWbjVbjYbjXblFblDbiUblGblJbdIaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaUNabqaaaabqaaaaUNaYgaUNbhbbhbbhWbhjaUNaYgaUNaUNaWDbfubfibfjbgAcEgcEgavUbflavUavUcHrbgBbfobgKbgCbgCbgVbjdbiIbjubfvboMbhXbiPbfwbjfceXbfwbjJbjgbfDbfEceYbfGbjlbfIbfJbfKbfKbfLbfMbjAbfObfPbfQbfRbfSbfSbfSbfSbfSbfSbfSbfTbfUbfVbfVbfVbfVbfVbfVbfVbfVbfWbfXbfYbfZbfVbjDbfWbfVbfVbgbbgcbgdbezbgebgfbggbjFbgibezbgjbksbuCaGWaoGaaabeCbgmbgnbeCbgobgpbgqbgrbgsbgtbambgubgvbgwbgxcfdbjGbambktbkwbkvbdEbjObgEbjPbdEbgGaOdaOdaOdaOdaOdaOdaOdaOdaOdaOdbjTbgLbjTbgLaefaefaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdaXHbdMbeWbeXaXLaXLbdIblKbilbdIblLbdIbhHbjSbdIbdIaXLbeXbeYbdMaXOabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaUNabqaaaabqaaaaUNaYgaUNbhbbhbbhWbhjaUNaYgaUNaUNaWDbfubfibfjbgAcEgcEgavUbflavUavUcHrbgBbfobgKbgCbgCbgVbjdbiIbjubfvbfwbhXbiPbfwbjfceXbfwbjJbjgbfDbfEceYbfGbjlbfIbfJbfKbfKbfLbfMbjAbfObfPbfQbfRbfSbfSbfSbfSbfSbfSbfSbfTbfUbfVbfVbfVbfVbfVbfVbfVbfVbfWbfXbfYbfZbfVbjDbfWbfVbfVbgbbgcbgdbezbgebgfbggbjFbgibezbgjbksbuCaGWaoGaaabeCbgmbgnbeCbgobgpbgqbgrbgsbgtbambgubgvbgwbgxcfdbjGbambktbkwbkvbdEbjObgEbjPbdEbgGaOdaOdaOdaOdaOdaOdaOdaOdaOdaOdbjTbgLbjTbgLaefaefaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdaXHbdMbeWbeXaXLaXLbdIblKbilbdIblLbdIbhHbjSbdIbdIaXLbeXbeYbdMaXOabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqaaaaUNbdRaUNaUNaUNaUNaUNaUNbdRaUNaaaaWDbkybgWbgXbgXbgXbgXbgXbgXbgXbgXbgYazQbfwbfwaXibkEaXibfwbfwbfwbhcbfwbkxbhebkKbhgbhhbhibkSbhkbhlbhmbhnbfGblIbfIbhpblhbhqbhrbhqbhsbhqbhtbhubhtaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxaYxbhwbhwbhxbhwbhwbhwbhwbhwbrNbhybfIbhzbezblMbhBbhCbhDbhEbezbhFbhGbuCaGWapeaaaaZKbhIbhJbbxbhLbhMbhNbhObhPbhQbambmmbhSbhTbhTbhUbmEbambkTbltbkTbdEbhYbhZbmGbdEaChaCgaCgaCgaCgaCgaCgaCgaCgaCgaDLaFRaFRaTRaFRabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaaaaaaaaaabdaaabgMbdMbeWbeXaXLaXLbdIbfCbilbdIbdIbdIbhHbfHbdIbdIaXLbeXbeYbdMbMnaUUaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabinbiobipbiobiqbiobiobiqbiobipbirbisaWDbkybitbiubivbiwbixbiybmSbmPbgXbgYbiCbiDbiEbiFbiGbiFbiGbiHbiGbmdbfwbnqbiKbiLbiMbiNbazblubiQbiRbiSbiTaAMbiVbiWbiXbhqbiYbiZbjabhKbhqbjcbmObjeabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqbhwbykbnAbjhbjibjjbjkbnEbhwbjmbjnbjobezbjpbjqbjrbjsbjtbezaoGaoGaoGbmRaoGaaabeCbjvbjwbeCbjxbjybjzbnJbjBbjCbambnMbnLbombobbjHbjIbamaFRbmhaFRbdEbjKbjLbjMbdEdeWavPdfadfcdfbdfdasXdfeanqanqaaaaaaaFRbgLaFRabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaUUaUUbooaXNbmHblNbfbbgNaXLaXLbdIbidbilbmTboHbowboJbidbdIbdIaXLbgNbgQbnNbnPbnOaWCabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabinbiobiobjZbkabkbbkcbkdbkebkfbkgbkhbkbbkiblVaUNbkybgWbbLbklbkmbknbkobkpbkqbkrcIibocbkubpmbpmbppbpobpybfwbfwbfwbfwbkzbkAbkBbkCbkDaXibmibhkbhlbkFbkGbkHbkIbfIbkJbhqboNbkLbkMbkNbkObkPbkQbccabqabqaBVaCVaBYaDKbkWaEhaCVaDKbkWaEhaBYaBYaEtabqabqbhwbmobladgFblcblbbldblebhwblfbfIblgbwlbezbkkaODbkRbezbezbllblmaoGblnaoGblobeCbeCbeCbeCbbHbbHbbHblpblqbbHbambambambambamaGtaFPbambmubofbmubdEbkUblwbkVbdEdffdfhdfgdfgdfjdfkdfkdfkdflabqaaaaaaaaaaWwaaaabqaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWwbnRblEbnTbnSbnUbicbeXbeXaXLaXLbdIbogbptbdLbqZbpubphbpqbdIbdIaXLbeXbeXbrcbijbrfaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabinbiobipbiobiqbiobiobiqbiobipbirbisaWDbkybitbiubivbiwbixbiybmSbmPbgXbgYbiCbiDbiEbiFbiGbiFbiGbiHbiGbmdbfwbnqbiKbiLbiMbiNbazblubiQbiRbiSbiTaAMbiVbiWbiXbhqbiYbiZbjabhKbhqbjcbmObjeabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqbhwbnvbnAbjhbjibjjbjkbnEbhwbjmbjnbjobezbjpbjqbjrbjsbjtbezaoGaoGaoGbmRaoGaaabeCbjvbjwbeCbjxbjybjzbnJbjBbjCbambnMbnLbombobbjHbjIbamaFRbmhaFRbdEbjKbjLbjMbdEdeWavPdfadfcdfbdfdasXdfeanqanqaaaaaaaFRbgLaFRabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaUUaUUbooaXNbmHblNbfbbgNaXLaXLbdIbidbilbmTboHbowboJbidbdIbdIaXLbgNbgQbnNbnPbnOaWCabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabinbiobiobjZbkabkbbkcbkdbkebkfbkgbkhbkbbkiblVaUNbkybgWbbLbklbkmbknbkobkpbkqbkrcIibocbkubpmbpmbppbpobpybfwbfwbfwbfwbkzbkAbkBbkCbkDaXibmibhkbhlbkFbkGbkHbkIbfIbkJbhqboNbkLbkMbkNbkObkPbkQbccabqabqaBVaCVaBYaDKbkWaEhaCVaDKbkWaEhaBYaBYaEtabqabqbhwbmoblablbblcblbbldblebhwblfbfIblgbwlbezbkkaODbkRbezbezbllblmaoGblnaoGblobeCbeCbeCbeCbbHbbHbbHblpblqbbHbambambambambamaGtaFPbambmubofbmubdEbkUblwbkVbdEdffdfhdfgdfgdfjdfkdfkdfkdflabqaaaaaaaaaaWwaaaabqaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWwbnRblEbnTbnSbnUbicbeXbeXaXLaXLbdIbogbptbdLbqZbpubphbpqbdIbdIaXLbeXbeXbrcbijbrfaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablOblPblQblRbkbblSblTblSblTblSblTblSbkbblUbnFaUNbkyblWbgXblXblYcfgbmabmbbmcbgXbqkbmebmfbmgbpsbpDbmjbmkbmlbpFbmnbpEbmpbmqbmrbmsbmtbqWbmvbmwbmxbmybmzbmAbiVbfIbpIbhqbmQbmCbmDbpQbhqbmFbpUbjeabqabqaIbboBbopbpVbpYbqfbqdbqhbqgcfhbqjbqlaIHabqabqbhwbmUbmVbmWbmXbmYbmZbnabhwbhybnbbncbndbnebnfbnebngbnhbnibnebnebnebnjbnebnkbnlbnmbnnbnebnebnobnkbngbnjbnpbqBbnobnrbnsbntbrPbrbbnwbnxbnybnzbrRbnBbnCbnDblidfmdftdfqdfxdfudfydeZaoNdflabqaaaaaaaaaaWwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaWwbnRblEbnKbrgbrhbeWbrjbeXaXLaXLbdIbqXbrmbifbrIbrnbrQbrabdIbdIaXLbeXbeXbeXbeYbrfaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiqbkbbkbbipbkbblSblTblSbnVblSblTblSbkbblUbnFaUNbrUbnXbnYbnZboablkbrlblkbiubiubodboebhcbfwbrHbrKbohboibojbokbolbfwbskbonbojbkCbssbfwbrXboqborbosbotaAMbkIbfIbkJbhqboubovbsEboxbhqboybozbjebkWaJYbkWbsbboCboDboEboDboFboDboEboDboGbscbkWaJYbkWbhwboIboIboIbsHboKboLdgVbhwbsVboOboPboQboRboSboRboTboRboUboRboRboRboVboRboWboXboYboZboRboRbpabpbbpcboVbpdboVbpebpfbpgbntbsYbpibpibpjbpkbpibpidfzdfBdfAbljbsZdfIbtadfKdfJbtcdfLdgKazDabqaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqbpraaaaaaaaaabqbsdbsdboobsebsfbeWbsnaXLaXLaXLbsMbdIblHblHbtdbdIbdIbdIbdIbrkaXLaXLaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiqbkbbkbbipbkbblSblTblSbnVblSblTblSbkbblUbnFaUNbrUbnXbnYbnZboablkbrlblkbiubiubodboebhcbfwbrHbrKbohboibojbokbolbfwbskbonbojbkCbssbfwbrXboqborbosbotaAMbkIbfIbkJbhqboubovbsEboxbhqboybozbjebkWaJYbkWbsbboCboDboEboDboFboDboEboDboGbscbkWaJYbkWbhwboIboIboIbsHboKboLboMbhwbsVboOboPboQboRboSboRboTboRboUboRboRboRboVboRboWboXboYboZboRboRbpabpbbpcboVbpdboVbpebpfbpgbntbsYbpibpibpjbpkbpibpidfzdfBdfAbljbsZdfIbtadfKdfJbtcdfLdgKazDabqaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqbpraaaaaaaaaabqbsdbsdboobsebsfbeWbsnaXLaXLaXLbsMbdIblHblHbtdbdIbdIbdIbdIbrkaXLaXLaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablObpwbpxblRbkbblSblTblSblTblSblTblSbkbblUbnFaUNbuxbpzbpAbpBbpCbrVbrVbutbtDbpBbpGbpHbtLbfwbpJbpKbpLbpMbpNbpObpPbfwbtObpRbpSbpTbtRbfwbsibpWbpXbtSbpZbfGbqabjnbqbbqcbqcbqcbqcbqcbhtbtPbqebhtbkWbubbtYbtTboEboEboEboEbqiboEboEboEboEbtZbumbuEbkWbqmbqnbqobqpbqqbqrbqrbqsbhwbqtbqubqvbqwbqxbqybqxbqzbqxbqAbqxbqxbuVbqxbqxbqCbqDbqxbqEbuVbqFbqGbqCbqHbqxbqIbqJbqKbqLbqMblsbqObqPbqQbqRbpnbqSbqSbqTdgMdgLdgOdgNdgPanqanqanqanqanqanqanqanqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqaaaabqbsPbsRbsQbsSbrdcKIaXNbsfbsTbsUaXLbsWbuWbsXbribvfbvdbtbbvgbvmbrkbtebvobtgbtfaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrobiobiobjZbrpbkbbrqbkbbrrbrsbkbbrtbkbbkibruaUNbkybrvbrwbrxbrybrzbrAbrBbrCbrxbrDbrEbrFbfwbrGaXibuublvbfwbfwbfwbfwbfwaXibrJblxbfwbfwaAMbrLbrMaAMaAMbzObehbfIbrObqcbvpcfjbvqbqcbrSbrTbuBbvnbuwburbrYbrZbsabsabvWbwfbwebvWbvWbsabsabsgbshbvrbkWbhwboIboIboIbsjboIboIboIbhwbvsbfIbslbZiblCbsoblCbsmbspbspbspbspbspbspaoGaoGbsqaoGaoGaoGbsrbmBaoGaoGaoGbstaoGbsubsvbswbbfbsybszbsAbsBbqSbsCbsCbsDbqUbvtbjNbntbvubsGbvvbsIbsJbsJbsKbsLabqaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaaaaabuLbudbuMabqbuObuNbuQbuPbuSbuRbuTbBebvwbuUbvxbribuYbuXbvabuZbvcbvbbvebvXbwabvZaXLbvhbvibdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrobiobthbiobiqbiobiobiqbiobipbtibtjaWDbuDbtlbtmbfGbtnbtobtpbtobtqbfGbtrbtsbttbtubtvbtwbtxbtybtzbtwbtAbtBbtwbtvbtvbtCbtvbwbbtEbtFbtGbtHbtvbtIbtJbtKbkJaKqbtMbtNbwcbqcbjebjebjebjebkWbwgbtQboEboEboEbtUboEbtVbtWbtXboEboEbwnbuabAkbucbhwbwmbuebufbugbuhboIbuibhwbujbfIbukboAdedbunbuobsmbupbuqbwpbusbxebxHbuvbxIbuHaoGbuybuzbuAbuIcbXaoGarrbvjaoGbwobuFbuGbqNbwHbwHbwHbwJbuJbqSbqSbuKaZobvkbwvbwrbwFbwybwMbwLbwUbwUbwXbwWbwYbwYbwYbxibxlbwYbwYbwYbwYbwYbxibwYbwYbwYbwYbwYbwYbxibwYbxlbxmbxnbxobxobxqbxpbxtbxsbxvbxubxxbxwbxzbxybxBbxAbxDbxCbzebxEbzgbzfbzjbzibzlbzkbznbzmbzpbzoaWCabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8666,19 +8665,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaabqaaaaaaarBaaacjcaaaaaaabqcmicpycxlcpycyichycdLcyjcylcyZchyczpczrczqcztczsczsczuczpczvcxycysczbczwczgczyczBcysczEczDcAhczJcvUcAicAkcAjcAmcAlcAocAncApcApcApcApcAscArcApcAtcAvcxKczxcmocmocmocmocmocxDcykcmocmzcmzcxOcxPcxQbYXbYIbYYcxUcxUcxUcxUcxVcxWcxMcxVcmBcmBcmBcyPcyOcyScyRcmBcmCbZUcxfcyTbZUcydcyecyfcygcygcyhbZUabqabqabqabqabqabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaabFcaaaaaaabqaaaaaaabqaaaabqabqaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBarBabqabearBaaaabearBarBabqabqabqcjcabqabqabqcmicmicmibZUbZUcyUczdbZUbZUcAwczfcAxcziczhczocznczUcBlcBocBncBqcBpcBscBrcBucBtcMQcMPcNGcNFcxycCacvjczAcAFcCgcBdcAWcyGcCkcCmcClcClcnncCocCncnocoocCpcyLcyMcyNczVcyEczWcyQczZczYcAzcAycyVcyWcyXcyYcaYczacBfczccABczecBhcxVcBIcAHcAMcBLczjcmBcmBcmBcmBcmBcmBcmCbZUbZUcPTbZUbZUbZUbZUcmibZUbZUbZUaaaabqaaaaaaaaaabqabqabqabebFcbFcbFcabebFcbFcbFcabebFcbRmbFcbFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczmaaaaaaaaaabqaaaaaaaaaabqaaaaaaabqaaackraaaaaaabqabqaaaaaabZUbZUbZUbZUbZUcAgcodchyczpcQzcCqcBMcCscATcCucCycCxcCEcyscCGcCFcCScCKcYacysczEcDecwqcDfcDfcDfcDfcDfcDfcDgcDgcDgcDgcDhczCczCczCczCczCcYFczFczGczHczIcMYczKczLbZUczMczMczNczMczMczOczPczQcaYczRczSczTcBbcAYcBccxVczkcBjcBmczXcAacrUcfYclPbZUcAccmYcAdbZUcAecfYbZUaaaabqaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaabqaaaabqaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaacAfcAfcAfcAfcAfabqabqabqcAfcAfcAfcmHcAfaaaarBabqabqabqbZUcFRcFScFRbZUcDkcDjcBXcAxcCrcCdcCLcCvcCMcAUcDwcDvcDxcsJcCbcDycCccDOcChcsJcDVcDecwqcDWcCYcCXcDmcDldblcBvcBwcBxcBycBvcAqcCicEecMscAuczCcnscgxcAAbZUcDocACcADcAEczMcDqcAGcDsczMcAIcAJcAKcbfcEfcANcAOcAPcAQcARcxVcAbcDNcDQcAScAVcrUcAXcDXcAZdhtckDcEacAZcEbcvWcmiabqabqabqabqabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabqcvPcvQcvQcvQcvQcBecjccBgcCjcCjcCjcCjcCtabqabqaaaaaaabqbZUbZUbZUbZUbZUcuVcBkcFTdbuczrcEicztczsczscEjczpcxpcEkcsJcsJcsJcsJcsJcsJcsJcCHcElcEOcEncEtcEccETcEucEzcBvcCNcEVcEWcBvcBzcBAcBBcBCcBDczCcEXcgxcCQcBJcBKcBJcBJcBJczMcCRcBicAGcxScBOcBPcBQcBRcBScBTcBUcBUcBVcAQcxVcCTcDNcEAcBWcBYcrUdhwdhubZUcmCchycEBbZUchycCebZUaaaabqaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaDaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCfcCfcCfcCfcCfaaacjcaaacCfcCfcCfcCfcCfaaaarBaaaabqabqaefbZUcCUbZUcctcuVcBkckDcEYcEYcEYcFacEZcEZcEZcEYcDccEkcFdcFfcDrcFhcFgcFicFdcFPcFjcFVcFUcEDdcKcFZcEEcEzcGacGccGbcGdcGacDAcCAcCBcCCcCDczCcGecgxcmmcBJcDHcCIcCJcFoczMcEFcAGcEGczMcDJcCOcCPcxUcDKcDLcPCcEdcDPcCVcxVcBZcEHcEJcCWcBWcrUbZUbZUbZUctmbZUcDabZUbZUbZUbZUabqabqaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaacvPcvPcvPcvPcvPabqabqabqcvPcvPcvPcmHcvPaaaarBabqabqabqbZUcFRcFScFRbZUcDkcDjcBXcAxcCrcCdcCLcCvcCMcAUcDwcDvcDxcsJcCbcDycCccDOcChcsJcDVcDecwqcDWcCYcCXcDmcDldblcBvcBwcBxcBycBvcAqcCicEecMscAuczCcnscgxcAAbZUcDocACcADcAEczMcDqcAGcDsczMcAIcAJcAKcbfcEfcANcAOcAPcAQcARcxVcAbcDNcDQcAScAVcrUcAXcDXcAZdhtckDcEacAZcEbcvWcmiabqabqabqabqabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabqcvQcAfcAfcAfcAfcBecjccBgcCfcCfcCfcCfcCjabqabqaaaaaaabqbZUbZUbZUbZUbZUcuVcBkcFTdbuczrcEicztczsczscEjczpcxpcEkcsJcsJcsJcsJcsJcsJcsJcCHcElcEOcEncEtcEccETcEucEzcBvcCNcEVcEWcBvcBzcBAcBBcBCcBDczCcEXcgxcCQcBJcBKcBJcBJcBJczMcCRcBicAGcxScBOcBPcBQcBRcBScBTcBUcBUcBVcAQcxVcCTcDNcEAcBWcBYcrUdhwdhubZUcmCchycEBbZUchycCebZUaaaabqaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaDaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCtcCtcCtcCtcCtaaacjcaaacCtcCtcCtcCtcCtaaaarBaaaabqabqaefbZUcCUbZUcctcuVcBkckDcEYcEYcEYcFacEZcEZcEZcEYcDccEkcFdcFfcDrcFhcFgcFicFdcFPcFjcFVcFUcEDdcKcFZcEEcEzcGacGccGbcGdcGacDAcCAcCBcCCcCDczCcGecgxcmmcBJcDHcCIcCJcFoczMcEFcAGcEGczMcDJcCOcCPcxUcDKcDLcPCcEdcDPcCVcxVcBZcEHcEJcCWcBWcrUbZUbZUbZUctmbZUcDabZUbZUbZUbZUabqabqaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaabqaaaabqabqabqaaacCwaaaabqaaaabqaaaabqaaaarBaaaabecCzcCZclJcELcDRcELbgZcGgcIbcEYcGncGicGpcGocGOcGEcEYcxpcHbcHacHdcHccHgcHecHicHhcHlcHkcHycHmcERcEPcIdcEScEUcDYcDZcIfcIhcIgdhydhxdhAdhzcDucIlcEmcDzcEvcDbcDCcDDcDDcDEczMcDFcDFcDGczMcgCcCOcFbcxUcxUcxUcxUcxUcxUcxUcxVcxVcxVcDIcxVcxVcrUcAccmYcmYcFcbZUchycFecDMcFpcDMaWwaWwaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaacAfcAfcAfcAfcAfabqcjcabqcAfcAfcAfcAfcAfabqarBabqarBabqabqbZUcDBbZUcdNchycJRcDTcEYcIrcIqcIvcGocGocFwcEYcIVcIWcFdcIYcIXcJacIZcGmcFdczEcDecwqcDWcFrcGwcFFcGYcFWcBvcJScJhcHscDgcHRdhBdhDdhBcEhcbYcJWcgxcEocEpcEqcErcErcEsczMcFXcFYcFYczMcHTcEwcExcEycGxcGzcGycGQcGFcGUcGScGWcGVcEIcIecEKcfZdhEcuVchybZUbZUcEMbZUbZUbZUbZUabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcvPcvQcvQcvQcvQcBecjccBgcCjcCjcCjcCjcCtabqaupaaaabqaaaaaabZUbZUbZUbZUbZUbZUcEQcEYcJYcJXcKacJZcKccKbcEYcKdcKfcKecIAcIpcKjcIBcKkcKeczEcDecwqcKZcKZcKZcLdcLdcLdcBvcGfcKncGhcDgcKocGjcGkcGlcICczCcKqcFkcFlcBJcFmcCIcFncWcczMcIDcFqcHtcxScFscFtcFucbZcHzcFxcFycFzcFAcFBcFCcFDcFBcFEcHBcEKbZUcFGbZUcFHcFHcFIcENcFKcFJcFMabqabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcFNcALcFNabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCfcCfcCfcCfcCfaaackrabqcCfcCfcCfcCfcCfaaaarBaaaabqaaaaaaaaabZUcPGcNacNbbZUcGZcEYcKzcKycKDcKAcGocKHcEYcKWcKXcFdcFdcFdcKecFdcFdcFdcKYcDecwqcKZcIFcLacLdcIUcLecBvcBvcLfcDgcBvczCczCczCczCczCczCcLgcGqcGrcGscGtcGucGvcJbczMcHCcHKcHDcGAcGBcGCcGDcFLcHLcGGcGHcGIcGIcGJcGKcGLcGMcGNcHNcGPcHPcGRcHQcGTcJocHScHScHScJvcBNabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcALcFNcHWcFNcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaacvPcvPcvPcvPcvPabqcjcabqcvPcvPcvPcvPcvPabqarBabqarBabqabqbZUcDBbZUcdNchycJRcDTcEYcIrcIqcIvcGocGocFwcEYcIVcIWcFdcIYcIXcJacIZcGmcFdczEcDecwqcDWcFrcGwcFFcGYcFWcBvcJScJhcHscDgcHRdhBdhDdhBcEhcbYcJWcgxcEocEpcEqcErcErcEsczMcFXcFYcFYczMcHTcEwcExcEycGxcGzcGycGQcGFcGUcGScGWcGVcEIcIecEKcfZdhEcuVchybZUbZUcEMbZUbZUbZUbZUabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcvQcAfcAfcAfcAfcBecjccBgcCfcCfcCfcCfcCjabqaupaaaabqaaaaaabZUbZUbZUbZUbZUbZUcEQcEYcJYcJXcKacJZcKccKbcEYcKdcKfcKecIAcIpcKjcIBcKkcKeczEcDecwqcKZcKZcKZcLdcLdcLdcBvcGfcKncGhcDgcKocGjcGkcGlcICczCcKqcFkcFlcBJcFmcCIcFncWcczMcIDcFqcHtcxScFscFtcFucbZcHzcFxcFycFzcFAcFBcFCcFDcFBcFEcHBcEKbZUcFGbZUcFHcFHcFIcENcFKcFJcFMabqabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcFNcALcFNabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCtcCtcCtcCtcCtaaackrabqcCtcCtcCtcCtcCtaaaarBaaaabqaaaaaaaaabZUcPGcNacNbbZUcGZcEYcKzcKycKDcKAcGocKHcEYcKWcKXcFdcFdcFdcKecFdcFdcFdcKYcDecwqcKZcIFcLacLdcIUcLecBvcBvcLfcDgcBvczCczCczCczCczCczCcLgcGqcGrcGscGtcGucGvcJbczMcHCcHKcHDcGAcGBcGCcGDcFLcHLcGGcGHcGIcGIcGJcGKcGLcGMcGNcHNcGPcHPcGRcHQcGTcJocHScHScHScJvcBNabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcALcFNcHWcFNcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaupaaaabqaaaabqaaaabqaaacmHaaaabqaaaabqabqabqabqaupaaaaaaaaaaaaabqbZUcNOcNPcJybZUcEQcEYcLhcGocLicGocGocLjcEYcxpcLvcLkcLKcLwcLWcLwcLwcLwcLYcLXcxycKZcJMcJBcLdcMbcJQcImcMecMdcKgcMfcIocMwcIncMLcImcMScMTczGczHcHncHocHocHqcHpczMcKhcKscKicDpcHvcHwcHxcdMcIEcHAcKvcIKcIJcHEcHFcHGcHHcHIcHJcHOcIMcHMcJdcHYcJecJucJfcJwcKwcBNabqabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcHUcALcHXcIOcIccALcHUabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaacAfcAfcAfcAfcAfabqcINabqcAfcAfcAfcAfcAfabqarBaaaaaaaaaaaaaaabZUcOJcOKcfbcPTcMUcEYcMWcMVcNccKLcNscNicEYcNIcNKcNJcNMcNLcNNcNKcNKcKQcOqcNUcwqcKZcLbcKUcLdcOLcLccImcPkcOYcPlcIncIocPucPwcPvcImcIscnscgxcItcBJcIucFOcIwcIucIxcIxcIxcIxcIxcIycxPcIzcEycJzcJzcLncLQcLGcKrcJFcIGcIHcIIcLZcEKcKtcILcKucEycJicBNcBNcFHcBNcFHarAabqaaaaaaabqaaaaaaabqabqabqaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqabqcALcALcIQcIPcIPcIPcJCcALcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcvPcvQcvQcvQcvQcBecjccBgcCjcCjcCjcCjcCtabqarBaaaaaaaaaaaaaaabZUbZUcfccKCcPFcPxcEYcEYcEYcEYcEYcEYcEYcEYcPycPycPycMacPycPycPycPycPycPBcPAcPDcKZcKZcQbcLdcQfcLdcImdcLcMddeecIncIocQAcQCcQBcImcJgcnscgxcvmcwEcQKcJjcJlcJkcJncJmcMncMccJpcJqcCOczQdgSdgSdgSdgSdgSdgScJrcJscJtcKEcLlcKFcEKbZUcFGbZUcFHcJxcMrcLqcJAaRharAarAabqabqabqabqabqabqabqaaaabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqcKJcJDcKJcIPcJEcIPcKKcJGcFNabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCfcCfcCfcCfcCfaaackraaacCfcCfcCfcCfcCfaaaaupaaaaaaaaaaaaaaaaaabZUbZUbZUbZUcJRcogcogcogcogcNTcogcogcQVcogcogcogcLzcNTcNTcRlcRocPycRpcNUcRLcREcwjcRMcwjcRMcSvcImcSBcMdcSCcIocSPcSMcTncMvcImcMScEXcgxcvmcKpcTwcLAcMmcMjcMjcMjcMtcMXcJpcgCcCOcMZdgScKxcfHcNdcgLdgTcYScKBcNqcMucMycEKcrUcKGceDcfYcFHcFHcFHcFHcFHcHfcKIarAabqaaaaaaaaaaaaaaaabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabqabqcALcALcLDcIPcIPcIPcLEcALcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaacvPcvPcvPcvPcvPabqcINabqcvPcvPcvPcvPcvPabqarBaaaaaaaaaaaaaaabZUcOJcOKcfbcPTcMUcEYcMWcMVcNccKLcNscNicEYcNIcNKcNJcNMcNLcNNcNKcNKcKQcOqcNUcwqcKZcLbcKUcLdcOLcLccImcPkcOYcPlcIncIocPucPwcPvcImcIscnscgxcItcBJcIucFOcIwcIucIxcIxcIxcIxcIxcIycxPcIzcEycJzcJzcLncLQcLGcKrcJFcIGcIHcIIcLZcEKcKtcILcKucEycJicBNcBNcFHcBNcFHarAabqaaaaaaabqaaaaaaabqabqabqaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqabqcALcALcIQcIPcIPcIPcJCcALcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcvQcAfcAfcAfcAfcBecjccBgcCfcCfcCfcCfcCjabqarBaaaaaaaaaaaaaaabZUbZUcfccKCcPFcPxcEYcEYcEYcEYcEYcEYcEYcEYcPycPycPycMacPycPycPycPycPycPBcPAcPDcKZcKZcQbcLdcQfcLdcImdcLcMddeecIncIocQAcQCcQBcImcJgcnscgxcvmcwEcQKcJjcJlcJkcJncJmcMncMccJpcJqcCOczQdgSdgSdgSdgSdgSdgScJrcJscJtcKEcLlcKFcEKbZUcFGbZUcFHcJxcMrcLqcJAaRharAarAabqabqabqabqabqabqabqaaaabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqcKJcJDcKJcIPcJEcIPcKKcJGcFNabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabqcCtcCtcCtcCtcCtaaackraaacCtcCtcCtcCtcCtaaaaupaaaaaaaaaaaaaaaaaabZUbZUbZUbZUcJRcogcogcogcogcNTcogcogcQVcogcogcogcLzcNTcNTcRlcRocPycRpcNUcRLcREcwjcRMcwjcRMcSvcImcSBcMdcSCcIocSPcSMcTncMvcImcMScEXcgxcvmcKpcTwcLAcMmcMjcMjcMjcMtcMXcJpcgCcCOcMZdgScKxcfHcNdcgLdgTcYScKBcNqcMucMycEKcrUcKGceDcfYcFHcFHcFHcFHcFHcHfcKIarAabqaaaaaaaaaaaaaaaabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabqabqcALcALcLDcIPcIPcIPcLEcALcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaaaaaabqabqabqaaaaaacmHabqaaaaaaabqabqaaaaaaarBabqaaaaaaaaaaaaaaaaaaaaaaaabZUbZUbZUbZUbZUbZUbZUbZUbZUbZUbZUcoDcuVcTFchycoDcTZcjicUacUocUecUqcUpcUpcUrcUpcUFcUVcUUcVbcUWcVmcVlcVucVtcVEcVvcWkcVKcWGcWlcWHcIxcIxcNucLmcLpcLocLrcNgcMicJpcLscLtcLucBNcKxcfHchuchuchEcLxcLycIEcKEcNycEKcdNcLBceNcuVcLCbZUabqabqabqabqabqabqabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcHUcALcLFcRFcPncALcHUabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaacmHaaaaaaaaaaaaabqaaaaaaaupaaacHZcHZcHZcFvcHZcHZcHZaaaabqaaaaaaaaaabqaaaabqabqabqaaabZUcWIchychychychycNZchydefcWUcwncXrcXlcXlcXwcXAcXycXYcImcYocYndfFcIncYIcYycYNcNEcImcMgcMhcgxcmmcIxcNQcOacMkcLocLocMlcObcNecJpcMocMpcMqdgScKxcfHchuckedgTcYTcKBcOrcOccPmcEKcjnchyceNchycMxbZUabqaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcALcFNcRGcFNcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaacmHaaaaaaaaaaaaabqaaaaaaaupaaacHZcHZcHZcFvcHZcHZcHZaaaabqaaaaaaaaaabqaaaabqabqabqaaabZUcWIchychychychycNZchydefcWUcwncXrcXlcXlcXwcXAcXycXYcImcYocYndfFcIncYIcYycYNcNEcImcMgcMhcgxcmmcIxcNQcOacMkcLodgFcMlcObcNecJpcMocMpcMqdgScKxcfHchuckedgTcYTcKBcOrcOccPmcEKcjnchyceNchycMxbZUabqaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcALcFNcRGcFNcALabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabearBarBarBaaaaaaaaacmHaaaaaaaaaarBarBarBauparBabqcHZcIRcIScIRcITcIRcHZcHZcFvcHZcFvcHZcHZaaaaaaabqaaaaaacHZcHZcHZcHZcHZbZUcKVbZUcDUcYOcDecRLdfOcRUcRUcRUcRUcRUcRUcImcImcImcImcYWcImcImcImcImbZUcNScgxcmmcIxcNfcOacLocLrcLocNhcPEcNYckzcNjcNkcNlcOkdgUdgUdgUdgUdgUcNocNncNpcQgcNrcEKchycuVchPchybZUbZUbZUabqabqaaaaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcFNcALcFNabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaaaaaaaarBabqcNtabqarBaaaaaaabqaaaaaaabqaaacHZcJHcJIcJJcJKcJHcGXcOGcJNcJOcJPcOHcHZaaacZmcIacIacIacLRdfRdfQcOIcHZcZvcZqcZwcDUcZIcZycZQcZOcOUdeidafdaddakcRUcNRcmVcmVcmWcQhcjecmYcmYcQicNVcNWcNXcCQcIxcOdcQkcQvcQvcQvcQwcQDcOVcOecOfcOgcOhcOicOjcPicOlcJLcOncOocOpclncQEcOscOtcmYcmYcOucOvcOwcOxbZUbZUbZUaWwaaaabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaarBaaaabqaaaarBaaaaaaabqabqabqabqabqcHZcKMcHjcKOcHucKMcKMcPzcKRcKScKTcPKcHZaaadaodfTcMMcMNcMOdfUcMBdfVcMRdaydaxdaMdaLdaOdaNdaPcYCdaUdaQdbbdaVdbfcRUcOMbZUbZUbZUbZUbZUbZUbZUbZUczIcONcOOcOPcOQcORcOScOTcPRcOXcOWcLrcPoclCcOZcPacPbcPccPdcPecPfcPgcPhcQqcOpclNcPjbZUbZUbZUbZUbZUdenclGcQFclJcQrclJcPUabqabqaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8689,26 +8688,26 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHZcPpcPqcKMcPqcPrcPscKMcKMcPtcKMcKMcHZaaaaaaaaaaaaabqcRhcSacSbcRhcUmcSdcSecSfcSgcShcRhdemdelcUxcSRcSScSRcSTcSUcSOcWZcTOcRtcSkcRtcTWcUzcUvcRtcTbcTccUBdeocUOcUGcThcTibZUcTjbZUbZUbZUcTkcTlcTmbZUcmicmicmibZUcVecVjcVgcPTcVocVqcVpbZUcwFcQWcTucVrcUQcQWaaaabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHZcQmcQncKMcQocQpcPscWdcVOcQscWecQucHZaaaaaaaaaaaaaaacRhcSIcSJcRhcSKcSLdeIcWmcRhcRhcRhdeLcTGcTHcTIcTJcTKcTLcTLcTMcVscVDcTPcTQcRtcTWcTRcUvcRtcSocSpcTWcLScTTcRtcTUcWobZUcVYbZUabqaaacNzcTYcNzaaaaaaaaaaaabZUchycuVcuVcmycjidhGcjicUccWqcQWcOycWKcOycQWaaaabqaaaabqabqaaaaaaabqaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHZcQZcRacKMcRacQZcRbcRccRdcRecRfcWLcFvaaaaaaabqaaaaaacRhcTycTzcRhcTAcTBcWRcTDcRhcTEdeMdeNdeNdeNdeOdePcUscTHcTHcUtcNHcWfcUwcUwcUycTWcXscUvcRtcSocUAcWBcUCcUDcUEdeQcXBbZUcTjbZUabqabqcNzcUHcNzabqaaaaaaaaabZUchycuVchycUJcUKchycULbZUcmicQWcOycWCcXCcXNcXNcXNcXNcXNcXNcXNcXNcYiarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqcHZcHZcFvcHZcFvcHZdeucYLcRWcYMcRYcRZcHZaaaaaaabqaaaaaacRhcUgcUhcUicUjcUkcUlcZacRhcUncRhcSOdeUdeYdeXdfocUYcUZcVacSOcXacUvcRtcVccVdcWDcVfcWJcUwcVhcVicWTcVkcVkcSVcTScVkbZUaefabqaaaaaacNzcVncNzaaaaaaaaaaaabZUcYmcZJcYwbZUcZNcZYcYwbZUaaaabqcOycOycOyabqaaaabqaaaaaaabqabqaaacYYarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqcSzcSAdewcKPcSDcSEcSFcSGcSHcHZaaaaaaabeabeaaacRhcTycUNcRhcZscUPcZtcURcUScUTcRhcSOcZXcVwcVxcUXcVycVzcVAcSOcSOcUvcRtcRtcRtcTWcUzcUvcRtcVBcVCdaccTXabqabqaaaaaaabqaefabqaaacVFcVGcVHcVGcVIaaaaaaaaabZUbZUbZUbZUbZUbZUbZUbZUbZUaaaabqaaaaaaaaaabqabqabqabqabqabqaaaaaacYYarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaacTxabqdeycHZcHZcHZcHZcHZcHZcHZaaaaaaabfaaacSOcSOcSOcSOcSOcSOcSOcVQdfscSOcSOcSOcVTcVUcVVcVWcUXcUYcUZcVacVXcSOdaucRtcVZcWacUudapcWbcWadawcRtdatcVkaaaabqabqabqabqabqabqabqcVGdaEcWhcWgcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaabqaaaaaacYYaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaaaaaaaaaabqabqabqaaaaaaaaaaaaaaaaaaabfaaadfvcVLcVMcSOcVNdaScVPcVQcVRcVScSOcUXdfwcWvcWucWwcWpcWxcWwcWycWzcSOcWicTrdbjcTrcTrcTrcTrcTrdbmcTrdaTcTXaaaabqaaaaaaabqaaaaaaaaacVGcWAcWFcWEdeAcxTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYYaaaaaaaaaaaaaaaaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabfaaadfvcWncVMdbpcWpcWpcWpdbwcWrcWscWtcWpdbxdfGcWVcWVcWWcWVcWVcWXcWYcSOcXccXbcXdcXbcXbcXecXbcXbcXpcXfcXMcVkabqabqaaacVGcVGcVGcVGcVGcVGcXgcXicXhcVGcVGcVGcVGcVGcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaabqaaaaaaaaaaaaaaacYYaaaaaaabqaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabeaaaaaaaaaabeabfabeabqabeaaaaaaaaaaaaabfabqdfvcWncWMcVRcWNcWOcUXcWPcWQcZlcZkdggdhidgpcXmcUXcXncUXcXmcZxcZCcSOcYfcTXcYfcTXcTXcTXcTXcTXcYfcTXcYfcTXaaaabqabqcVGcXqcmDdbCcXtcVGcXucXvcVGcVGcmGdbKdbFcXzcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqauparBaupabqabqabqabqcYYabqabqabqabqabqabearBarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqdfvcXjcVMcVRcWNcWNcXkcSOcSOcSOcSOdhjcVacXIcXJcXJcXKcXJcXJcXLcZRcVkcYBcTXcXbcTXaaaaaaaaacTXcYXcTXcXbcTXaaaabqaaacNzcXOcXPcXQcXRcnkcXScXTcXUcnvcXVcXWcXXcnTcNzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaabqaaaaaaaaacZbaaaaaaabqaaaaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqcSOcSOcSOcXEcUXcUXcUXcXFdbLcSOcSOcSOcSOcSOdhldhldhldhldhlcSOcSOcVkcYfcTXcYfcTXaaaaaaaaacTXcYfcTXcYfcZTabqabqaaacNzcnUcYpcYqcYrcYrcYscYtcYucYucYucYucYvcnVcNzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaacYAcYAcYAcYAcYAabqcYZabqcYAcYAcYAcYAcYAaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqdfvcYgcYhdbXcYjcYkcXKcYldbccSOdhnaaaaaacYDdhpdhpdhpdhpdahdaXdhpdaicZodhpcZodajdhpdhpdhpdaicZpdhpdcbdalcYEcYJaaacVGcYKcnWdcqdclcYQcYPcZKcYRcZLdgWcYUcYVcpecVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcZccZdcZdcZdcZdcZjcZWdcvdcNdcNdcNdcNddkabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSOdfvcSOcSOdfvdfvdfvcSOdagcSOabqabqdazdbadaAdcTdcPdaBcZedcncZBdaCcZBdaDcZBdaCdaCdaDdaCddVcZBdaCcZBcZBdaKdaJaaacVGcZrcZrcZrcZrcTkcZucZUcZDcTkcZrcZrcZrcZrcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcZAcZAcZAcZAcZAaaacYZaaacZAcZAcZAcZAcZAabqarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqcHZcHZcFvcHZcFvcHZdeucYLcRWcYMcRYcRZcHZaaaaaaabqaaaaaacRhcUgcUhcUicUjcUkcUlcZacRhcUncRhcSOdeUdeYdeXdfocUYcUZcVacSOcXacUvcRtcVccVdcWDcVfcWJcUwcVhcVicWTcVkcVkcSVcTScVkbZUaefabqaaaaaacNzcVncNzaaaaaaaaaaaabZUcYmcZJcYwbZUcZNcZYcYwbZUaaaabqcOycOycOyabqaaaabqaaaaaaabqabqaaacYAarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqcSzcSAdewcKPcSDcSEcSFcSGcSHcHZaaaaaaabeabeaaacRhcTycUNcRhcZscUPcZtcURcUScUTcRhcSOcZXcVwcVxcUXcVycVzcVAcSOcSOcUvcRtcRtcRtcTWcUzcUvcRtcVBcVCdaccTXabqabqaaaaaaabqaefabqaaacVFcVGcVHcVGcVIaaaaaaaaabZUbZUbZUbZUbZUbZUbZUbZUbZUaaaabqaaaaaaaaaabqabqabqabqabqabqaaaaaacYAarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaacTxabqdeycHZcHZcHZcHZcHZcHZcHZaaaaaaabfaaacSOcSOcSOcSOcSOcSOcSOcVQdfscSOcSOcSOcVTcVUcVVcVWcUXcUYcUZcVacVXcSOdaucRtcVZcWacUudapcWbcWadawcRtdatcVkaaaabqabqabqabqabqabqabqcVGdaEcWhcWgcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaaaaaaaabqaaaaaacYAaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaaaaaaaaaabqabqabqaaaaaaaaaaaaaaaaaaabfaaadfvcVLcVMcSOcVNdaScVPcVQcVRcVScSOcUXdfwcWvcWucWwcWpcWxcWwcWycWzcSOcWicTrdbjcTrcTrcTrcTrcTrdbmcTrdaTcTXaaaabqaaaaaaabqaaaaaaaaacVGcWAcWFcWEdeAcxTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYAaaaaaaaaaaaaaaaaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabfaaadfvcWncVMdbpcWpcWpcWpdbwcWrcWscWtcWpdbxdfGcWVcWVcWWcWVcWVcWXcWYcSOcXccXbcXdcXbcXbcXecXbcXbcXpcXfcXMcVkabqabqaaacVGcVGcVGcVGcVGcVGcXgcXicXhcVGcVGcVGcVGcVGcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaaaabqaaaaaaaaaaaaaaacYAaaaaaaabqaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabeaaaaaaaaaabeabfabeabqabeaaaaaaaaaaaaabfabqdfvcWncWMcVRcWNcWOcUXcWPcWQcZlcZkdggdhidgpcXmcUXcXncUXcXmcZxcZCcSOcYfcTXcYfcTXcTXcTXcTXcTXcYfcTXcYfcTXaaaabqabqcVGcXqcmDdbCcXtcVGcXucXvcVGcVGcmGdbKdbFcXzcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqauparBaupabqabqabqabqcYAabqabqabqabqabqabearBarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqdfvcXjcVMcVRcWNcWNcXkcSOcSOcSOcSOdhjcVacXIcXJcXJcXKcXJcXJcXLcZRcVkcYBcTXcXbcTXaaaaaaaaacTXcYXcTXcXbcTXaaaabqaaacNzcXOcXPcXQcXRcnkcXScXTcXUcnvcXVcXWcXXcnTcNzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaabqaaaaaaaaacYYaaaaaaabqaaaaaaaaaaaaaupaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqcSOcSOcSOcXEcUXcUXcUXcXFdbLcSOcSOcSOcSOcSOdhldhldhldhldhlcSOcSOcVkcYfcTXcYfcTXaaaaaaaaacTXcYfcTXcYfcZTabqabqaaacNzcnUcYpcYqcYrcYrcYscYtcYucYucYucYucYvcnVcNzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaacZbcZbcZbcZbcZbabqcYZabqcZbcZbcZbcZbcZbaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqdfvcYgcYhdbXcYjcYkcXKcYldbccSOdhnaaaaaacYDdhpdhpdhpdhpdahdaXdhpdaicZodhpcZodajdhpdhpdhpdaicZpdhpdcbdalcYEcYJaaacVGcYKcnWdcqdclcYQcYPcZKcYRcZLdgWcYUcYVcpecVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcZccZdcZdcZdcZdcZjcZAcZWdcvdcvdcvdcvdcNabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSOdfvcSOcSOdfvdfvdfvcSOdagcSOabqabqdazdbadaAdcTdcPdaBcZedcncZBdaCcZBdaDcZBdaCdaCdaDdaCddVcZBdaCcZBcZBdaKdaJaaacVGcZrcZrcZrcZrcTkcZucZUcZDcTkcZrcZrcZrcZrcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqddkddkddkddkddkaaacYZaaaddkddkddkddkddkabqarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqabqabqabqcZFdaZcZedbkcZBddadbqdbhcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZgdhpaaacVGcZGcZHcZHcpfdbecZMdasdaqddWcpgcZPcZPcZPcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaabqabqabqaaacYZaaaabqaaaabqaaaabqaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZSdbOcZedbPddccZBcZBdaJcZBcZBdbQdbYdbQdbQdbQcZBdbQdbQdbQdbYdbQcZBcZBdccdaiabqcVGcZPcZPcZPcqcdbBcZZdaadabdbIcqjcZPcZPcZPcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaacYAcYAcYAcYAcYAabqcYZabqcYAcYAcYAcYAcYAabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZVdaZcZedcedddcZBcZBdcFcZBcZBdhpdebdhpdcmdhpcZBdhpdcmdhpdebdhpcZBcZBcZBdhpaaacVGaOEcZPcZPcqJdeTdaGdardaIdbRcqXcZHcZHdavcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcZccZdcZdcZdcZdcZjcYZdcvdcNdcNdcNdcNddkabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadalcYEdbaddmddacZBcZBdcocZBcZBdaCdcpdaCdaCdaCcZBdaCdaCdaCdcpdaCcZBcZBdfrdaiaaacVGcZrcZrcZrcZrdaFdaRdaHdfDdaFcZrcZrcZrcZrcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcZAcZAcZAcZAcZAaaacYZabqcZAcZAcZAcZAcZAaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZSdbOcZedbPddccZBcZBdaJcZBcZBdbQdbYdbQdbQdbQcZBdbQdbQdbQdbYdbQcZBcZBdccdaiabqcVGcZPcZPcZPcqcdbBcZZdaadabdbIcqjcZPcZPcZPcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaacZbcZbcZbcZbcZbabqcYZabqcZbcZbcZbcZbcZbabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZVdaZcZedcedddcZBcZBdcFcZBcZBdhpdebdhpdcmdhpcZBdhpdcmdhpdebdhpcZBcZBcZBdhpaaacVGaOEcZPcZPcqJdeTdaGdardaIdbRcqXcZHcZHdavcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqcZccZdcZdcZdcZdcZjcYZcZWdcvdcvdcvdcvdcNabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadalcYEdbaddmddacZBcZBdcocZBcZBdaCdcpdaCdaCdaCcZBdaCdaCdaCdcpdaCcZBcZBdfrdaiaaacVGcZrcZrcZrcZrdaFdaRdaHdfDdaFcZrcZrcZrcZrcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqddkddkddkddkddkaaacYZabqddkddkddkddkddkaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZFdaZcZedcrcZBddccZBcZedcJcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBcZBdhpaaacVGcZGcZHcZHcrsdbedbodaHdbrdfHcsdcZPcZPaOEcVGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaabqaaaabqaaaabqaaacYZaaaabqaaaabqabqabqabqaupaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZVdbOcZedcMdhvdfScZBcZedcncZBdbQdbQdcQdbQdbQcZBdbQdbQdbYdbQdbQcZBcZBdcRdcoaaacVGcZPcZPcZPcsedcfcZZdbddabdckcsfcZPcZPcZPcVGaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaabqaaacYAcYAcYAcYAcYAabqddwabqcYAcYAcYAcYAcYAabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadalcYEdcGdcScYEdaXddedaWcYEdcUdhpdalcYHdaXdhpdaYdhpdcVdaXdhpdcmdcWdcWdaldbaabqcVGaOEcZPcZPcsmdfWdaGdbndbsdbRcsAcZHcZHdavcVGaaaaaaabqaaaaaaabqaaaaaaaaaaaaaaaaaaarBabqcZccZdcZdcZdcZdcZjcYZdcvdcNdcNdcNdcNddkabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZFdaZcZeddbcZEddgddfcZeddiddfddjddjcZeddnddlcZBddodaJdamdbtdbgddpddpddqdaJcVGcVGcZrcZrcZrcZrdaFdbzdaHdbAdaFcZrcZrcZrcZrcVGcVGaaaabqabqabqabqaaaaaaaaaaaaaaaaaaabqabqcZAcZAcZAcZAcZAaaaddDaaacZAcZAcZAcZAcZAaaaarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZSdbOcZeddbcZEdalddEddFddiddfddfddGcZedgacZBcZBdbidhpdgccZEcZEcZEcZEddpdhpcVGcZGcZHcZHcsBdbedchdcgdaHdbrdaqdcwcsDdbDcZPcZPcVGabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaabqabqabqaaaaaacYYabqaaaaaaabqabqaaaaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZVdaZcZeddIcZEcZEddTdbhddYddfddfdevcZedeKcZBcZBcZBdaYddHcZEcZEcZEcZEddpdhpcVGcZPcZPcZPcsFdcxdabdabdbJdabdabdcycsKdbMcZPcZPcVGaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabearBarBarBaaaaaaaaacYYaaaaaaaaaarBarBarBauparBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZVdbOcZedcMdhvdfScZBcZedcncZBdbQdbQdcQdbQdbQcZBdbQdbQdbYdbQdbQcZBcZBdcRdcoaaacVGcZPcZPcZPcsedcfcZZdbddabdckcsfcZPcZPcZPcVGaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaabqaaacZbcZbcZbcZbcZbabqddwabqcZbcZbcZbcZbcZbabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadalcYEdcGdcScYEdaXddedaWcYEdcUdhpdalcYHdaXdhpdaYdhpdcVdaXdhpdcmdcWdcWdaldbaabqcVGaOEcZPcZPcsmdfWdaGdbndbsdbRcsAcZHcZHdavcVGaaaaaaabqaaaaaaabqaaaaaaaaaaaaaaaaaaarBabqcZccZdcZdcZdcZdcZjcYZcZWdcvdcvdcvdcvdcNabqarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZFdaZcZeddbcZEddgddfcZeddiddfddjddjcZeddnddlcZBddodaJdamdbtdbgddpddpddqdaJcVGcVGcZrcZrcZrcZrdaFdbzdaHdbAdaFcZrcZrcZrcZrcVGcVGaaaabqabqabqabqaaaaaaaaaaaaaaaaaaabqabqddkddkddkddkddkaaaddDaaaddkddkddkddkddkaaaarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZSdbOcZeddbcZEdalddEddFddiddfddfddGcZedgacZBcZBdbidhpdgccZEcZEcZEcZEddpdhpcVGcZGcZHcZHcsBdbedchdcgdaHdbrdaqdcwcsDdbDcZPcZPcVGabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaabqabqabqaaaaaacYAabqaaaaaaabqabqaaaaaaarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZVdaZcZeddIcZEcZEddTdbhddYddfddfdevcZedeKcZBcZBcZBdaYddHcZEcZEcZEcZEddpdhpcVGcZPcZPcZPcsFdcxdabdabdbJdabdabdcycsKdbMcZPcZPcVGaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaarBabearBarBarBaaaaaaaaacYAaaaaaaaaaarBarBarBauparBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfpdbadfMcZEcZEddTcZedgedgYdgQdgZcZedgddhadhcdhbdhedexdgfdeSdfCdeVdfEdcocVGcZPcZPcZPcsLdczdbSdbTdbUdbVdbWdcAcsMdbZcZHdavcVGaaaabqaaaabqabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaarBabqdcaabqarBaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhhdhpddgddgdhpddxcYEdhpdhpdalddxdaXdhpdhpdalddxcYEdaXdhpdhpdalcYEddycVGcVGcVGcVGcVGdcBdcjdcidezcYRdeBddRcVGcVGcVGcVGcVGaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaaaabqaaaarBabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaacVGdcsdctdcuddSdgBddUdejddXdetdesdcCdcDdcEcVGaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBarBarBarBarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8762,4 +8761,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
-
diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm
index 5b657ff7a0a..8b20d888049 100644
--- a/_maps/map_files/MetaStation/z2.dmm
+++ b/_maps/map_files/MetaStation/z2.dmm
@@ -2,556 +2,501 @@
"ab" = (/turf/space,/area/space)
"ac" = (/turf/space/transit/east{dir = 8},/area/space)
"ad" = (/turf/space/transit,/area/syndicate_station/transit)
-"ae" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 1; height = 4; id = "pod3_transit"; name = "pod 3 in transit"; width = 3},/turf/space/transit/east{dir = 8},/area/space)
-"af" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 1; height = 4; id = "pod4_transit"; name = "pod 4 in transit"; width = 3},/turf/space/transit/east{dir = 8},/area/space)
-"ag" = (/obj/docking_port/stationary/transit{dir = 2; dwidth = 5; height = 14; id = "emergency_transit"; name = "emergency in transit"; width = 25},/turf/space/transit,/area/space)
-"ah" = (/obj/docking_port/stationary/transit{dir = 1; dwidth = 1; height = 4; id = "pod1_transit"; name = "pod 1 in transit"; width = 3},/turf/space/transit,/area/space)
-"ai" = (/obj/docking_port/stationary/transit{dir = 1; dwidth = 1; height = 4; id = "pod2_transit"; name = "pod 2 in transit"; width = 3},/turf/space/transit,/area/space)
-"aj" = (/obj/docking_port/stationary{dir = 1; dwidth = 1; height = 4; id = "pod1_away"; name = "recovery ship bay 1"; width = 3},/turf/space,/area/shuttle/escape_pod1/centcom)
-"ak" = (/obj/docking_port/stationary{dir = 1; dwidth = 1; height = 4; id = "pod2_away"; name = "recovery ship bay 2"; width = 3},/turf/space,/area/shuttle/escape_pod2/centcom)
-"al" = (/obj/docking_port/stationary{dir = 4; dwidth = 1; height = 4; id = "pod3_away"; name = "recovery ship bay 3"; width = 3},/turf/space,/area/shuttle/escape_pod3/centcom)
+"ae" = (/obj/docking_port/stationary/transit{dir = 4;dwidth = 1;height = 4;id = "pod3_transit";name = "pod 3 in transit";width = 3},/turf/space/transit/east{dir = 8},/area/space)
+"af" = (/obj/docking_port/stationary/transit{dir = 4;dwidth = 1;height = 4;id = "pod4_transit";name = "pod 4 in transit";width = 3},/turf/space/transit/east{dir = 8},/area/space)
+"ag" = (/obj/docking_port/stationary/transit{dir = 2;dwidth = 5;height = 14;id = "emergency_transit";name = "emergency in transit";width = 25},/turf/space/transit,/area/space)
+"ah" = (/obj/docking_port/stationary/transit{dir = 1;dwidth = 1;height = 4;id = "pod1_transit";name = "pod 1 in transit";width = 3},/turf/space/transit,/area/space)
+"ai" = (/obj/docking_port/stationary/transit{dir = 1;dwidth = 1;height = 4;id = "pod2_transit";name = "pod 2 in transit";width = 3},/turf/space/transit,/area/space)
+"aj" = (/obj/docking_port/stationary{dir = 1;dwidth = 1;height = 4;id = "pod1_away";name = "recovery ship bay 1";width = 3},/turf/space,/area/shuttle/escape_pod1/centcom)
+"ak" = (/obj/docking_port/stationary{dir = 1;dwidth = 1;height = 4;id = "pod2_away";name = "recovery ship bay 2";width = 3},/turf/space,/area/shuttle/escape_pod2/centcom)
+"al" = (/obj/docking_port/stationary{dir = 4;dwidth = 1;height = 4;id = "pod3_away";name = "recovery ship bay 3";width = 3},/turf/space,/area/shuttle/escape_pod3/centcom)
"am" = (/turf/unsimulated/floor/snow,/area/syndicate_mothership)
-"an" = (/obj/docking_port/stationary{dir = 4; dwidth = 1; height = 4; id = "pod4_away"; name = "recovery ship bay 4"; width = 3},/turf/space,/area/shuttle/escape_pod5/centcom)
-"ao" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 5; id = "laborcamp_transit"; name = "labor in transit"; width = 9},/turf/space/transit,/area/space)
-"ap" = (/turf/unsimulated/wall{tag = "icon-iron6"; icon_state = "iron6"},/area/space)
-"aq" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
-"ar" = (/turf/unsimulated/wall{tag = "icon-iron14"; icon_state = "iron14"},/area/space)
-"as" = (/turf/unsimulated/wall{tag = "icon-iron10"; icon_state = "iron10"},/area/space)
+"an" = (/obj/docking_port/stationary{dir = 4;dwidth = 1;height = 4;id = "pod4_away";name = "recovery ship bay 4";width = 3},/turf/space,/area/shuttle/escape_pod5/centcom)
+"ao" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 2;height = 5;id = "laborcamp_transit";name = "labor in transit";width = 9},/turf/space/transit,/area/space)
+"ap" = (/turf/unsimulated/wall{tag = "icon-iron6";icon_state = "iron6"},/area/space)
+"aq" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
+"ar" = (/turf/unsimulated/wall{tag = "icon-iron14";icon_state = "iron14"},/area/space)
+"as" = (/turf/unsimulated/wall{tag = "icon-iron10";icon_state = "iron10"},/area/space)
"at" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow,/area/syndicate_mothership)
"au" = (/obj/structure/flora/bush,/turf/unsimulated/floor/snow,/area/syndicate_mothership)
"av" = (/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
-"aw" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dir = 1; dwidth = 5; height = 14; id = "emergency_syndicate"; name = "404 Not Found"; turf_type = /turf/unsimulated/floor/snow; width = 25},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
+"aw" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership;dir = 1;dwidth = 5;height = 14;id = "emergency_syndicate";name = "404 Not Found";turf_type = /turf/unsimulated/floor/snow;width = 25},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
"ax" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"ay" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"ay" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"az" = (/turf/unsimulated/floor/snow,/area/space)
-"aA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/syndicate_mothership)
-"aB" = (/turf/unsimulated/wall/fakeglass{dir = 0; icon_state = "fakewindows"; tag = "icon-fakewindows (EAST)"},/area/syndicate_mothership)
-"aC" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"aD" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHEAST)"; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership)
-"aE" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)"; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
-"aF" = (/obj/docking_port/stationary/transit{dir = 2; dwidth = 2; height = 18; id = "skipjack_transit"; name = "skipjack in transit"; width = 19},/turf/space/transit,/area/space)
-"aG" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area/space)
-"aH" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"aI" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid6"; icon_state = "asteroid6"; dir = 2},/area/holodeck/source_desert)
-"aJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area/space)
+"aA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/syndicate_mothership)
+"aB" = (/turf/unsimulated/wall/fakeglass{dir = 0;icon_state = "fakewindows";tag = "icon-fakewindows (EAST)"},/area/syndicate_mothership)
+"aC" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"aD" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHEAST)";icon_state = "gravsnow_corner";dir = 6},/area/syndicate_mothership)
+"aE" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)";icon_state = "gravsnow_corner";dir = 10},/area/syndicate_mothership)
+"aF" = (/obj/docking_port/stationary/transit{dir = 2;dwidth = 2;height = 18;id = "skipjack_transit";name = "skipjack in transit";width = 19},/turf/space/transit,/area/space)
+"aG" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{tag = "icon-iron3";icon_state = "iron3"},/area/space)
+"aH" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_desert)
+"aI" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid6";icon_state = "asteroid6";dir = 2},/area/holodeck/source_desert)
+"aJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3";icon_state = "iron3"},/area/space)
"aK" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
"aL" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aM" = (/obj/structure/rack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"aN" = (/obj/effect/landmark/costume,/obj/structure/rack,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"aO" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
-"aP" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating)
-"aQ" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest)
-"aR" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt)
-"aS" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt)
-"aT" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt)
-"aU" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area/space)
+"aM" = (/obj/structure/rack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{tag = "icon-cult";icon_state = "cult";dir = 2},/area/holodeck/source_theatre)
+"aN" = (/obj/effect/landmark/costume,/obj/structure/rack,/turf/simulated/floor/holofloor{tag = "icon-cult";icon_state = "cult";dir = 2},/area/holodeck/source_theatre)
+"aO" = (/turf/simulated/floor/holofloor{icon_state = "engine";name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
+"aP" = (/turf/simulated/floor/holofloor{icon_state = "engine";name = "Holodeck Projector Floor"},/area/holodeck/source_plating)
+"aQ" = (/turf/simulated/floor/holofloor{icon_state = "engine";name = "Burn-Mix Floor";nitrogen = 0;oxygen = 2500;temperature = 370;toxins = 5000},/area/holodeck/source_burntest)
+"aR" = (/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_emptycourt)
+"aS" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_emptycourt)
+"aT" = (/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_emptycourt)
+"aU" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3";icon_state = "iron3"},/area/space)
"aV" = (/turf/unsimulated/wall,/area/vox_station)
-"aW" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)"; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
-"aX" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"aY" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership)
-"aZ" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"ba" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid8 (EAST)"; icon_state = "asteroid8"; dir = 4},/area/holodeck/source_desert)
+"aW" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)";icon_state = "gravsnow_corner";dir = 4},/area/syndicate_mothership)
+"aX" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"aY" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/syndicate_mothership)
+"aZ" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_desert)
+"ba" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid8 (EAST)";icon_state = "asteroid8";dir = 4},/area/holodeck/source_desert)
"bb" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
"bc" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"bd" = (/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"be" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
-"bf" = (/obj/effect/landmark{name = "Atmospheric Test Start"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest)
-"bg" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt)
+"bd" = (/turf/simulated/floor/holofloor{tag = "icon-cult";icon_state = "cult";dir = 2},/area/holodeck/source_theatre)
+"be" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine";name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
+"bf" = (/obj/effect/landmark{name = "Atmospheric Test Start"},/turf/simulated/floor/holofloor{icon_state = "engine";name = "Burn-Mix Floor";nitrogen = 0;oxygen = 2500;temperature = 370;toxins = 5000},/area/holodeck/source_burntest)
+"bg" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_emptycourt)
"bh" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt)
-"bi" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt)
-"bj" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid2 (EAST)"; icon_state = "asteroid2"; dir = 4},/area/holodeck/source_desert)
-"bk" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea)
-"bl" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea)
-"bm" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"bn" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid11 (EAST)"; icon_state = "asteroid11"; dir = 4},/area/holodeck/source_desert)
-"bo" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"bp" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{tag = "icon-siding1"; icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre)
-"bq" = (/turf/simulated/floor/holofloor{tag = "icon-rampbottom"; icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre)
-"br" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid7"; icon_state = "asteroid7"; dir = 2},/area/holodeck/source_desert)
-"bs" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding5"; icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea)
-"bt" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"bu" = (/obj/structure/table/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"bv" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding9"; icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea)
-"bw" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/area/holodeck/source_theatre)
-"bx" = (/turf/simulated/floor/holofloor{tag = "icon-carpet6-2 (EAST)"; icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre)
-"by" = (/turf/simulated/floor/holofloor{tag = "icon-carpet14-10 (EAST)"; icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre)
-"bz" = (/turf/simulated/floor/holofloor{tag = "icon-carpet10-8 (EAST)"; icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre)
-"bA" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5"; icon_state = "asteroid5"; dir = 2},/area/holodeck/source_desert)
-"bB" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6"; icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea)
-"bC" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10"; icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea)
-"bD" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)"; icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre)
-"bE" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)"; icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre)
-"bF" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)"; icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre)
-"bG" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt)
-"bH" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt)
-"bI" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"bJ" = (/turf/simulated/floor/holofloor{tag = "icon-carpet2-0 (EAST)"; icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre)
-"bK" = (/obj/machinery/light{dir = 1; on = 1},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"bL" = (/obj/machinery/light{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"bM" = (/mob/living/simple_animal/pet/cat/Syndi,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"bN" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"bO" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/unsimulated/floor/snow; width = 18},/turf/space,/area/space)
-"bP" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTHEAST)"; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership)
-"bQ" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea)
-"bR" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea)
-"bS" = (/turf/simulated/floor/holofloor{tag = "icon-carpet3-0 (EAST)"; icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre)
-"bT" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
-"bU" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
-"bV" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid1 (EAST)"; icon_state = "asteroid1"; dir = 4},/area/holodeck/source_desert)
-"bW" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)"; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
-"bX" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid3 (EAST)"; icon_state = "asteroid3"; dir = 4},/area/holodeck/source_desert)
-"bY" = (/turf/simulated/floor/holofloor{tag = "icon-carpet1-0 (EAST)"; icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre)
-"bZ" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-1 (EAST)"; icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre)
-"ca" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-5 (EAST)"; icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre)
-"cb" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-4 (EAST)"; icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre)
-"cc" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cd" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt)
-"ce" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cf" = (/obj/effect/decal/warning_stripes/southeastcorner,/obj/item/radio/intercom/syndicate{pixel_x = -28},/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"cg" = (/obj/structure/sign/double/map/left{pixel_y = -32},/obj/effect/decal/warning_stripes/west,/obj/machinery/light,/obj/structure/rack/skeletal_bar/left,/obj/item/reagent_containers/food/drinks/bottle/vodka,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"ch" = (/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area/space)
-"ci" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
+"bi" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_emptycourt)
+"bj" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid2 (EAST)";icon_state = "asteroid2";dir = 4},/area/holodeck/source_desert)
+"bk" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)";icon_state = "wood_siding2";dir = 4},/area/holodeck/source_picnicarea)
+"bl" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)";icon_state = "wood_siding2";dir = 4},/area/holodeck/source_picnicarea)
+"bm" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_desert)
+"bn" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid11 (EAST)";icon_state = "asteroid11";dir = 4},/area/holodeck/source_desert)
+"bo" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"bp" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)";icon_state = "wood";dir = 4},/turf/simulated/floor/holofloor{tag = "icon-siding1";icon_state = "siding1";dir = 2},/area/holodeck/source_theatre)
+"bq" = (/turf/simulated/floor/holofloor{tag = "icon-rampbottom";icon_state = "rampbottom";dir = 2},/area/holodeck/source_theatre)
+"br" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid7";icon_state = "asteroid7";dir = 2},/area/holodeck/source_desert)
+"bs" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding5";icon_state = "wood_siding5";dir = 2},/area/holodeck/source_picnicarea)
+"bu" = (/obj/structure/table/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"bv" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding9";icon_state = "wood_siding9";dir = 2},/area/holodeck/source_picnicarea)
+"bw" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)";icon_state = "wood";dir = 4},/area/holodeck/source_theatre)
+"bx" = (/turf/simulated/floor/holofloor{tag = "icon-carpet6-2 (EAST)";icon_state = "carpet6-2";dir = 4},/area/holodeck/source_theatre)
+"by" = (/turf/simulated/floor/holofloor{tag = "icon-carpet14-10 (EAST)";icon_state = "carpet14-10";dir = 4},/area/holodeck/source_theatre)
+"bz" = (/turf/simulated/floor/holofloor{tag = "icon-carpet10-8 (EAST)";icon_state = "carpet10-8";dir = 4},/area/holodeck/source_theatre)
+"bA" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5";icon_state = "asteroid5";dir = 2},/area/holodeck/source_desert)
+"bB" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6";icon_state = "wood_siding6";dir = 2},/area/holodeck/source_picnicarea)
+"bC" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10";icon_state = "wood_siding10";dir = 2},/area/holodeck/source_picnicarea)
+"bG" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_emptycourt)
+"bH" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_emptycourt)
+"bI" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"bJ" = (/turf/simulated/floor/holofloor{tag = "icon-carpet2-0 (EAST)";icon_state = "carpet2-0";dir = 4},/area/holodeck/source_theatre)
+"bK" = (/obj/machinery/light{dir = 1;on = 1},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"bL" = (/obj/machinery/light{dir = 4},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"bM" = (/mob/living/simple_animal/pet/cat/Syndi,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"bN" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"bO" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership;dheight = 9;dir = 2;dwidth = 5;height = 22;id = "syndicate_away";name = "syndicate recon outpost";turf_type = /turf/unsimulated/floor/snow;width = 18},/turf/space,/area/space)
+"bP" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTHEAST)";icon_state = "gravsnow_corner";dir = 5},/area/syndicate_mothership)
+"bQ" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1";icon_state = "wood_siding1";dir = 2},/area/holodeck/source_picnicarea)
+"bR" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1";icon_state = "wood_siding1";dir = 2},/area/holodeck/source_picnicarea)
+"bS" = (/turf/simulated/floor/holofloor{tag = "icon-carpet3-0 (EAST)";icon_state = "carpet3-0";dir = 4},/area/holodeck/source_theatre)
+"bT" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"bU" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'.";name = "\improper FOURTH WALL";pixel_x = -32},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
+"bV" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid1 (EAST)";icon_state = "asteroid1";dir = 4},/area/holodeck/source_desert)
+"bW" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)";icon_state = "gravsnow_corner";dir = 1},/area/syndicate_mothership)
+"bX" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid3 (EAST)";icon_state = "asteroid3";dir = 4},/area/holodeck/source_desert)
+"bY" = (/turf/simulated/floor/holofloor{tag = "icon-carpet1-0 (EAST)";icon_state = "carpet1-0";dir = 4},/area/holodeck/source_theatre)
+"cc" = (/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_emptycourt)
+"cd" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_emptycourt)
+"ce" = (/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_emptycourt)
+"cf" = (/obj/effect/decal/warning_stripes/southeastcorner,/obj/item/radio/intercom/syndicate{pixel_x = -28},/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"cg" = (/obj/structure/sign/double/map/left{pixel_y = -32},/obj/effect/decal/warning_stripes/west,/obj/machinery/light,/obj/structure/rack/skeletal_bar/left,/obj/item/reagent_containers/food/drinks/bottle/vodka,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"ch" = (/turf/unsimulated/wall{tag = "icon-iron3";icon_state = "iron3"},/area/space)
+"ci" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
"cj" = (/turf/unsimulated/wall,/area/space)
-"ck" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
-"cl" = (/turf/unsimulated/wall{tag = "icon-iron11"; icon_state = "iron11"},/area/space)
-"cm" = (/obj/structure/sign/double/map/right{pixel_y = -32},/obj/structure/rack/skeletal_bar/right,/obj/item/reagent_containers/food/drinks/bottle/gin,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"cn" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)"; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
-"co" = (/obj/machinery/door/airlock/centcom{name = "Shuttle Dock #2"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cp" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)"; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
+"ck" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
+"cl" = (/turf/unsimulated/wall{tag = "icon-iron11";icon_state = "iron11"},/area/space)
+"cm" = (/obj/structure/sign/double/map/right{pixel_y = -32},/obj/structure/rack/skeletal_bar/right,/obj/item/reagent_containers/food/drinks/bottle/gin,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"cn" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)";icon_state = "gravsnow_corner";dir = 1},/area/syndicate_mothership)
+"co" = (/obj/machinery/door/airlock/centcom{name = "Shuttle Dock #2";opacity = 1;req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"cp" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)";icon_state = "gravsnow_corner";dir = 10},/area/syndicate_mothership)
"cq" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"cr" = (/turf/simulated/floor/holofloor{tag = "icon-1 (NORTHEAST)"; icon_state = "1"; dir = 5},/area/holodeck/source_space)
-"cs" = (/turf/simulated/floor/holofloor{tag = "icon-17 (NORTHEAST)"; icon_state = "17"; dir = 5},/area/holodeck/source_space)
-"ct" = (/turf/simulated/floor/holofloor{tag = "icon-22 (NORTHEAST)"; icon_state = "22"; dir = 5},/area/holodeck/source_space)
-"cu" = (/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cv" = (/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall)
-"cw" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball)
-"cx" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball)
-"cy" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball)
+"cr" = (/turf/simulated/floor/holofloor{tag = "icon-1 (NORTHEAST)";icon_state = "1";dir = 5},/area/holodeck/source_space)
+"cs" = (/turf/simulated/floor/holofloor{tag = "icon-17 (NORTHEAST)";icon_state = "17";dir = 5},/area/holodeck/source_space)
+"ct" = (/turf/simulated/floor/holofloor{tag = "icon-22 (NORTHEAST)";icon_state = "22";dir = 5},/area/holodeck/source_space)
+"cu" = (/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"cv" = (/turf/simulated/floor/holofloor{tag = "icon-grimy";icon_state = "grimy";dir = 2},/area/holodeck/source_meetinghall)
+"cw" = (/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_basketball)
+"cx" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_basketball)
+"cy" = (/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_basketball)
"cz" = (/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"cA" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cB" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cC" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cD" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cE" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cF" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cG" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 12; id = "ferry_transit"; name = "ferry in transit"; turf_type = /turf/space/transit/horizontal; width = 5},/turf/space/transit/horizontal,/area/space)
-"cH" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cI" = (/turf/simulated/floor/holofloor{tag = "icon-carpet4-0 (EAST)"; icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cJ" = (/turf/simulated/floor/holofloor{tag = "icon-carpetsymbol (SOUTHEAST)"; icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall)
-"cK" = (/turf/simulated/floor/holofloor{tag = "icon-carpet8-0 (EAST)"; icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cL" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball)
+"cA" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"cB" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"cC" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"cD" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"cE" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"cF" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"cG" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 2;height = 12;id = "ferry_transit";name = "ferry in transit";turf_type = /turf/space/transit/horizontal;width = 5},/turf/space/transit/horizontal,/area/space)
+"cH" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"cI" = (/turf/simulated/floor/holofloor{tag = "icon-carpet4-0 (EAST)";icon_state = "carpet4-0";dir = 4},/area/holodeck/source_meetinghall)
+"cJ" = (/turf/simulated/floor/holofloor{tag = "icon-carpetsymbol (SOUTHEAST)";icon_state = "carpetsymbol";dir = 6},/area/holodeck/source_meetinghall)
+"cK" = (/turf/simulated/floor/holofloor{tag = "icon-carpet8-0 (EAST)";icon_state = "carpet8-0";dir = 4},/area/holodeck/source_meetinghall)
+"cL" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_basketball)
"cM" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball)
-"cN" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball)
+"cN" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_basketball)
"cO" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
"cP" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"cQ" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"cQ" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
"cR" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"cS" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cT" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt)
+"cS" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"cT" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_boxingcourt)
"cU" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt)
-"cV" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cW" = (/obj/vox/win_button,/turf/unsimulated/floor{tag = "icon-light_on"; icon_state = "light_on"},/area/vox_station)
-"cX" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cY" = (/obj/structure/table/wood,/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall)
-"cZ" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball)
-"da" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"db" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet6-0 (EAST)"; icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall)
-"dc" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet14-0 (EAST)"; icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall)
-"dd" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet10-0 (EAST)"; icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall)
-"de" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball)
-"df" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball)
-"dg" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball)
+"cV" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"cW" = (/obj/vox/win_button,/turf/unsimulated/floor{tag = "icon-light_on";icon_state = "light_on"},/area/vox_station)
+"cX" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"cY" = (/obj/structure/table/wood,/turf/simulated/floor/holofloor{tag = "icon-grimy";icon_state = "grimy";dir = 2},/area/holodeck/source_meetinghall)
+"cZ" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_basketball)
+"da" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"de" = (/turf/simulated/floor/holofloor{dir = 10;icon_state = "red"},/area/holodeck/source_basketball)
+"df" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "red"},/area/holodeck/source_basketball)
+"dg" = (/turf/simulated/floor/holofloor{dir = 6;icon_state = "red"},/area/holodeck/source_basketball)
"dh" = (/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"di" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"di" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
"dj" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"dk" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"dl" = (/obj/machinery/computer/shuttle/ferry,/turf/unsimulated/floor{tag = "icon-warndark (WEST)"; icon_state = "warndark"; dir = 8},/area/centcom/ferry)
-"dm" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"dn" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)"; icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall)
-"do" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)"; icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall)
-"dp" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)"; icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall)
-"dq" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball)
-"dr" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball)
-"ds" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball)
+"dk" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"dl" = (/obj/machinery/computer/shuttle/ferry,/turf/unsimulated/floor{tag = "icon-warndark (WEST)";icon_state = "warndark";dir = 8},/area/centcom/ferry)
+"dm" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"dq" = (/turf/simulated/floor/holofloor{dir = 9;icon_state = "green"},/area/holodeck/source_basketball)
+"dr" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "green"},/area/holodeck/source_basketball)
+"ds" = (/turf/simulated/floor/holofloor{dir = 5;icon_state = "green"},/area/holodeck/source_basketball)
"dt" = (/obj/item/beach_ball,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"du" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"du" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
"dv" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"dw" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"dx" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"dy" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"dz" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 5; height = 7; id = "supply_transit"; name = "supply in transit"; width = 12},/turf/space/transit,/area/space)
-"dA" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball)
+"dw" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"dx" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"dy" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"dz" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 5;height = 7;id = "supply_transit";name = "supply in transit";width = 12},/turf/space/transit,/area/space)
+"dA" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_basketball)
"dB" = (/obj/item/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball)
-"dC" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball)
-"dD" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"dE" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"dF" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"dG" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball)
-"dH" = (/turf/simulated/floor/holofloor{icon_state = "sand"; name = "Soft sand"},/area/holodeck/source_beach)
-"dI" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-0 (EAST)"; icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall)
-"dJ" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-0 (EAST)"; icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall)
-"dK" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-0 (EAST)"; icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall)
+"dC" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_basketball)
+"dD" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"dE" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"dF" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"dG" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_basketball)
+"dH" = (/turf/simulated/floor/holofloor{icon_state = "sand";name = "Soft sand"},/area/holodeck/source_beach)
"dL" = (/turf/simulated/floor/beach/coastline,/area/holodeck/source_beach)
-"dM" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball)
-"dN" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball)
-"dO" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball)
+"dM" = (/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_basketball)
+"dN" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_basketball)
+"dO" = (/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_basketball)
"dP" = (/turf/simulated/floor/beach/water,/area/holodeck/source_beach)
-"dQ" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"dR" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"dS" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"dT" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"dU" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"dV" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"dW" = (/turf/unsimulated/wall{tag = "icon-iron5"; icon_state = "iron5"},/area/space)
-"dX" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
-"dY" = (/turf/unsimulated/wall{tag = "icon-iron13"; icon_state = "iron13"},/area/space)
-"dZ" = (/turf/unsimulated/wall{tag = "icon-iron9"; icon_state = "iron9"},/area/space)
+"dQ" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"dR" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"dS" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"dT" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen";item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"dU" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"dV" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen";item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"dW" = (/turf/unsimulated/wall{tag = "icon-iron5";icon_state = "iron5"},/area/space)
+"dX" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
+"dY" = (/turf/unsimulated/wall{tag = "icon-iron13";icon_state = "iron13"},/area/space)
+"dZ" = (/turf/unsimulated/wall{tag = "icon-iron9";icon_state = "iron9"},/area/space)
"ea" = (/turf/unsimulated/wall,/area/tdome/arena_source)
"eb" = (/obj/machinery/igniter,/turf/simulated/floor/plasteel,/area/tdome/arena_source)
"ec" = (/turf/simulated/floor/plasteel,/area/tdome/arena_source)
"ed" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"ee" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"ef" = (/obj/machinery/door/poddoor{id_tag = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena_source)
-"eg" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena_source)
-"eh" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena_source)
+"ee" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen";name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
+"ef" = (/obj/machinery/door/poddoor{id_tag = "thunderdome";name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena_source)
+"eg" = (/turf/simulated/floor/plasteel{icon_state = "red";dir = 8},/area/tdome/arena_source)
+"eh" = (/turf/simulated/floor/plasteel{icon_state = "green";dir = 4},/area/tdome/arena_source)
"ei" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
"ej" = (/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
-"ek" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
-"el" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
+"ek" = (/obj/machinery/flasher{id = "tdomeflash";name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
+"el" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea";name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
"em" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
"en" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"eo" = (/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_away"; name = "centcom bay 2"; width = 5},/turf/space,/area/space)
-"ep" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/vox_station)
-"eq" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/vox_station)
-"er" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/vox_station)
-"es" = (/obj/machinery/door/airlock/centcom,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
-"et" = (/obj/structure/girder/displaced,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
-"eu" = (/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
-"ev" = (/obj/structure/chair/comfy/red,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
-"ew" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
-"ex" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
+"eo" = (/obj/docking_port/stationary{dir = 8;dwidth = 2;height = 12;id = "ferry_away";name = "centcom bay 2";width = 5},/turf/space,/area/space)
+"ep" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/vox_station)
+"eq" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/vox_station)
+"er" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/vox_station)
+"es" = (/obj/machinery/door/airlock/centcom,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"et" = (/obj/structure/girder/displaced,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"eu" = (/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"ew" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"ex" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
"ey" = (/turf/unsimulated/wall,/area/start)
"ez" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start)
"eA" = (/turf/unsimulated/wall/splashscreen,/area/start)
"eB" = (/turf/space,/area/shuttle/escape_pod1/centcom)
"eC" = (/turf/space,/area/shuttle/escape_pod2/centcom)
-"eD" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/centcom/evac)
-"eE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"eF" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"eG" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"eH" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/centcom/evac)
-"eI" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/centcom/evac)
-"eJ" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac)
-"eK" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/centcom/evac)
-"eL" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/centcom/evac)
+"eD" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6";dir = 2},/area/centcom/evac)
+"eE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r";dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
+"eF" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion";dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
+"eG" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l";dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
+"eH" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10";dir = 2},/area/centcom/evac)
+"eI" = (/turf/simulated/shuttle/wall{icon_state = "swall3";dir = 2},/area/centcom/evac)
+"eJ" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater";dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac)
+"eK" = (/turf/simulated/shuttle/wall{icon_state = "swall7";dir = 2},/area/centcom/evac)
+"eL" = (/turf/simulated/shuttle/wall{icon_state = "swall8";dir = 2},/area/centcom/evac)
"eM" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/plating,/area/centcom/evac)
-"eN" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/centcom/evac)
+"eN" = (/turf/simulated/shuttle/wall{icon_state = "swall0";dir = 2},/area/centcom/evac)
"eO" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac)
-"eP" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/centcom/evac)
-"eQ" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/centcom/evac)
+"eP" = (/turf/simulated/shuttle/wall{icon_state = "swall4";dir = 2},/area/centcom/evac)
+"eQ" = (/turf/simulated/shuttle/wall{icon_state = "swall11";dir = 2},/area/centcom/evac)
"eR" = (/turf/simulated/shuttle/plating,/area/centcom/evac)
-"eS" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/centcom/evac)
-"eT" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/centcom/evac)
+"eS" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6";dir = 2},/area/centcom/evac)
+"eT" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9";dir = 2},/area/centcom/evac)
"eU" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"eV" = (/obj/item/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/vox_station)
-"eW" = (/obj/structure/table,/obj/item/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"eX" = (/obj/structure/table,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"eY" = (/obj/structure/table,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"eW" = (/obj/structure/table,/obj/item/storage/firstaid/toxin{pixel_x = -2;pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"eX" = (/obj/structure/table,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -2;pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"eY" = (/obj/structure/table,/obj/item/storage/firstaid/regular{pixel_x = 2;pixel_y = 0},/obj/item/storage/firstaid/regular{pixel_x = -2;pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
"eZ" = (/obj/machinery/door/airlock/centcom{opacity = 1},/turf/unsimulated/floor,/area/vox_station)
-"fa" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/centcom/evac)
-"fb" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/centcom/evac)
-"fc" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/centcom/evac)
+"fa" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f5";dir = 2},/area/centcom/evac)
+"fb" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 2;icon_state = "swall_f10";layer = 2},/area/centcom/evac)
+"fc" = (/turf/simulated/shuttle/wall{icon_state = "swall1";dir = 2},/area/centcom/evac)
"fd" = (/turf/simulated/shuttle/floor,/area/centcom/evac)
"fe" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac)
-"ff" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/centcom/evac)
-"fg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/centcom/evac)
-"fh" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/centcom/evac)
-"fi" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/centcom/evac)
+"ff" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5";dir = 2},/area/centcom/evac)
+"fg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9";dir = 2},/area/centcom/evac)
+"fh" = (/turf/simulated/shuttle/wall{icon_state = "swall12";dir = 2},/area/centcom/evac)
+"fi" = (/turf/simulated/shuttle/wall{icon_state = "swallc1";dir = 2},/area/centcom/evac)
"fj" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"fk" = (/obj/structure/table/reinforced,/obj/item/storage/fancy/donut_box,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"fl" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"fm" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"fn" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"fo" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"fp" = (/turf/simulated/shuttle/wall{icon_state = "swallc2"; dir = 2},/area/centcom/evac)
+"fn" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"fp" = (/turf/simulated/shuttle/wall{icon_state = "swallc2";dir = 2},/area/centcom/evac)
"fq" = (/obj/machinery/computer/secure_data,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"fr" = (/obj/structure/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"fs" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"ft" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/stamp,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"fu" = (/obj/structure/table,/obj/item/flash,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"fv" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"fw" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
"fx" = (/turf/space,/area/shuttle/escape_pod3/centcom)
"fy" = (/obj/structure/table,/obj/item/storage/box/handcuffs,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"fz" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
+"fz" = (/obj/machinery/door/window/northright{base_state = "right";dir = 4;icon_state = "right";name = "Security Desk";req_access_txt = "103"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"fA" = (/turf/unsimulated/floor,/area/vox_station)
-"fB" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fC" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/centcom/evac)
"fD" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac)
-"fE" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_away"; name = "vox bay 1"; width = 19},/turf/space,/area/space)
-"fF" = (/turf/simulated/shuttle/wall{icon_state = "swall2"; dir = 2},/area/centcom/evac)
+"fE" = (/obj/docking_port/stationary{dir = 2;dwidth = 2;height = 18;id = "skipjack_away";name = "vox bay 1";width = 19},/turf/space,/area/space)
+"fF" = (/turf/simulated/shuttle/wall{icon_state = "swall2";dir = 2},/area/centcom/evac)
"fG" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fH" = (/obj/structure/table,/obj/item/hand_labeler,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fI" = (/obj/structure/table,/obj/item/storage/box/donkpockets,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"fJ" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/centcom/evac)
-"fK" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/centcom/evac)
-"fL" = (/obj/machinery/door/airlock/shuttle{name = "Cockpit"; req_access_txt = "109"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac)
+"fJ" = (/turf/simulated/shuttle/wall{icon_state = "swall14";dir = 2},/area/centcom/evac)
+"fK" = (/turf/simulated/shuttle/wall{icon_state = "swallc4";dir = 2},/area/centcom/evac)
+"fL" = (/obj/machinery/door/airlock/shuttle{name = "Cockpit";req_access_txt = "109"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac)
"fM" = (/obj/structure/table,/obj/item/radio/off,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"fN" = (/obj/structure/chair{dir = 4; name = "Prosecution"},/turf/simulated/shuttle/floor,/area/centcom/evac)
"fO" = (/obj/structure/filingcabinet,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"fP" = (/obj/structure/chair,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fQ" = (/obj/structure/table,/obj/item/storage/lockbox,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fR" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fS" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fT" = (/obj/structure/table,/obj/item/clipboard,/obj/item/pen,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fU" = (/obj/structure/table,/obj/item/paper_bin,/turf/simulated/shuttle/floor,/area/centcom/evac)
"fV" = (/turf/unsimulated/wall,/area/centcom/suppy)
-"fW" = (/obj/docking_port/stationary/transit{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_transit"; name = "syndicate in transit"; width = 18},/turf/space/transit,/area/syndicate_station/transit)
-"fX" = (/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_away"; name = "supply centcom"; width = 12},/turf/space,/area/space)
+"fW" = (/obj/docking_port/stationary/transit{dheight = 9;dir = 2;dwidth = 5;height = 22;id = "syndicate_transit";name = "syndicate in transit";width = 18},/turf/space/transit,/area/syndicate_station/transit)
+"fX" = (/obj/docking_port/stationary{dir = 8;dwidth = 5;height = 7;id = "supply_away";name = "supply centcom";width = 12},/turf/space,/area/space)
"fY" = (/turf/space,/area/centcom/evac)
-"fZ" = (/obj/machinery/door/airlock/external{name = "Port Docking Bay 1"; id_tag = "emergency_away"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"ga" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"gb" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/kitchen/knife/ritual,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"gc" = (/obj/structure/closet,/turf/unsimulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/centcom/suppy)
-"gd" = (/obj/structure/closet/secure_closet/cargotech,/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/suppy)
-"ge" = (/obj/structure/closet/secure_closet/quartermaster,/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/suppy)
+"fZ" = (/obj/machinery/door/airlock/external{name = "Port Docking Bay 1";id_tag = "emergency_away"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"ga" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"gb" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/kitchen/knife/ritual,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"gc" = (/obj/structure/closet,/turf/unsimulated/floor{tag = "icon-warningcorner (NORTH)";icon_state = "warningcorner";dir = 1},/area/centcom/suppy)
+"gd" = (/obj/structure/closet/secure_closet/cargotech,/turf/unsimulated/floor{dir = 1;icon_state = "loadingarea"},/area/centcom/suppy)
+"ge" = (/obj/structure/closet/secure_closet/quartermaster,/turf/unsimulated/floor{dir = 1;icon_state = "loadingarea"},/area/centcom/suppy)
"gf" = (/obj/structure/closet,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
-"gg" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 3; height = 5; id = "mining_transit"; name = "mining in transit"; width = 7},/turf/space/transit,/area/space)
-"gh" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/centcom/suppy)
-"gi" = (/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/suppy)
+"gg" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 3;height = 5;id = "mining_transit";name = "mining in transit";width = 7},/turf/space/transit,/area/space)
+"gh" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 6},/area/centcom/suppy)
+"gi" = (/turf/unsimulated/floor{dir = 8;heat_capacity = 1;icon_state = "warning"},/area/centcom/suppy)
"gj" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
"gk" = (/turf/unsimulated/wall,/area/centcom)
"gl" = (/turf/space/transit/horizontal,/area/space)
-"gm" = (/obj/machinery/door/airlock/centcom{name = "Supply Shuttle"; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/suppy)
+"gm" = (/obj/machinery/door/airlock/centcom{name = "Supply Shuttle";req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/suppy)
"gn" = (/turf/unsimulated/wall/fakedoor,/area/centcom/suppy)
"go" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
-"gp" = (/obj/docking_port/stationary/transit{dwidth = 3; height = 5; id = "science_transit"; name = "science in transit"; turf_type = /turf/space/transit/horizontal; width = 7},/turf/space/transit/horizontal,/area/space)
-"gq" = (/obj/machinery/computer/supplycomp,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/suppy)
-"gr" = (/obj/docking_port/stationary/transit{dwidth = 3; height = 7; id = "steel_rain_transit"; name = "steel_rain in transit"; width = 7},/turf/space/transit/horizontal,/area/space)
-"gs" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/suppy)
-"gt" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"gu" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/suppy)
-"gv" = (/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-plating"; icon_state = "plating"},/area/centcom/suppy)
-"gw" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)"; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
-"gx" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"gy" = (/obj/structure/toilet{dir = 8},/obj/structure/window/reinforced/tinted{dir = 1},/obj/machinery/door/window{dir = 8; name = "Tactical Toilet"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"gp" = (/obj/docking_port/stationary/transit{dwidth = 3;height = 5;id = "science_transit";name = "science in transit";turf_type = /turf/space/transit/horizontal;width = 7},/turf/space/transit/horizontal,/area/space)
+"gq" = (/obj/machinery/computer/supplycomp,/turf/unsimulated/floor{dir = 8;heat_capacity = 1;icon_state = "warning"},/area/centcom/suppy)
+"gr" = (/obj/docking_port/stationary/transit{dwidth = 3;height = 7;id = "steel_rain_transit";name = "steel_rain in transit";width = 7},/turf/space/transit/horizontal,/area/space)
+"gs" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/centcom/suppy)
+"gt" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"gu" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 1},/area/centcom/suppy)
+"gv" = (/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-plating";icon_state = "plating"},/area/centcom/suppy)
+"gw" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)";icon_state = "gravsnow_corner";dir = 4},/area/syndicate_mothership)
+"gx" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4;icon_state = "sink";pixel_x = 11;pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"gy" = (/obj/structure/toilet{dir = 8},/obj/structure/window/reinforced/tinted{dir = 1},/obj/machinery/door/window{dir = 8;name = "Tactical Toilet";opacity = 1;req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
"gz" = (/turf/unsimulated/wall/fakeglass,/area/centcom/suppy)
-"gA" = (/obj/machinery/door/airlock/centcom{name = "Crate Storage"; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
-"gB" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
+"gA" = (/obj/machinery/door/airlock/centcom{name = "Crate Storage";req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
+"gB" = (/obj/machinery/light{dir = 1;on = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"gC" = (/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"gD" = (/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"gE" = (/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"gF" = (/obj/structure/table,/obj/item/paper_bin,/turf/unsimulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/centcom/suppy)
+"gF" = (/obj/structure/table,/obj/item/paper_bin,/turf/unsimulated/floor{tag = "icon-warningcorner (EAST)";icon_state = "warningcorner";dir = 4},/area/centcom/suppy)
"gG" = (/obj/structure/table,/obj/item/clipboard,/obj/item/coin/silver,/turf/unsimulated/floor,/area/centcom/suppy)
-"gH" = (/obj/structure/table,/obj/item/pen/blue{pixel_x = 4; pixel_y = 4},/obj/item/pen/red,/obj/item/pen{pixel_x = 8; pixel_y = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
+"gH" = (/obj/structure/table,/obj/item/pen/blue{pixel_x = 4;pixel_y = 4},/obj/item/pen/red,/obj/item/pen{pixel_x = 8;pixel_y = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
"gI" = (/turf/unsimulated/floor,/area/centcom/suppy)
"gJ" = (/obj/effect/decal/warning_stripes/south,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"gK" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"gL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"gM" = (/obj/machinery/door/airlock/centcom{name = "Centcom Supply"; req_access_txt = "106"},/turf/unsimulated/floor{tag = "icon-brown"; icon_state = "brown"},/area/centcom/suppy)
+"gM" = (/obj/machinery/door/airlock/centcom{name = "Centcom Supply";req_access_txt = "106"},/turf/unsimulated/floor{tag = "icon-brown";icon_state = "brown"},/area/centcom/suppy)
"gN" = (/turf/unsimulated/wall,/area/centcom/evac)
"gO" = (/turf/unsimulated/wall,/area/centcom/control)
"gP" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor/grass,/area/centcom/control)
-"gQ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/control)
-"gR" = (/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/control)
-"gS" = (/turf/unsimulated/floor{tag = "icon-darkred (NORTHWEST)"; icon_state = "darkred"; dir = 9},/area/centcom/evac)
-"gT" = (/turf/unsimulated/floor{tag = "icon-darkred (NORTH)"; icon_state = "darkred"; dir = 1},/area/centcom/evac)
-"gU" = (/obj/structure/table,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{tag = "icon-darkred (NORTHEAST)"; icon_state = "darkred"; dir = 5},/area/centcom/evac)
+"gQ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/centcom/control)
+"gR" = (/turf/unsimulated/floor{dir = 1;icon_state = "green"},/area/centcom/control)
+"gS" = (/turf/unsimulated/floor{tag = "icon-darkred (NORTHWEST)";icon_state = "darkred";dir = 9},/area/centcom/evac)
+"gT" = (/turf/unsimulated/floor{tag = "icon-darkred (NORTH)";icon_state = "darkred";dir = 1},/area/centcom/evac)
+"gU" = (/obj/structure/table,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{tag = "icon-darkred (NORTHEAST)";icon_state = "darkred";dir = 5},/area/centcom/evac)
"gV" = (/turf/unsimulated/wall,/area/centcom/ferry)
"gW" = (/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor/grass,/area/centcom/control)
-"gX" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/control)
+"gX" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 1},/area/centcom/control)
"gY" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"gZ" = (/turf/unsimulated/wall/fakedoor{name = "Centcom Security"},/area/centcom/evac)
"ha" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
-"hb" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_y = 4},/obj/item/pen,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
-"hc" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
-"hd" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/dresser,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
-"he" = (/obj/machinery/vending/autodrobe,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
+"hb" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_y = 4},/obj/item/pen,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
+"hc" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
+"hd" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/dresser,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
+"he" = (/obj/machinery/vending/autodrobe,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
"hf" = (/turf/unsimulated/wall/fakeglass,/area/centcom/control)
-"hg" = (/obj/structure/table/reinforced,/obj/item/clipboard,/turf/unsimulated/floor{tag = "icon-darkred (WEST)"; icon_state = "darkred"; dir = 8},/area/centcom/evac)
-"hh" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
+"hg" = (/obj/structure/table/reinforced,/obj/item/clipboard,/turf/unsimulated/floor{tag = "icon-darkred (WEST)";icon_state = "darkred";dir = 8},/area/centcom/evac)
"hi" = (/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"hj" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/assault_pod)
-"hk" = (/obj/item/storage/fancy/crayons,/obj/machinery/light{dir = 1; on = 1},/obj/structure/table,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"hl" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1; name = "Assault Pod"; opacity = 1; req_one_access_txt = "150"},/turf/simulated/floor/plating,/area/shuttle/assault_pod)
+"hk" = (/obj/item/storage/fancy/crayons,/obj/machinery/light{dir = 1;on = 1},/obj/structure/table,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"hl" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1;name = "Assault Pod";opacity = 1;req_one_access_txt = "150"},/turf/simulated/floor/plating,/area/shuttle/assault_pod)
"hm" = (/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"hn" = (/obj/item/radio/intercom/syndicate{pixel_x = 0; pixel_y = 25},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"hn" = (/obj/item/radio/intercom/syndicate{pixel_x = 0;pixel_y = 25},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"ho" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"hp" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
-"hq" = (/obj/structure/chair/comfy/black{dir = 8},/obj/effect/landmark{name = "ERT Director"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
-"hr" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/centcom/control)
-"hs" = (/obj/machinery/door/window/northleft{dir = 2; name = "Centcom Security"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
-"ht" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-darkred (SOUTHWEST)"; icon_state = "darkred"; dir = 10},/area/centcom/evac)
-"hu" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-darkred"; icon_state = "darkred"; dir = 2},/area/centcom/evac)
-"hv" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/unsimulated/floor{tag = "icon-darkred"; icon_state = "darkred"; dir = 2},/area/centcom/evac)
-"hw" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
-"hx" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"hp" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
+"hr" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 6},/area/centcom/control)
+"hs" = (/obj/machinery/door/window/northleft{dir = 2;name = "Centcom Security";req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
+"ht" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-darkred (SOUTHWEST)";icon_state = "darkred";dir = 10},/area/centcom/evac)
+"hu" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-darkred";icon_state = "darkred";dir = 2},/area/centcom/evac)
+"hv" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/unsimulated/floor{tag = "icon-darkred";icon_state = "darkred";dir = 2},/area/centcom/evac)
"hy" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
"hz" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"hA" = (/obj/structure/chair{dir = 1},/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
"hB" = (/turf/simulated/floor/plating,/area/syndicate_mothership)
"hC" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/simulated/floor/plating,/area/syndicate_mothership)
"hD" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/syndicate_mothership)
-"hE" = (/obj/structure/chair{dir = 8},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
-"hF" = (/obj/structure/chair{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
"hG" = (/obj/machinery/computer/shuttle/syndicate/drop_pod,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/assault_pod)
-"hH" = (/obj/structure/chair,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
-"hI" = (/obj/item/mop,/obj/structure/mirror{pixel_x = 28},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"hJ" = (/obj/machinery/vending/clothing,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
+"hI" = (/obj/item/mop,/obj/structure/mirror{pixel_x = 28},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"hJ" = (/obj/machinery/vending/clothing,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
"hK" = (/turf/unsimulated/floor/grass,/area/centcom/control)
-"hL" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control)
+"hL" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 8},/area/centcom/control)
"hM" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control)
-"hN" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac)
-"hO" = (/obj/structure/chair,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
-"hP" = (/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
-"hQ" = (/obj/structure/rack,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
-"hR" = (/obj/structure/rack,/obj/item/storage/fancy/crayons,/obj/item/toy/sword,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
-"hS" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/evac)
+"hN" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "green";dir = 9},/area/centcom/evac)
+"hP" = (/turf/unsimulated/floor{dir = 1;icon_state = "green"},/area/centcom/evac)
+"hQ" = (/obj/structure/rack,/turf/unsimulated/floor{dir = 1;icon_state = "green"},/area/centcom/evac)
+"hR" = (/obj/structure/rack,/obj/item/storage/fancy/crayons,/obj/item/toy/sword,/turf/unsimulated/floor{dir = 1;icon_state = "green"},/area/centcom/evac)
+"hS" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/centcom/evac)
"hT" = (/obj/structure/flora/tree/pine{pixel_x = 1},/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow,/area/syndicate_mothership)
"hU" = (/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"hV" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"hW" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1; name = "Assault Pod"; opacity = 1; req_one_access_txt = "150"},/obj/docking_port/mobile/assault_pod,/turf/simulated/floor/plating,/area/shuttle/assault_pod)
-"hX" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
-"hY" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
-"hZ" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control)
-"ia" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
+"hW" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1;name = "Assault Pod";opacity = 1;req_one_access_txt = "150"},/obj/docking_port/mobile/assault_pod,/turf/simulated/floor/plating,/area/shuttle/assault_pod)
+"hX" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
+"hZ" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 4},/area/centcom/control)
"ib" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"ic" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/evac)
+"ic" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 1},/area/centcom/evac)
"id" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"ie" = (/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"if" = (/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"ig" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"ih" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"ii" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry)
-"ij" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/ferry)
-"ik" = (/turf/unsimulated/floor{tag = "icon-warndark (WEST)"; icon_state = "warndark"; dir = 8},/area/centcom/ferry)
+"ij" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/centcom/ferry)
+"ik" = (/turf/unsimulated/floor{tag = "icon-warndark (WEST)";icon_state = "warndark";dir = 8},/area/centcom/ferry)
"il" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"im" = (/turf/unsimulated/floor{tag = "icon-darkgreen (EAST)"; icon_state = "darkgreen"; dir = 4},/area/centcom/ferry)
-"in" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/control)
-"io" = (/obj/machinery/door/airlock/centcom{name = "Centcom Customs"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
+"im" = (/turf/unsimulated/floor{tag = "icon-darkgreen (EAST)";icon_state = "darkgreen";dir = 4},/area/centcom/ferry)
+"in" = (/turf/unsimulated/floor{dir = 4;heat_capacity = 1;icon_state = "warning"},/area/centcom/control)
+"io" = (/obj/machinery/door/airlock/centcom{name = "Centcom Customs";opacity = 1;req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"ip" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"iq" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"ir" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (SOUTHWEST)"; icon_state = "fakewindows"; dir = 10},/area/centcom/evac)
-"is" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/evac)
-"it" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/evac)
-"iu" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
-"iv" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/evac)
-"iw" = (/obj/item/soap/syndie,/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"ix" = (/obj/structure/table/wood,/obj/item/pizzabox,/obj/item/paicard/syndicate,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"iy" = (/obj/structure/table/wood,/obj/item/toy/nuke,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
+"ir" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (SOUTHWEST)";icon_state = "fakewindows";dir = 10},/area/centcom/evac)
+"is" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 8},/area/centcom/evac)
+"it" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 4},/area/centcom/evac)
+"iu" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
+"iv" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/centcom/evac)
+"iw" = (/obj/item/soap/syndie,/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"ix" = (/obj/structure/table/wood,/obj/item/pizzabox,/obj/item/paicard/syndicate,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"iy" = (/obj/structure/table/wood,/obj/item/toy/nuke,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
"iz" = (/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"iA" = (/obj/structure/chair/office/dark,/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"iB" = (/obj/structure/chair/office/dark{dir = 8},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"iC" = (/obj/structure/chair/office/dark{dir = 4},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"iD" = (/turf/unsimulated/floor{name = "plating"},/area/space)
-"iE" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/ferry)
-"iF" = (/obj/structure/chair/office/dark{dir = 1},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"iE" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 1},/area/centcom/ferry)
"iG" = (/obj/structure/table,/obj/item/paper_bin,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"iH" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"iI" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
-"iJ" = (/turf/unsimulated/floor{tag = "icon-yellowsiding (WEST)"; icon_state = "yellowsiding"; dir = 8},/area/centcom/evac)
-"iK" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac)
+"iI" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/evac)
+"iJ" = (/turf/unsimulated/floor{tag = "icon-yellowsiding (WEST)";icon_state = "yellowsiding";dir = 8},/area/centcom/evac)
+"iK" = (/turf/unsimulated/floor{dir = 4;heat_capacity = 1;icon_state = "warning"},/area/centcom/evac)
"iL" = (/turf/unsimulated/wall/fakeglass{dir = 1},/area/centcom/evac)
-"iM" = (/obj/machinery/door/airlock/external{name = "Port Docking Bay 1"; id_tag = "emergency_away"},/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac)
-"iN" = (/obj/machinery/door/airlock/external{name = "Port Docking Bay 1"; id_tag = "emergency_away"},/turf/space,/area/centcom/evac)
-"iO" = (/obj/docking_port/stationary{dir = 2; dwidth = 5; height = 14; id = "emergency_away"; name = "emergency centcom"; width = 25},/turf/space,/area/space)
-"iP" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeadmin)
-"iQ" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeadmin)
-"iR" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeadmin)
+"iM" = (/obj/machinery/door/airlock/external{name = "Port Docking Bay 1";id_tag = "emergency_away"},/turf/unsimulated/floor{dir = 4;heat_capacity = 1;icon_state = "warning"},/area/centcom/evac)
+"iN" = (/obj/machinery/door/airlock/external{name = "Port Docking Bay 1";id_tag = "emergency_away"},/turf/space,/area/centcom/evac)
+"iO" = (/obj/docking_port/stationary{dir = 2;dwidth = 5;height = 14;id = "emergency_away";name = "emergency centcom";width = 25},/turf/space,/area/space)
+"iP" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome";opacity = 1;req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault";dir = 5},/area/tdome/tdomeadmin)
+"iQ" = (/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
"iS" = (/turf/unsimulated/wall,/area/syndicate_mothership)
"iT" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome"},/area/tdome/tdomeadmin)
-"iU" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeadmin)
+"iU" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
"iV" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
-"iW" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
"iX" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
-"iY" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
-"iZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry)
-"ja" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (SOUTHEAST)"; icon_state = "fakewindows"; dir = 6},/area/centcom/ferry)
-"jb" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control)
-"jc" = (/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = 28; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"jd" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"je" = (/obj/structure/table,/obj/item/stamp{pixel_x = -3; pixel_y = 3},/obj/item/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"jf" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/evac)
+"iY" = (/obj/machinery/flasher_button{id = "tdomeflash";pixel_x = 0;pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"iZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";icon_state = "space";layer = 4;name = "EXTERNAL AIRLOCK";pixel_x = 0},/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/centcom/ferry)
+"ja" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (SOUTHEAST)";icon_state = "fakewindows";dir = 6},/area/centcom/ferry)
+"jb" = (/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/control)
+"jc" = (/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors.";icon_state = "doorctrl0";id = "CentComPort";name = "Security Doors";pixel_y = 28;req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
+"je" = (/obj/structure/table,/obj/item/stamp{pixel_x = -3;pixel_y = 3},/obj/item/stamp/denied{pixel_x = 4;pixel_y = -2},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
+"jf" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 1},/area/centcom/evac)
"jg" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/evac)
"jh" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/evac)
-"ji" = (/obj/structure/table/reinforced,/obj/item/toy/carpplushie,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac)
-"jj" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"ji" = (/obj/structure/table/reinforced,/obj/item/toy/carpplushie,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 6},/area/centcom/evac)
"jk" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
"jl" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeobserve)
-"jm" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"jn" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"jo" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"jm" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea";name = "Heavy Supply Control";pixel_y = 0;req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"jn" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen";name = "General Supply Control";pixel_y = 0;req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"jo" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome";name = "Main Blast Doors Control";pixel_y = 0;req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
"jp" = (/obj/effect/landmark/shuttle_import,/turf/space,/area/space)
-"jq" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape)
-"jr" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/escape)
-"js" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape)
-"jt" = (/obj/machinery/door/airlock/external{name = "Ferry Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"ju" = (/turf/unsimulated/floor{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/centcom/ferry)
-"jv" = (/turf/unsimulated/floor{tag = "icon-darkgreencorners (EAST)"; icon_state = "darkgreencorners"; dir = 4},/area/centcom/ferry)
-"jw" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/centcom/ferry)
-"jx" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control)
-"jy" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Centcom Customs"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"jz" = (/turf/unsimulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/centcom/evac)
-"jA" = (/turf/unsimulated/floor{tag = "icon-yellowsiding (NORTH)"; icon_state = "yellowsiding"; dir = 1},/area/centcom/evac)
-"jB" = (/turf/unsimulated/floor{tag = "icon-yellowcornersiding (NORTH)"; icon_state = "yellowcornersiding"; dir = 1},/area/centcom/evac)
-"jC" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape)
-"jD" = (/obj/structure/chair/sofa/right,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"jq" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6";dir = 2},/area/shuttle/escape)
+"jr" = (/turf/simulated/shuttle/wall{tag = "icon-swall12";icon_state = "swall12";dir = 2},/area/shuttle/escape)
+"js" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10";dir = 2},/area/shuttle/escape)
+"jt" = (/obj/machinery/door/airlock/external{name = "Ferry Airlock";req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"ju" = (/turf/unsimulated/floor{tag = "icon-warndark (EAST)";icon_state = "warndark";dir = 4},/area/centcom/ferry)
+"jv" = (/turf/unsimulated/floor{tag = "icon-darkgreencorners (EAST)";icon_state = "darkgreencorners";dir = 4},/area/centcom/ferry)
+"jw" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 6},/area/centcom/ferry)
+"jx" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 1},/area/centcom/control)
+"jy" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{base_state = "rightsecure";dir = 1;icon_state = "rightsecure";name = "Centcom Customs";req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
+"jz" = (/turf/unsimulated/floor{tag = "icon-warningcorner (NORTH)";icon_state = "warningcorner";dir = 1},/area/centcom/evac)
+"jA" = (/turf/unsimulated/floor{tag = "icon-yellowsiding (NORTH)";icon_state = "yellowsiding";dir = 1},/area/centcom/evac)
+"jB" = (/turf/unsimulated/floor{tag = "icon-yellowcornersiding (NORTH)";icon_state = "yellowcornersiding";dir = 1},/area/centcom/evac)
+"jC" = (/turf/simulated/shuttle/wall{tag = "icon-swall3";icon_state = "swall3";dir = 2},/area/shuttle/escape)
"jE" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"jF" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"jG" = (/obj/structure/chair/sofa/corner,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"jH" = (/obj/machinery/door/airlock/external{id_tag = "specops_away"; name = "Shuttle Hatch"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
-"jI" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup{dwidth = 11; roundstart_move = null},/obj/docking_port/stationary{dir = 4; dwidth = 3; height = 8; id = "backup_away"; name = "Backup Shuttle Dock"; width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape)
-"jJ" = (/obj/machinery/door/airlock/external{id_tag = "specops_away"; name = "Shuttle Hatch"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"jH" = (/obj/machinery/door/airlock/external{id_tag = "specops_away";name = "Shuttle Hatch";req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
+"jI" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup{dwidth = 11;roundstart_move = null},/obj/docking_port/stationary{dir = 4;dwidth = 3;height = 8;id = "backup_away";name = "Backup Shuttle Dock";width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape)
+"jJ" = (/obj/machinery/door/airlock/external{id_tag = "specops_away";name = "Shuttle Hatch";req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"jK" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"jL" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape)
-"jM" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape)
-"jN" = (/obj/machinery/shuttle_manipulator,/turf/unsimulated/floor{tag = "icon-light_on"; icon_state = "light_on"},/area/centcom/ferry)
-"jO" = (/turf/unsimulated/floor{tag = "icon-light_on"; icon_state = "light_on"},/area/centcom/ferry)
-"jP" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/centcom/ferry)
-"jQ" = (/obj/machinery/door/airlock/centcom{name = "Transport Shuttle"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"jL" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5";dir = 2},/area/shuttle/escape)
+"jM" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9";dir = 2},/area/shuttle/escape)
+"jN" = (/obj/machinery/shuttle_manipulator,/turf/unsimulated/floor{tag = "icon-light_on";icon_state = "light_on"},/area/centcom/ferry)
+"jO" = (/turf/unsimulated/floor{tag = "icon-light_on";icon_state = "light_on"},/area/centcom/ferry)
+"jP" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 5},/area/centcom/ferry)
+"jQ" = (/obj/machinery/door/airlock/centcom{name = "Transport Shuttle";opacity = 1;req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"jR" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"jS" = (/obj/machinery/door/airlock/centcom{name = "Centcom Docks"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"jT" = (/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/control)
-"jU" = (/obj/machinery/door/poddoor/preopen{id_tag = "CentComPort"; name = "security door"},/turf/unsimulated/floor{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/area/centcom/control)
-"jV" = (/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac)
-"jW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac)
-"jX" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
-"jY" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jZ" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"ka" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"kb" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
-"kc" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"kd" = (/obj/machinery/door_control{id = "nukeop_ready"; name = "Mission Launch Control"; pixel_x = -26; pixel_y = -2; req_access_txt = "151"},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"ke" = (/turf/unsimulated/floor{tag = "icon-darkgreencorners"; icon_state = "darkgreencorners"},/area/centcom/ferry)
-"kf" = (/turf/unsimulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/centcom/evac)
-"kg" = (/turf/unsimulated/floor{tag = "icon-yellowsiding"; icon_state = "yellowsiding"},/area/centcom/evac)
-"kh" = (/turf/unsimulated/floor{tag = "icon-yellowcornersiding (WEST)"; icon_state = "yellowcornersiding"; dir = 8},/area/centcom/evac)
-"ki" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3"; icon_state = "diagonalWall3"; dir = 2},/area/shuttle/assault_pod)
+"jS" = (/obj/machinery/door/airlock/centcom{name = "Centcom Docks";opacity = 1;req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
+"jT" = (/turf/unsimulated/floor{dir = 8;icon_state = "vault"},/area/centcom/control)
+"jU" = (/obj/machinery/door/poddoor/preopen{id_tag = "CentComPort";name = "security door"},/turf/unsimulated/floor{tag = "icon-loadingarea (WEST)";icon_state = "loadingarea";dir = 8},/area/centcom/control)
+"jV" = (/turf/unsimulated/floor{dir = 8;heat_capacity = 1;icon_state = "warning"},/area/centcom/evac)
+"jW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";icon_state = "space";layer = 4;name = "EXTERNAL AIRLOCK";pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac)
+"jX" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 8;icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
+"ka" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"kb" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 1;icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
+"kc" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"kd" = (/obj/machinery/door_control{id = "nukeop_ready";name = "Mission Launch Control";pixel_x = -26;pixel_y = -2;req_access_txt = "151"},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"ke" = (/turf/unsimulated/floor{tag = "icon-darkgreencorners";icon_state = "darkgreencorners"},/area/centcom/ferry)
+"kf" = (/turf/unsimulated/floor{tag = "icon-warningcorner (EAST)";icon_state = "warningcorner";dir = 4},/area/centcom/evac)
+"kg" = (/turf/unsimulated/floor{tag = "icon-yellowsiding";icon_state = "yellowsiding"},/area/centcom/evac)
+"kh" = (/turf/unsimulated/floor{tag = "icon-yellowcornersiding (WEST)";icon_state = "yellowcornersiding";dir = 8},/area/centcom/evac)
+"ki" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3";icon_state = "diagonalWall3";dir = 2},/area/shuttle/assault_pod)
"kj" = (/turf/unsimulated/wall/fakeglass,/area/centcom/ferry)
-"kk" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
-"kl" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control)
-"km" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/centcom/evac)
-"kn" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/unsimulated/floor{tag = "icon-red (NORTH)"; icon_state = "red"; dir = 1},/area/centcom/evac)
-"ko" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-red (NORTH)"; icon_state = "red"; dir = 1},/area/centcom/evac)
-"kp" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{tag = "icon-red (NORTHEAST)"; icon_state = "red"; dir = 5},/area/centcom/evac)
-"kq" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)"; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
+"kk" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 4;icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
+"km" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)";icon_state = "redcorner";dir = 8},/area/centcom/evac)
+"kn" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/unsimulated/floor{tag = "icon-red (NORTH)";icon_state = "red";dir = 1},/area/centcom/evac)
+"ko" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-red (NORTH)";icon_state = "red";dir = 1},/area/centcom/evac)
+"kp" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{tag = "icon-red (NORTHEAST)";icon_state = "red";dir = 5},/area/centcom/evac)
+"kq" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)";icon_state = "gravsnow_corner";dir = 1},/area/syndicate_mothership)
"kr" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"ks" = (/obj/structure/chair/stool,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
"kt" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"ku" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry)
-"kv" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/ferry)
-"kw" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/ferry)
-"kx" = (/obj/machinery/door/airlock/centcom{name = "briefing room"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"ky" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/evac)
-"kz" = (/obj/structure/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"kA" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/evac)
-"kB" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"kC" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion"; tag = "icon-propulsion (EAST)"},/turf/space/transit,/area/wizard_station)
-"kD" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion"},/turf/space/transit,/area/wizard_station)
+"ku" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/centcom/ferry)
+"kv" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 8},/area/centcom/ferry)
+"kw" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 4},/area/centcom/ferry)
+"kx" = (/obj/machinery/door/airlock/centcom{name = "briefing room";opacity = 1;req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"kA" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{tag = "icon-red (EAST)";icon_state = "red";dir = 4},/area/centcom/evac)
+"kB" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"kC" = (/obj/structure/shuttle/engine/propulsion{dir = 8;icon_state = "propulsion";tag = "icon-propulsion (EAST)"},/turf/space/transit,/area/wizard_station)
+"kD" = (/obj/structure/shuttle/engine/propulsion{dir = 4;icon_state = "propulsion"},/turf/space/transit,/area/wizard_station)
"kE" = (/turf/unsimulated/wall/abductor{icon_state = "alien21"},/area/abductor_ship)
-"kF" = (/obj/structure/dresser,/obj/structure/mirror{pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"kG" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 5},/obj/item/pen/blue,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/ferry)
-"kH" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"kF" = (/obj/structure/dresser,/obj/structure/mirror{pixel_x = 0;pixel_y = 30},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"kG" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -3;pixel_y = 5},/obj/item/pen/blue,/turf/unsimulated/floor{dir = 8;icon_state = "vault"},/area/centcom/ferry)
"kI" = (/turf/unsimulated/wall/abductor{icon_state = "alien20"},/area/abductor_ship)
"kJ" = (/turf/unsimulated/wall/abductor{icon_state = "alien23"},/area/abductor_ship)
"kK" = (/turf/unsimulated/wall/abductor{icon_state = "alien22"},/area/abductor_ship)
@@ -564,13 +509,13 @@
"kR" = (/turf/unsimulated/wall/abductor{icon_state = "alien19"},/area/abductor_ship)
"kS" = (/turf/unsimulated/wall/abductor{icon_state = "alien18"},/area/abductor_ship)
"kT" = (/obj/machinery/abductor/experiment{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"kU" = (/turf/unsimulated/floor{tag = "icon-darkblue (EAST)"; icon_state = "darkblue"; dir = 4},/area/centcom/ferry)
+"kU" = (/turf/unsimulated/floor{tag = "icon-darkblue (EAST)";icon_state = "darkblue";dir = 4},/area/centcom/ferry)
"kV" = (/turf/unsimulated/wall,/area/tdome/tdomeobserve)
-"kW" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/tdome/tdomeobserve)
-"kX" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeobserve)
-"kY" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve)
-"kZ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeobserve)
-"la" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/tdome/tdomeobserve)
+"kW" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 9},/area/tdome/tdomeobserve)
+"kX" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 4},/area/tdome/tdomeobserve)
+"kY" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome";opacity = 1;req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault";dir = 5},/area/tdome/tdomeobserve)
+"kZ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/tdome/tdomeobserve)
+"la" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 5},/area/tdome/tdomeobserve)
"lb" = (/obj/machinery/abductor/pad{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lc" = (/obj/machinery/abductor/console{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"ld" = (/turf/unsimulated/wall/abductor{icon_state = "alien14"},/area/abductor_ship)
@@ -582,23 +527,22 @@
"lj" = (/turf/unsimulated/wall/abductor{icon_state = "alien12"},/area/abductor_ship)
"lk" = (/obj/effect/landmark/abductor/scientist,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"ll" = (/obj/structure/table/abductor,/obj/item/retractor/alien,/obj/item/hemostat/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"lm" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership)
-"ln" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership)
+"lm" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/syndicate_mothership)
+"ln" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/syndicate_mothership)
"lo" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"lp" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/ferry)
+"lp" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 8;icon_state = "vault"},/area/centcom/ferry)
"lq" = (/obj/effect/landmark/abductor/agent,/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"lr" = (/obj/structure/extinguisher_cabinet{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-darkbrown (EAST)"; icon_state = "darkbrown"; dir = 4},/area/centcom/ferry)
+"lr" = (/obj/structure/extinguisher_cabinet{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-darkbrown (EAST)";icon_state = "darkbrown";dir = 4},/area/centcom/ferry)
"ls" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
"lt" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
"lu" = (/turf/unsimulated/wall/fakeglass,/area/tdome/tdomeobserve)
-"lv" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome/tdomeobserve)
-"lw" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve)
-"lx" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome/tdomeobserve)
-"ly" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/centcom/evac)
-"lz" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/evac)
-"lA" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/evac)
-"lB" = (/obj/structure/rack,/obj/item/toy/katana,/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/evac)
-"lC" = (/obj/structure/rack,/obj/item/storage/fancy/crayons,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/evac)
+"lv" = (/turf/unsimulated/floor{icon_state = "neutral";dir = 8},/area/tdome/tdomeobserve)
+"lw" = (/turf/unsimulated/floor{icon_state = "vault";dir = 5},/area/tdome/tdomeobserve)
+"lx" = (/turf/unsimulated/floor{icon_state = "neutral";dir = 4},/area/tdome/tdomeobserve)
+"ly" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "red";dir = 10},/area/centcom/evac)
+"lA" = (/turf/unsimulated/floor{icon_state = "red";dir = 2},/area/centcom/evac)
+"lB" = (/obj/structure/rack,/obj/item/toy/katana,/turf/unsimulated/floor{icon_state = "red";dir = 2},/area/centcom/evac)
+"lC" = (/obj/structure/rack,/obj/item/storage/fancy/crayons,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "red";dir = 2},/area/centcom/evac)
"lD" = (/turf/unsimulated/wall/fakeglass,/area/centcom/evac)
"lE" = (/obj/machinery/optable/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lF" = (/turf/unsimulated/wall/abductor{icon_state = "alien13"},/area/abductor_ship)
@@ -611,244 +555,238 @@
"lM" = (/turf/unsimulated/wall/abductor{icon_state = "alien6"},/area/abductor_ship)
"lN" = (/obj/machinery/abductor/gland_dispenser,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lO" = (/turf/unsimulated/wall/abductor{icon_state = "alien7"},/area/abductor_ship)
-"lP" = (/obj/structure/table,/obj/item/storage/fancy/crayons,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"lQ" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"lR" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"lP" = (/obj/structure/table,/obj/item/storage/fancy/crayons,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"lQ" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
"lS" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"lT" = (/obj/structure/table/abductor,/obj/item/surgicaldrill/alien,/obj/item/circular_saw/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lU" = (/turf/unsimulated/wall/abductor{icon_state = "alien9"},/area/abductor_ship)
"lV" = (/turf/unsimulated/wall/abductor{icon_state = "alien8"},/area/abductor_ship)
-"lW" = (/turf/unsimulated/floor{tag = "icon-darkred (EAST)"; icon_state = "darkred"; dir = 4},/area/centcom/ferry)
-"lX" = (/obj/structure/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"lW" = (/turf/unsimulated/floor{tag = "icon-darkred (EAST)";icon_state = "darkred";dir = 4},/area/centcom/ferry)
"lY" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"lZ" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
"ma" = (/turf/unsimulated/wall/abductor{icon_state = "alien2"},/area/abductor_ship)
"mb" = (/turf/unsimulated/wall/abductor,/area/abductor_ship)
"mc" = (/turf/unsimulated/wall/abductor{icon_state = "alien4"},/area/abductor_ship)
"md" = (/turf/unsimulated/wall/abductor{icon_state = "alien3"},/area/abductor_ship)
"me" = (/turf/unsimulated/wall/abductor{icon_state = "alien5"},/area/abductor_ship)
-"mf" = (/obj/item/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating/airless,/area/wizard_station)
-"mg" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station)
-"mh" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station)
-"mi" = (/turf/unsimulated/wall{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station)
+"mf" = (/obj/item/shard{color = "#008000";icon_state = "small"},/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"mg" = (/turf/unsimulated/wall/fakeglass{color = "#008000";dir = 8;icon_state = "fakewindows2"},/area/wizard_station)
+"mh" = (/turf/unsimulated/wall/fakeglass{color = "#008000";dir = 4;icon_state = "fakewindows"},/area/wizard_station)
+"mi" = (/turf/unsimulated/wall{tag = "icon-uranium2";icon_state = "uranium2"},/area/wizard_station)
"mj" = (/obj/machinery/abductor/experiment{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"mk" = (/obj/machinery/abductor/pad{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"ml" = (/obj/machinery/abductor/console{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"mm" = (/obj/machinery/abductor/experiment{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"mn" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mo" = (/obj/machinery/vending/syndisnack,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mp" = (/obj/machinery/vending/syndicigs,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mn" = (/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"mo" = (/obj/machinery/vending/syndisnack,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"mp" = (/obj/machinery/vending/syndicigs,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"mq" = (/obj/machinery/abductor/pad{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"mr" = (/obj/machinery/abductor/console{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"ms" = (/obj/machinery/computer/camera_advanced/abductor{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"mt" = (/obj/machinery/computer/camera_advanced/abductor{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"mu" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"mv" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"mw" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve)
+"mw" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 6},/area/tdome/tdomeobserve)
"mx" = (/obj/effect/landmark/abductor/scientist{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"my" = (/obj/effect/landmark/abductor/agent{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"mz" = (/obj/effect/landmark/abductor/scientist{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"mA" = (/obj/effect/landmark/abductor/agent{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"mB" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/ferry)
+"mB" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{dir = 8;icon_state = "vault"},/area/centcom/ferry)
"mH" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station)
-"mI" = (/obj/item/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
-"mK" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"mL" = (/turf/unsimulated/wall{tag = "icon-uranium5"; icon_state = "uranium5"},/area/wizard_station)
-"mM" = (/turf/unsimulated/wall{tag = "icon-uranium10"; icon_state = "uranium10"},/area/wizard_station)
-"mR" = (/obj/structure/noticeboard{pixel_x = -32},/obj/item/paper/syndimemo,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mT" = (/mob/living/simple_animal/pet/fox/Syndifox,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mU" = (/obj/effect/decal/warning_stripes/southeastcorner,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mV" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mI" = (/obj/item/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5";icon_state = "cultdamage5"},/area/wizard_station)
+"mK" = (/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"mL" = (/turf/unsimulated/wall{tag = "icon-uranium5";icon_state = "uranium5"},/area/wizard_station)
+"mM" = (/turf/unsimulated/wall{tag = "icon-uranium10";icon_state = "uranium10"},/area/wizard_station)
+"mR" = (/obj/structure/noticeboard{pixel_x = -32},/obj/item/paper/syndimemo,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"mT" = (/mob/living/simple_animal/pet/fox/Syndifox,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"mU" = (/obj/effect/decal/warning_stripes/southeastcorner,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"mV" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"mY" = (/obj/structure/table/wood,/obj/item/storage/box/drinkingglasses,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"na" = (/obj/structure/table/reinforced,/obj/item/storage/box/syringes,/obj/item/gun/syringe/rapidsyringe,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"nb" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome/tdomeobserve)
-"nc" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome/tdomeobserve)
-"nl" = (/obj/structure/lattice,/obj/item/shard{color = "#008000"; icon_state = "medium"},/turf/space/transit,/area/wizard_station)
-"nm" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
-"nn" = (/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station)
-"no" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"np" = (/turf/unsimulated/wall{tag = "icon-uranium3"; icon_state = "uranium3"},/area/wizard_station)
-"nu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"nv" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = -2; pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"nb" = (/turf/unsimulated/floor{dir = 8;icon_state = "red"},/area/tdome/tdomeobserve)
+"nc" = (/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/tdome/tdomeobserve)
+"nl" = (/obj/structure/lattice,/obj/item/shard{color = "#008000";icon_state = "medium"},/turf/space/transit,/area/wizard_station)
+"nm" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage2";icon_state = "cultdamage2"},/area/wizard_station)
+"nn" = (/turf/unsimulated/floor{tag = "icon-cultdamage3";icon_state = "cultdamage3"},/area/wizard_station)
+"no" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"np" = (/turf/unsimulated/wall{tag = "icon-uranium3";icon_state = "uranium3"},/area/wizard_station)
+"nu" = (/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"nv" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = -2;pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"ny" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership)
"nB" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/bottle/rum,/obj/item/reagent_containers/food/drinks/bottle/vodka{pixel_x = -5},/obj/item/reagent_containers/food/drinks/bottle/whiskey{pixel_x = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"nC" = (/turf/unsimulated/floor{tag = "icon-darkblue"; icon_state = "darkblue"; dir = 2},/area/centcom/ferry)
-"nD" = (/obj/structure/extinguisher_cabinet{pixel_y = -28},/turf/unsimulated/floor{tag = "icon-darkbrown"; icon_state = "darkbrown"; dir = 2},/area/centcom/ferry)
-"nE" = (/turf/unsimulated/floor{tag = "icon-darkred"; icon_state = "darkred"; dir = 2},/area/centcom/ferry)
+"nC" = (/turf/unsimulated/floor{tag = "icon-darkblue";icon_state = "darkblue";dir = 2},/area/centcom/ferry)
+"nD" = (/obj/structure/extinguisher_cabinet{pixel_y = -28},/turf/unsimulated/floor{tag = "icon-darkbrown";icon_state = "darkbrown";dir = 2},/area/centcom/ferry)
+"nE" = (/turf/unsimulated/floor{tag = "icon-darkred";icon_state = "darkred";dir = 2},/area/centcom/ferry)
"nF" = (/obj/structure/table/reinforced,/obj/item/storage/box/emps,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"nG" = (/obj/structure/table/reinforced,/obj/item/grenade/plastic/c4,/obj/item/grenade/plastic/c4{pixel_x = 7},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
-"nH" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome/tdomeobserve)
-"nI" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome/tdomeobserve)
+"nH" = (/turf/unsimulated/floor{icon_state = "red";dir = 10},/area/tdome/tdomeobserve)
+"nI" = (/turf/unsimulated/floor{icon_state = "red";dir = 2},/area/tdome/tdomeobserve)
"nJ" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome/tdomeobserve)
-"nK" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome/tdomeobserve)
-"nX" = (/obj/structure/showcase{desc = "A strange machine supposedly from another world. The Wizard Federation has been meddling with it for years."; icon_state = "processor"; name = "byond random number generator"},/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station)
-"nY" = (/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"nZ" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"oa" = (/obj/structure/showcase{desc = "A historical figure of great importance to the wizard federation. He spent his long life learning magic, stealing artifacts, and harassing idiots with swords. May he rest forever, Rodney."; icon = 'icons/mob/mob.dmi'; icon_state = "nim"; name = "wizard of yendor showcase"},/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
-"od" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHWEST)"; icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership)
-"oe" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership)
-"of" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/snacks/mushroompizzaslice{pixel_x = -5; pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"og" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = 5; pixel_y = -2},/obj/item/toy/cards/deck/syndicate{pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"nK" = (/turf/unsimulated/floor{icon_state = "green";dir = 6},/area/tdome/tdomeobserve)
+"nX" = (/obj/structure/showcase{desc = "A strange machine supposedly from another world. The Wizard Federation has been meddling with it for years.";icon_state = "processor";name = "byond random number generator"},/turf/unsimulated/floor{tag = "icon-cultdamage7";icon_state = "cultdamage7"},/area/wizard_station)
+"nY" = (/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"nZ" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"oa" = (/obj/structure/showcase{desc = "A historical figure of great importance to the wizard federation. He spent his long life learning magic, stealing artifacts, and harassing idiots with swords. May he rest forever, Rodney.";icon = 'icons/mob/mob.dmi';icon_state = "nim";name = "wizard of yendor showcase"},/turf/unsimulated/floor{tag = "icon-cultdamage4";icon_state = "cultdamage4"},/area/wizard_station)
+"od" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHWEST)";icon_state = "fakewindows";dir = 9},/area/syndicate_mothership)
+"oe" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/syndicate_mothership)
+"of" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/snacks/mushroompizzaslice{pixel_x = -5;pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"og" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = 5;pixel_y = -2},/obj/item/toy/cards/deck/syndicate{pixel_x = -6;pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"oh" = (/turf/unsimulated/wall/fakedoor,/area/centcom/ferry)
-"ol" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 6; icon_state = "fakewindows2"},/area/wizard_station)
-"om" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"on" = (/turf/unsimulated/wall{tag = "icon-uranium6"; icon_state = "uranium6"},/area/wizard_station)
-"oo" = (/turf/unsimulated/wall{tag = "icon-uranium9"; icon_state = "uranium9"},/area/wizard_station)
-"op" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership)
+"ol" = (/turf/unsimulated/wall/fakeglass{color = "#008000";dir = 6;icon_state = "fakewindows2"},/area/wizard_station)
+"om" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1;icon_state = "door_as_uranium1";name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"on" = (/turf/unsimulated/wall{tag = "icon-uranium6";icon_state = "uranium6"},/area/wizard_station)
+"oo" = (/turf/unsimulated/wall{tag = "icon-uranium9";icon_state = "uranium9"},/area/wizard_station)
+"op" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)";icon_state = "fakewindows2";dir = 1},/area/syndicate_mothership)
"oq" = (/turf/unsimulated/floor{icon_state = "floor"},/area/syndicate_mothership)
"or" = (/obj/machinery/light,/turf/unsimulated/floor{icon_state = "floor"},/area/syndicate_mothership)
-"ot" = (/obj/machinery/door/poddoor{id_tag = "nukeop_ready"; name = "Shuttle Dock Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"oy" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station)
-"oz" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"oA" = (/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"ot" = (/obj/machinery/door/poddoor{id_tag = "nukeop_ready";name = "Shuttle Dock Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"oy" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cultdamage6";icon_state = "cultdamage6"},/area/wizard_station)
+"oz" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"oA" = (/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
"oD" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership)
-"oK" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/wizard_station)
+"oK" = (/turf/simulated/shuttle/wall{icon_state = "swall0";dir = 2},/area/wizard_station)
"oL" = (/turf/unsimulated/wall/fakedoor{name = "Squad 4 Pod"},/area/wizard_station)
-"oM" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/wizard_station)
-"oN" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/wizard_station)
-"oO" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"oP" = (/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station)
-"oQ" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"oX" = (/obj/structure/table/wood,/obj/item/storage/box/drinkingglasses,/obj/item/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"oY" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"oZ" = (/obj/structure/table/wood,/obj/item/syndicatedetonator,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"pa" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pb" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pc" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pd" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"pi" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"oM" = (/turf/simulated/shuttle/wall{icon_state = "swall4";dir = 2},/area/wizard_station)
+"oN" = (/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f10";dir = 2},/area/wizard_station)
+"oO" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"oP" = (/turf/unsimulated/floor{tag = "icon-cultdamage7";icon_state = "cultdamage7"},/area/wizard_station)
+"oQ" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"oX" = (/obj/structure/table/wood,/obj/item/storage/box/drinkingglasses,/obj/item/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"oY" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"oZ" = (/obj/structure/table/wood,/obj/item/syndicatedetonator,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"pa" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pb" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pc" = (/obj/machinery/door/airlock/centcom{name = "Restroom";opacity = 1;req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pd" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"pi" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)";icon_state = "heater";dir = 8},/turf/simulated/floor/plating/airless,/area/wizard_station)
"pj" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
"pk" = (/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
"pl" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plating/airless,/area/wizard_station)
-"pm" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station)
-"pn" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
-"pv" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"pw" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"px" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"py" = (/obj/machinery/door/window{dir = 4; name = "Uplink Management Control"; req_access_txt = "151"},/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"pD" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/wizard_station)
-"pE" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/wizard_station)
-"pF" = (/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
-"pG" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
-"pH" = (/obj/structure/table/wood/poker,/obj/item/toy/cards/cardhand,/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
+"pm" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage7";icon_state = "cultdamage7"},/area/wizard_station)
+"pn" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage5";icon_state = "cultdamage5"},/area/wizard_station)
+"pv" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"pw" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"px" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"py" = (/obj/machinery/door/window{dir = 4;name = "Uplink Management Control";req_access_txt = "151"},/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"pD" = (/turf/simulated/shuttle/wall{icon_state = "swall12";dir = 2},/area/wizard_station)
+"pE" = (/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f9";dir = 2},/area/wizard_station)
+"pF" = (/turf/unsimulated/floor{tag = "icon-cultdamage5";icon_state = "cultdamage5"},/area/wizard_station)
+"pG" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage2";icon_state = "cultdamage2"},/area/wizard_station)
+"pH" = (/obj/structure/table/wood/poker,/obj/item/toy/cards/cardhand,/turf/unsimulated/floor{tag = "icon-cultdamage2";icon_state = "cultdamage2"},/area/wizard_station)
"pP" = (/obj/machinery/computer/telecrystals/boss,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership)
-"pS" = (/obj/machinery/door/airlock/multi_tile/glass{name = "Equipment Room"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"pS" = (/obj/machinery/door/airlock/multi_tile/glass{name = "Equipment Room";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"pT" = (/obj/structure/lattice,/obj/effect/forcefield,/turf/space/transit,/area/wizard_station)
-"pU" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"pV" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"qc" = (/turf/unsimulated/floor{dir = 2; icon_state = "stage_stairs"},/area/syndicate_mothership)
-"qd" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor,/area/syndicate_mothership)
+"pU" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"pV" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"qc" = (/turf/unsimulated/floor{dir = 2;icon_state = "stage_stairs"},/area/syndicate_mothership)
+"qd" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/unsimulated/floor,/area/syndicate_mothership)
"qe" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/syndicate_mothership)
"qf" = (/obj/machinery/computer/mech_bay_power_console,/turf/unsimulated/floor,/area/syndicate_mothership)
-"qg" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
-"qh" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeobserve)
-"qi" = (/turf/unsimulated/wall{tag = "icon-uranium8"; icon_state = "uranium8"},/area/wizard_station)
-"qj" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Break Room"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qk" = (/turf/unsimulated/wall{tag = "icon-uranium4"; icon_state = "uranium4"},/area/wizard_station)
-"ql" = (/turf/unsimulated/wall{tag = "icon-uranium12"; icon_state = "uranium12"},/area/wizard_station)
-"qm" = (/turf/unsimulated/wall{tag = "icon-uranium14"; icon_state = "uranium14"},/area/wizard_station)
-"qn" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Break Room"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qr" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
-"qs" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
+"qg" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
+"qh" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 8},/area/tdome/tdomeobserve)
+"qi" = (/turf/unsimulated/wall{tag = "icon-uranium8";icon_state = "uranium8"},/area/wizard_station)
+"qj" = (/obj/structure/door_assembly{anchored = 1;icon_state = "door_as_uranium1";name = "Break Room"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qk" = (/turf/unsimulated/wall{tag = "icon-uranium4";icon_state = "uranium4"},/area/wizard_station)
+"ql" = (/turf/unsimulated/wall{tag = "icon-uranium12";icon_state = "uranium12"},/area/wizard_station)
+"qm" = (/turf/unsimulated/wall{tag = "icon-uranium14";icon_state = "uranium14"},/area/wizard_station)
+"qn" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi';name = "Break Room"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qr" = (/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
+"qs" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
"qt" = (/turf/unsimulated/wall,/area/tdome/arena)
"qu" = (/obj/machinery/igniter,/turf/simulated/floor/plasteel,/area/tdome/arena)
"qv" = (/turf/simulated/floor/plasteel,/area/tdome/arena)
-"qw" = (/turf/unsimulated/wall{tag = "icon-uranium1"; icon_state = "uranium1"},/area/wizard_station)
-"qx" = (/obj/structure/chair/wood/wings,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qy" = (/obj/structure/table/wood,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qz" = (/obj/structure/table/wood,/obj/item/retractor,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qA" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qB" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qC" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qD" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"qO" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/syndicate_mothership)
+"qw" = (/turf/unsimulated/wall{tag = "icon-uranium1";icon_state = "uranium1"},/area/wizard_station)
+"qy" = (/obj/structure/table/wood,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qz" = (/obj/structure/table/wood,/obj/item/retractor,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qA" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qB" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qC" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qD" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"qO" = (/turf/unsimulated/wall/fakeglass{dir = 8;icon_state = "fakewindows3";tag = "icon-fakewindows (WEST)"},/area/syndicate_mothership)
"qQ" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"qR" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"qR" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen";name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
"qS" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"qT" = (/obj/machinery/door/poddoor{id_tag = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
-"qU" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena)
-"qV" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena)
+"qT" = (/obj/machinery/door/poddoor{id_tag = "thunderdome";name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
+"qU" = (/turf/simulated/floor/plasteel{icon_state = "red";dir = 8},/area/tdome/arena)
+"qV" = (/turf/simulated/floor/plasteel{icon_state = "green";dir = 4},/area/tdome/arena)
"qW" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
"qX" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"qY" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows"},/area/wizard_station)
-"qZ" = (/obj/structure/cult/tome,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"ra" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/head/wizard/red,/obj/item/twohanded/staff,/obj/item/clothing/shoes/sandal,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"rb" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"rc" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/wizard_station)
-"rd" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/wizard_station)
-"rj" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/syndicate_mothership)
-"rk" = (/obj/structure/table,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
+"qY" = (/turf/unsimulated/wall/fakeglass{color = "#008000";dir = 1;icon_state = "fakewindows"},/area/wizard_station)
+"qZ" = (/obj/structure/cult/tome,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"ra" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/head/wizard/red,/obj/item/twohanded/staff,/obj/item/clothing/shoes/sandal,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"rb" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"rc" = (/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f6";dir = 2},/area/wizard_station)
+"rd" = (/turf/simulated/shuttle/wall{icon_state = "swall8";dir = 2},/area/wizard_station)
+"rj" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{icon_state = "vault";dir = 8},/area/syndicate_mothership)
+"rk" = (/obj/structure/table,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
"rl" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
"rm" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"rn" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows2"},/area/wizard_station)
-"ro" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"rn" = (/turf/unsimulated/wall/fakeglass{color = "#008000";dir = 1;icon_state = "fakewindows2"},/area/wizard_station)
+"ro" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
"rp" = (/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating,/area/wizard_station)
-"rr" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/twohanded/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"rs" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"rr" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/twohanded/staff/broom,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"rs" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
"rt" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station)
"ru" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
"rv" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
-"rw" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station)
-"rC" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"rw" = (/obj/structure/shuttle/engine/heater{icon_state = "heater";dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"rC" = (/obj/machinery/camera{pixel_x = 11;pixel_y = -9;network = list("thunder");c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
"rD" = (/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"rE" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"rF" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"rE" = (/obj/machinery/flasher{id = "tdomeflash";name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"rF" = (/obj/machinery/camera{pixel_x = 12;pixel_y = -10;network = list("thunder");c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
"rG" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station)
-"rH" = (/obj/item/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating,/area/wizard_station)
-"rI" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
-"rJ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"rK" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station)
+"rH" = (/obj/item/shard{color = "#008000";icon_state = "medium"},/obj/structure/grille/broken{color = "#008000"},/turf/simulated/floor/plating,/area/wizard_station)
+"rI" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5";icon_state = "cultdamage5"},/area/wizard_station)
+"rJ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"rK" = (/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5";dir = 2},/area/wizard_station)
"rL" = (/turf/unsimulated/wall/fakedoor{name = "Squad 3 Pod"},/area/wizard_station)
-"rV" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"rW" = (/obj/structure/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"rX" = (/obj/structure/cult/pylon,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"rY" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/twohanded/staff,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"rZ" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
-"sa" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"sb" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
-"sf" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"sg" = (/turf/unsimulated/wall{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station)
-"sh" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"so" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station)
-"ss" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"st" = (/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
+"rV" = (/obj/machinery/camera{pixel_x = 10;network = list("thunder");c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"rX" = (/obj/structure/cult/pylon,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"rY" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/twohanded/staff,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"rZ" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage4";icon_state = "cultdamage4"},/area/wizard_station)
+"sa" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
+"sb" = (/turf/unsimulated/floor{tag = "icon-cultdamage4";icon_state = "cultdamage4"},/area/wizard_station)
+"sf" = (/obj/structure/door_assembly{anchored = 1;icon_state = "door_as_uranium1";name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"sg" = (/turf/unsimulated/wall{tag = "icon-uranium15";icon_state = "uranium15"},/area/wizard_station)
+"sh" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi';name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"so" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage3";icon_state = "cultdamage3"},/area/wizard_station)
+"ss" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea";name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"st" = (/turf/unsimulated/floor{tag = "icon-cultdamage2";icon_state = "cultdamage2"},/area/wizard_station)
"su" = (/obj/effect/forcefield,/turf/space,/area/wizard_station)
-"sv" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"sv" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-cultdamage";icon_state = "cultdamage"},/area/wizard_station)
"sw" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"sx" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeadmin)
-"sy" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeadmin)
-"sz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeadmin)
+"sx" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/tdome/tdomeadmin)
+"sy" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 8},/area/tdome/tdomeadmin)
+"sz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 4},/area/tdome/tdomeadmin)
"sA" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
"sB" = (/obj/structure/lattice,/obj/effect/forcefield,/turf/space,/area/wizard_station)
"sC" = (/obj/effect/forcefield,/turf/space/transit,/area/wizard_station)
-"sI" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Personal Quarters"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"sI" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi';name = "Personal Quarters"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
"sJ" = (/turf/unsimulated/wall,/area/tdome/tdomeadmin)
-"sM" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/obj/item/dice/d20,/obj/item/dice,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station)
-"sN" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station)
-"sO" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station)
-"sP" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/wizard_station)
-"sQ" = (/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station)
-"sV" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station)
-"sW" = (/obj/structure/bed,/obj/item/bedsheet/wiz,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station)
-"sX" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station)
-"sY" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/wizard_station)
-"sZ" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/wizard_station)
-"ta" = (/obj/structure/dresser,/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station)
-"tb" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station)
-"tc" = (/obj/structure/table/wood,/obj/item/storage/bag/tray,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station)
+"sM" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/obj/item/dice/d20,/obj/item/dice,/turf/unsimulated/floor{dir = 9;icon_state = "carpetside"},/area/wizard_station)
+"sN" = (/turf/unsimulated/floor{dir = 1;icon_state = "carpetside"},/area/wizard_station)
+"sO" = (/turf/unsimulated/floor{dir = 5;icon_state = "carpetside"},/area/wizard_station)
+"sP" = (/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/turf/simulated/shuttle/wall{dir = 2;icon_state = "swall_f10";layer = 2},/area/wizard_station)
+"sQ" = (/turf/unsimulated/floor{tag = "icon-cultdamage6";icon_state = "cultdamage6"},/area/wizard_station)
+"sV" = (/turf/unsimulated/floor{dir = 8;icon_state = "carpetside"},/area/wizard_station)
+"sX" = (/turf/unsimulated/floor{dir = 4;icon_state = "carpetside"},/area/wizard_station)
+"sY" = (/turf/simulated/shuttle/wall{icon_state = "swall1";dir = 2},/area/wizard_station)
+"sZ" = (/turf/simulated/shuttle/wall{icon_state = "swall3";dir = 2},/area/wizard_station)
+"ta" = (/obj/structure/dresser,/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{dir = 10;icon_state = "carpetside"},/area/wizard_station)
+"tb" = (/turf/unsimulated/floor{dir = 2;icon_state = "carpetside"},/area/wizard_station)
+"tc" = (/obj/structure/table/wood,/obj/item/storage/bag/tray,/turf/unsimulated/floor{dir = 6;icon_state = "carpetside"},/area/wizard_station)
"td" = (/turf/unsimulated/wall/fakedoor{name = "Squad 2 Pod"},/area/wizard_station)
-"te" = (/turf/unsimulated/wall{tag = "icon-uranium13"; icon_state = "uranium13"},/area/wizard_station)
+"te" = (/turf/unsimulated/wall{tag = "icon-uranium13";icon_state = "uranium13"},/area/wizard_station)
"tf" = (/turf/simulated/shuttle/wall,/area/wizard_station)
"tg" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/wizard_station)
"th" = (/turf/unsimulated/wall,/area/centcom/holding)
-"ti" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"tj" = (/obj/structure/table/wood,/obj/item/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent."; name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"ti" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"tj" = (/obj/structure/table/wood,/obj/item/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent.";name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
"tk" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/wizard_station)
-"tl" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"tm" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"tn" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"to" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"tp" = (/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"tl" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
+"tm" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
+"tn" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
+"to" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
+"tp" = (/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
"tq" = (/obj/structure/rack,/obj/item/camera,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
"tr" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
"ts" = (/obj/structure/rack,/obj/item/gun/projectile/revolver/capgun,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
@@ -856,28 +794,25 @@
"tu" = (/turf/unsimulated/beach/sand,/area/centcom/holding)
"tv" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding)
"tw" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"tx" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Engine Room B"},/turf/space,/area/wizard_station)
-"ty" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"tz" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"tx" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/uranium.dmi';name = "Engine Room B"},/turf/space,/area/wizard_station)
+"ty" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
"tA" = (/obj/item/camera,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"tB" = (/obj/structure/cult/forge{desc = "A engine used in powering the wizards ship"; name = "magma engine"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"tC" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"tD" = (/obj/structure/table,/obj/item/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"tE" = (/obj/structure/table,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"tF" = (/obj/structure/chair/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"tG" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding)
-"tH" = (/turf/unsimulated/wall{tag = "icon-uranium11"; icon_state = "uranium11"},/area/wizard_station)
-"tI" = (/obj/structure/window/reinforced{color = "#008000"; dir = 1},/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
-"tJ" = (/turf/unsimulated/wall{tag = "icon-uranium7"; icon_state = "uranium7"},/area/wizard_station)
+"tB" = (/obj/structure/cult/forge{desc = "A engine used in powering the wizards ship";name = "magma engine"},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"tC" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
+"tD" = (/obj/structure/table,/obj/item/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
+"tE" = (/obj/structure/table,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/holding)
+"tH" = (/turf/unsimulated/wall{tag = "icon-uranium11";icon_state = "uranium11"},/area/wizard_station)
+"tI" = (/obj/structure/window/reinforced{color = "#008000";dir = 1},/turf/unsimulated/floor{tag = "icon-lava";icon_state = "lava"},/area/wizard_station)
+"tJ" = (/turf/unsimulated/wall{tag = "icon-uranium7";icon_state = "uranium7"},/area/wizard_station)
"tK" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/accessory/waistcoat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
"tL" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"tM" = (/obj/structure/shuttle/engine/heater,/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
+"tM" = (/obj/structure/shuttle/engine/heater,/turf/unsimulated/floor{tag = "icon-lava";icon_state = "lava"},/area/wizard_station)
"tN" = (/obj/structure/rack,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
"tO" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
"tP" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/space)
"tQ" = (/turf/unsimulated/beach/coastline,/area/centcom/holding)
"tR" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding)
-"tS" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal."; name = "black suit"; pixel_x = 3; pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"tS" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal.";name = "black suit";pixel_x = 3;pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
"tT" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
"tU" = (/turf/unsimulated/beach/water,/area/centcom/holding)
"tV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
@@ -885,6 +820,634 @@
"tX" = (/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/unsimulated/floor{name = "plating"},/area/centcom/holding)
"tY" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding)
"wP" = (/turf/space,/area/shuttle/escape_pod5/centcom)
+"wQ" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"wR" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"wS" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"wT" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"wU" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"wV" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"wW" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"wX" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"wY" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"wZ" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"xa" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"xb" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"xc" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"xd" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"xe" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"xf" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"xg" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-1 (EAST)";icon_state = "carpet5-1";dir = 4},/area/holodeck/source_theatre)
+"xh" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-5 (EAST)";icon_state = "carpet13-5";dir = 4},/area/holodeck/source_theatre)
+"xi" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-4 (EAST)";icon_state = "carpet9-4";dir = 4},/area/holodeck/source_theatre)
+"xj" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet6-0 (EAST)";icon_state = "carpet6-0";dir = 4},/area/holodeck/source_meetinghall)
+"xk" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet14-0 (EAST)";icon_state = "carpet14-0";dir = 4},/area/holodeck/source_meetinghall)
+"xl" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet10-0 (EAST)";icon_state = "carpet10-0";dir = 4},/area/holodeck/source_meetinghall)
+"xm" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)";icon_state = "carpet7-0";dir = 4},/area/holodeck/source_meetinghall)
+"xn" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)";icon_state = "carpet15-0";dir = 4},/area/holodeck/source_meetinghall)
+"xo" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)";icon_state = "carpet11-0";dir = 4},/area/holodeck/source_meetinghall)
+"xp" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)";icon_state = "carpet7-0";dir = 4},/area/holodeck/source_meetinghall)
+"xq" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)";icon_state = "carpet15-0";dir = 4},/area/holodeck/source_meetinghall)
+"xr" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)";icon_state = "carpet11-0";dir = 4},/area/holodeck/source_meetinghall)
+"xs" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)";icon_state = "carpet7-0";dir = 4},/area/holodeck/source_meetinghall)
+"xt" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)";icon_state = "carpet15-0";dir = 4},/area/holodeck/source_meetinghall)
+"xu" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)";icon_state = "carpet11-0";dir = 4},/area/holodeck/source_meetinghall)
+"xv" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-0 (EAST)";icon_state = "carpet5-0";dir = 4},/area/holodeck/source_meetinghall)
+"xw" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-0 (EAST)";icon_state = "carpet13-0";dir = 4},/area/holodeck/source_meetinghall)
+"xx" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-0 (EAST)";icon_state = "carpet9-0";dir = 4},/area/holodeck/source_meetinghall)
+"xy" = (/obj/structure/chair/comfy/red,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"xz" = (/obj/item/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"xA" = (/obj/item/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"xB" = (/obj/item/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"xC" = (/obj/item/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"xD" = (/obj/item/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/vox_station)
+"xE" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xF" = (/obj/structure/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
+"xG" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
+"xH" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xI" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xJ" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xK" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xL" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xM" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xN" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xO" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xP" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xQ" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xR" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xS" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xT" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xU" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xV" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xW" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xX" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xY" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"xZ" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"ya" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yb" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yc" = (/obj/structure/bed,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yd" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"ye" = (/obj/structure/chair{dir = 4;name = "Prosecution"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yf" = (/obj/structure/chair,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yg" = (/obj/structure/chair/sofa/right,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"yh" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"yi" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"yj" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"yk" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"yl" = (/obj/structure/chair/sofa/corner,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"ym" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
+"yn" = (/obj/structure/chair/comfy/black{dir = 8},/obj/effect/landmark{name = "ERT Director"},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/ferry)
+"yo" = (/obj/structure/chair,/turf/unsimulated/floor{dir = 1;icon_state = "green"},/area/centcom/evac)
+"yp" = (/obj/structure/chair,/turf/unsimulated/floor{dir = 1;icon_state = "green"},/area/centcom/evac)
+"yq" = (/obj/structure/chair,/turf/unsimulated/floor{dir = 1;icon_state = "green"},/area/centcom/evac)
+"yr" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"ys" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/evac)
+"yt" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"yu" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/evac)
+"yv" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"yw" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/evac)
+"yx" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"yy" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"yz" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
+"yA" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"yB" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/control)
+"yC" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"yD" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/control)
+"yE" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{dir = 8;icon_state = "red"},/area/centcom/evac)
+"yF" = (/obj/structure/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"yG" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yH" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"yI" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/control)
+"yJ" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{dir = 8;icon_state = "red"},/area/centcom/evac)
+"yK" = (/obj/structure/chair/office/dark,/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yL" = (/obj/structure/chair/office/dark,/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yM" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{dir = 8;icon_state = "red"},/area/centcom/evac)
+"yN" = (/obj/structure/chair/office/dark{dir = 8},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yO" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "red";dir = 2},/area/centcom/evac)
+"yP" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "red";dir = 2},/area/centcom/evac)
+"yQ" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "red";dir = 2},/area/centcom/evac)
+"yR" = (/obj/structure/chair/office/dark{dir = 4},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yS" = (/obj/structure/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"yT" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"yU" = (/obj/structure/chair/office/dark{dir = 8},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yV" = (/obj/structure/chair/office/dark{dir = 1},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yW" = (/obj/structure/chair/office/dark{dir = 1},/obj/effect/landmark{name = "Response Team"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"yX" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"yY" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"yZ" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"za" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zb" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zc" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zd" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"ze" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zf" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zg" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zh" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zi" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zj" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zk" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zl" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zm" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zn" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zo" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zp" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zq" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zr" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zs" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zM" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zN" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"zO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"zZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Aa" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ab" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ac" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ad" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ae" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Af" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ag" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ah" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ai" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Aj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ak" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Al" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Am" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"An" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ao" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ap" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Aq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ar" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"As" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"At" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Au" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Av" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Aw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ax" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ay" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Az" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AC" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"AD" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"AE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"AX" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"AY" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"AZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ba" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bd" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Be" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bf" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bg" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bh" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bi" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bl" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bo" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Br" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bs" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Bt" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Bu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"By" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Bz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BN" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"BO" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"BP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"BZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ca" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cd" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ce" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cf" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cg" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ch" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ci" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Cj" = (/obj/structure/chair/wood/wings,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"Ck" = (/obj/structure/chair/wood/wings,/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"Cl" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Cm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Co" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cs" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ct" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Cz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CF" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"CG" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"CH" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"CI" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"CJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"CZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Da" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Db" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dc" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Dd" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"De" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"Df" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"Dg" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Dh" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Di" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dl" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Do" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dq" = (/obj/effect/landmark/ai_multicam_room,/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ds" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Du" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Dz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DA" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"DB" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"DC" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"DD" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"DE" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"DF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"DY" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"DZ" = (/obj/structure/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)";icon_state = "wooden_chair_wings";dir = 1},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"Ea" = (/obj/structure/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)";icon_state = "wooden_chair_wings";dir = 1},/turf/unsimulated/floor{tag = "icon-cult";icon_state = "cult"},/area/wizard_station)
+"Eb" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"Ec" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"Ed" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"Ee" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ef" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Eg" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Eh" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ei" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ej" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ek" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"El" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Em" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"En" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Eo" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ep" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Eq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Er" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Es" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Et" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Eu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ev" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ew" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ex" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ey" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ez" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"EA" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"EB" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"EC" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"ED" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"EE" = (/obj/structure/chair{dir = 1},/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"EF" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"EG" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"EH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"ER" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"ES" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"ET" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"EZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fa" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Fb" = (/obj/structure/chair{dir = 8},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"Fc" = (/obj/structure/chair{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"Fd" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Fe" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ff" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fg" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fh" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fi" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fl" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fo" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fs" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ft" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Fx" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Fy" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"Fz" = (/obj/structure/chair,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"FA" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"FB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"FU" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"FV" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"FW" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"FX" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"FY" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"FZ" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Ga" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Gb" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Gc" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Gd" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Ge" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Gf" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Gg" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Gh" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Gi" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gl" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Go" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gs" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Gz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GB" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"GC" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"GD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"GW" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"GX" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"GY" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"GZ" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Ha" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Hb" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Hc" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Hd" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"He" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Hf" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Hg" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull";dir = 2},/area/tdome/tdomeadmin)
+"Hh" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Hi" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hl" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ho" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hs" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ht" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Hz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HB" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"HC" = (/obj/structure/bed,/obj/item/bedsheet/wiz,/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/wizard_station)
+"HD" = (/obj/structure/chair/stool,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
+"HE" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"HF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"HY" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"HZ" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ia" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ib" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ic" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Id" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ie" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"If" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ig" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ih" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ii" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ij" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ik" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Il" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Im" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"In" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Io" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ip" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Iq" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ir" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Is" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"It" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Iu" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"Iv" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"Iw" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"Ix" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"Iy" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"Iz" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"IA" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"IB" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"IC" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"ID" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"IE" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeobserve)
+"IF" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IG" = (/obj/structure/chair/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"IH" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding)
+"II" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IJ" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IK" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IL" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IM" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IN" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IO" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IP" = (/obj/structure/chair/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"IQ" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"IR" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"IS" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"IT" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababapaqaqaqaqaqaraqaqaqaqaqaraqaqaqaqaqaraqaqaqaqaqaraqaqaqaqaqaraqaqaqaqaqaraqaqaqaqaqas
@@ -892,22 +1455,22 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababab
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHaZaHaHbaaJbbbcbbbcbbaJbdbdbdbdbdaJaObeaObeaOaJaPaPaPaPaPaJaQbfaQbfaQaJbgbhbhbhbiaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHbjaHaHaHaJbkblbkblbkaJbdbdbdbdbdaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbgbhbhbhbiaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHaHbmbnaHaJboboboboboaJbpbpbpbpbqaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbgbhbhbhbiaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGbraHaHaHaHaJbsbtbubtbvaJbwbxbybzbwaJaOaObeaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbgbhbhbhbiaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHbraHaHbAaJbBbtbubtbCaJbwbDbEbFbwaJaOaObeaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbGbhbhbhbHaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHaZbraHbmaJboboboboboaJbJbDbEbFbJaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbGbhbhbhbHaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHaHaHbraHaJbQbRbQbRbQaJbSbDbEbFbSaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbGbhbhbhbHaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacaeacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHbVaHaHbraJbbbcbbbcbbaJbSbDbEbFbSaJaObeaObeaOaJaPaPaPaPaPaJaQbfaQbfaQaJbGbhbhbhbHaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGbmaHbXaHaZaJaKaLaKaLaKaJbYbZcacbbYaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJcccdcdcdceaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGbraHaHaHaHaJbswQbuwRbvaJbwbxbybzbwaJaOaObeaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbgbhbhbhbiaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHbraHaHbAaJbBwSbuwTbCaJbwwUwVwWbwaJaOaObeaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbGbhbhbhbHaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHaZbraHbmaJboboboboboaJbJwXwYwZbJaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbGbhbhbhbHaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHaHaHbraHaJbQbRbQbRbQaJbSxaxbxcbSaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJbGbhbhbhbHaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacaeacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGaHbVaHaHbraJbbbcbbbcbbaJbSxdxexfbSaJaObeaObeaOaJaPaPaPaPaPaJaQbfaQbfaQaJbGbhbhbhbHaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGbmaHbXaHaZaJaKaLaKaLaKaJbYxgxhxibYaJaOaOaOaOaOaJaPaPaPaPaPaJaQaQaQaQaQaJcccdcdcdceaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaadzaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaahaaaaaaaaaaaiaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababchcicicicicicjcicicicicicjcicicicicicjckckckckckcjckckckckckcjckckckckckcjckckckckckcl
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcrcsctcrcsaJcucucucucuaJcvcvcvcvcvaJcwcwcxcycyaJczczczczczaJcAcBcBcBcCaJcDcEcEcEcFaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcsctcrcsctaJcucHcucucuaJcvcIcJcKcvaJcLcLcMcNcNaJczcOczcPczaJcQcRcRcRcSaJcTcUcUcUcVaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacafacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGctcrcsctcraJcucucucXcuaJcvcYcYcYcvaJcLcZcZcZcNaJczczczczczaJcQcRcRcRcSaJcTcUcUcUcVaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcrcsctcrcsaJcucucucucuaJcvcvcvcvcvaJcLcMcMcMcNaJczczczczczaJcQcRcRcRcSaJcTcUcUcUcVaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcsctcrcsctaJcucucudacuaJcvdbdcddcvaJdedfdfdfdgaJczdhczczczaJdidjdjdjdkaJcTcUcUcUcVaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGctcrcsctcraJcudmcucucuaJcvdndodpcvaJdqdrdrdrdsaJczczczdtczaJdudvdvdvdwaJdxcUcUcUdyaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcrcsctcrcsaJcucucucucHaJcvdndodpcvaJdAcMdBcMdCaJczczczczczaJdDcRcRcRdEaJdxcUcUcUdyaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcsctcrcsctaJdFcucucucuaJcvdndodpcvaJdAdGdGdGdCaJdHdHdHdHdHaJdDcRcRcRdEaJdxcUcUcUdyaU
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGctcrcsctcraJcudacudmcuaJcvdIdJdKcvaJdAdAcMdCdCaJdLdLdLdLdLaJdDcRcRcRdEaJdxcUcUcUdyaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcsctcrcsctaJcucucudacuaJcvxjxkxlcvaJdedfdfdfdgaJczdhczczczaJdidjdjdjdkaJcTcUcUcUcVaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGctcrcsctcraJcudmcucucuaJcvxmxnxocvaJdqdrdrdrdsaJczczczdtczaJdudvdvdvdwaJdxcUcUcUdyaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcrcsctcrcsaJcucucucucHaJcvxpxqxrcvaJdAcMdBcMdCaJczczczczczaJdDcRcRcRdEaJdxcUcUcUdyaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcsctcrcsctaJdFcucucucuaJcvxsxtxucvaJdAdGdGdGdCaJdHdHdHdHdHaJdDcRcRcRdEaJdxcUcUcUdyaU
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGctcrcsctcraJcudacudmcuaJcvxvxwxxcvaJdAdAcMdCdCaJdLdLdLdLdLaJdDcRcRcRdEaJdxcUcUcUdyaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaGcrcsctcrcsaJcucucucudFaJcvcvcvcvcvaJdMdMdNdOdOaJdPdPdPdPdPaJdQdRdRdRdSaJdTdUdUdUdVaU
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdWdXdXdXdXdXdYdXdXdXdXdXdYdXdXdXdXdXdYdXdXdXdXdXdYdXdXdXdXdXdYdXdXdXdXdXdYdXdXdXdXdXdZ
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeaeaeaeaeaeaeaeaeaebecececececececececececececebeaeaeaeaeaeaeaeaea
@@ -955,10 +1518,10 @@ ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglgl
ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababglglglglglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVbTbTbTaVabababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababglglglglglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVaVaVaVaVeqepepepepepepeperaVaVesaVaVabababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababglglglglglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVeteteteubTbTbTbTbTbTbTbTeueueubTetaVabababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabababababababababababababababababababababababababababababababababababababababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVeubTbTbTbTbTbTbTevbTbTbTbTbTbTbTetaVabababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabababababababababababababababababababababababababababababababababababababababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVeubTbTbTbTbTbTbTxybTbTbTbTbTbTbTetaVabababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglabababababababababababababababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVewbTbTbTbTbTbTexexexbTbTbTbTbTbTetaVabababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVewbTbTbTbTbTeVexexexeVbTbTbTbTbTeuaVabababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVewbTbTbTbTbTbTeVeVeVbTbTbTbTbTbTbTaVabababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVewbTbTbTbTbTxzexexexxAbTbTbTbTbTeuaVabababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVewbTbTbTbTbTbTxBxCxDbTbTbTbTbTbTbTaVabababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTaVabababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVbTbTeueteteubTbTbTbTbTbTbTbTbTbTbTaVabababababababababababababababababababababababababababababababababababababababababababab
eyeyeyeyeyeyeyeyeyeyeyeyeyeyeyabababglglglglglglglglglglglglglglglglglglglglglglglglabglglglglglglglglglglglglglglglglglglglglglglglababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaVaVeZaVaVaVaVaVaVaVaVaVaVaVaVaVeZaVaVabababababababababababababababababababababababababababababababababababababababababababab
@@ -1003,19 +1566,19 @@ abababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIeReReSeTeUfeeWeXeYfeeUfafbeReReIababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIeReRfcfdfdfefdfdfdfefdfdfceReReIababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfffbeReMfdfefefefefefefefdeMeReSfgababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfffhfifjfkflfmfefnfdfefofpfhfgabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfqfrfsftfefdfdfefoeIabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfufvfvfmfefofwfefofcfxfxfxfxabababababababababababababababababababababababababababababababababababababababababababababjpabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfyfvfvfzfefofwfefeeMalfxfxfxabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeKfhfhfhfifefdfdfefoeNfxfxfxfxabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfBfefBeIfefofwfefofCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfBfefBfcfefofwfefoeNwPwPwPwPabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfBfefefDfefefefefeeManwPwPwPabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfBfefBfFfefdfdfdfdfFwPwPwPwPabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfBfefBeIfefGfHfIeUeIabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfffhfifjfkflfmfefnfdfexEfpfhfgabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfqxFxGftfefdfdfexHeIabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfufvfvfmfexIxJfexKfcfxfxfxfxabababababababababababababababababababababababababababababababababababababababababababababjpabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfyfvfvfzfexLxMfefeeMalfxfxfxabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeKfhfhfhfifefdfdfexNeNfxfxfxfxabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIxOfexPeIfexQxRfexSfCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIxTfexUfcfexVxWfexXeNwPwPwPwPabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIxYfefefDfefefefefeeManwPwPwPabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIxZfeyafFfefdfdfdfdfFwPwPwPwPabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIybfeyceIfefGfHfIeUeIabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfffJfJfhfKfLePfhfJfJfgabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababffeQfMfofefNfOeKfgababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfIfdfPfdfMeIabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababffeQfMydfeyefOeKfgababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfIfdyffdfMeIabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeIfQfRfSfTfUeIabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfffCfCfCfCfCfgabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
@@ -1032,50 +1595,50 @@ abababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfVabababababababgsgigjgjgjgjfVfVfVfVfVabgkgkgkgkgkgkgkgkgkabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfVabababababababgugigjgjgjgjfVgvgvgvfVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfVabababababababgzgigjgjgjgjgAgvgvgvfVabgkgkgkgkgkgkgkgkgkabababababababababjqjrjrjrjrjrjrjrjsabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfVabababababababfVgFgGgHgjgIfVgvgvgvfVabgkgogkgogkgogkgogkabababababababababjCjEjDjFjFjFjFjGjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfVabababababababfVgFgGgHgjgIfVgvgvgvfVabgkgogkgogkgogkgogkabababababababababjCjEygyhyiyjykyljCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfVabababababababfVfVfVfVfVgMfVfVfVfVfVabgkgkgkgkgkgkgkgkgkabgNgNgNgNgNgNababjCjEjEjEjEjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSababababababababababababababababababababababababababababababababababfVfVfVfVfVfVfVgOgPgPgPgQgRgQgPgPgPgOabgkgogkgogkgogkgogkabgNgSgTgTgUgNgOgOjCjEjEjEjEjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababiSamamamamamamamamamamamamamamamamamatamamamamamamamamamamamamamamiSababababababababababababababababababababababababababababababababababababgVgVgVgVgVgOgPgWgPgXgYgXgPgWgPgOabgkgkgkgkgkgkgkgkgkabgZhahahahajHgYjJjIjEjEjEjEjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababiSamamamamamamatamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababababababababababababgVhbhchdhegVgPgPgPhfgYhfgPgPgPgOabababababababababababgNhahghhhagNgOgOjCjEjEjEjEjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababiSamamamatavamamamavamamamamatamavamamamamamamamatamamavamamamatamiSababababababababababababababababababababababababababababababababababababgVhphqhchcgVhrgOhrgOgYgOhrgOhrgOabababgNgNgNgNgNgNgNgNgNhshthuhvgNababjCjEjEjEjEjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababiSamavamatamamavamamamavamamamamamatamamavamamamamamamamatavamamamiSababababababababababababababababababababababababababababababababababababgVhchchchJgVhKgQhLgYgYgYhMhrhKgOabababgNhNhOhOhOhPhQhRhShahahahagNababjCjEjEjEjKjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVhXgVgVhKgXhYgYgYgYhZgOhrgOgOgOgOgNiaibibibibibibichahahahagNababjLjrjrjrjrjrjrjrjMabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViiiiiiiiiiiiiiiiiiiiiiiiiiijikilimgVhKgXhYgYgYgYgYgYinioipipiqgNiaibibibibibibirisitiuivgNfYfYababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViiiDabababababababababiDiiiEikizimgVhKgXhYgYgYgYhMgOhrgOgOipiGgNiaibibibibibiHiIiJibibiKgNfYfYababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViDabababababababababababiZjadlizimgVhKhfhYgYgYgYjbhrhKgOjcjdjegNjfibibibibjgjhjiiJibibiKgNfYfYababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababiSamamamamamamatamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababababababababababababgVhbhchdhegVgPgPgPhfgYhfgPgPgPgOabababababababababababgNhahgymhagNgOgOjCjEjEjEjEjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababiSamamamatavamamamavamamamamatamavamamamamamamamatamamavamamamatamiSababababababababababababababababababababababababababababababababababababgVhpynhchcgVhrgOhrgOgYgOhrgOhrgOabababgNgNgNgNgNgNgNgNgNhshthuhvgNababjCjEjEjEjEjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababiSamavamatamamavamamamavamamamamamatamamavamamamamamamamatavamamamiSababababababababababababababababababababababababababababababababababababgVhchchchJgVhKgQhLgYgYgYhMhrhKgOabababgNhNyoypyqhPhQhRhShahahahagNababjCjEjEjEjKjEjEjEjCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVhXgVgVhKgXyrgYgYgYhZgOhrgOgOgOgOgNysibibibibibibichahahahagNababjLjrjrjrjrjrjrjrjMabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViiiiiiiiiiiiiiiiiiiiiiiiiiijikilimgVhKgXytgYgYgYgYgYinioipipiqgNyuibibibibibibirisitiuivgNfYfYababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViiiDabababababababababiDiiiEikizimgVhKgXyvgYgYgYhMgOhrgOgOipiGgNywibibibibibyxiIiJibibiKgNfYfYababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViDabababababababababababiZjadlizimgVhKhfyygYgYgYjbhrhKgOjcyzjegNjfibibibibjgjhjiiJibibiKgNfYfYababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgVabababababababababababeojtjuikizjvgVjwgVjxgYgYgYhZgOhrgOhrjyhrgNjzibibibibjAjAjAjBibibiKgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViDabababababababababababiZjPikiziljQjRjRgYgYgYgYgYgYinjSipjTipjUjVibibibibibibibibibibiKjWababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViiiDabababababababababiDiiiEikizkegVjwgVhLgYgYgYhMgOhrgOgOgOgOgNkfibibibibkgkgkgkhibibiKgNgNgNgNgNgNgNgNgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViiiiiiiiiiiiiiiiiiiiiiiiiikjikilimgVhKgQhYgYgYgYklgQhKgOabababgNkmibibibibknkokpiJibibibibibibibibibibibgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgVgVgVgVgVgVgVkukvkvkwgVgVgVgVgVkxgVgVhKgXhYgYgYgYklgXhKgOabababgNkyibibibibibkzkAiJibibibibibibibibibibibgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVilkFilililililililkGkHilililgVhKhfhYgYgYgYklhfhKgOabababgNkyibibibibibibibibibibibibibibibibibibibgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVililililiAiliAililililililkUgVkVkVkWkXkYkZlakVkVkVabababgNkyibibibibibibibiLfZiLiMiLisisisiLfZiLfZiLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVloilillplplplpiBililililillrgVlsltlulvlwlxlultltkVabababgNlylzlzlzlAlBlClAicibiciKicabababicibicibicababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamawamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVlSiliCmBjNjOlpilililililillWgVltlXlYlvlwlxlYlZltkVabababgNgNgNgNgNgNgNgNgNlDiNlDiNlDababablDfZlDfZlDababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamfmgmhmiaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamiSayiSayiSaCamaWiSayiSayiSaCamamamamamamamatamiSababababababababababababababababababababababababababgVmuilillplplplpiBilililililmvgVmwltmwlvlwlxmwltmwkVabababababababababababababababababababababiOabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamHaamIgamKmLmMaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamaAmnaAmnaAaCamaWaAmnaAmnaAaCamamatamamamamamamiSababababababababababababababababababababababababababgVmYililiFiliFilililililililnagVnbltltlvlwlxltltnckVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgViiiiiiiiiiiiiiiiiiiiiiiiiikjikilimgVhKgQyAgYgYgYyBgQhKgOabababgNkmibibibibknkokpiJibibibibibibibibibibibgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSabababababababababababababababababababababababgVgVgVgVgVgVgVkukvkvkwgVgVgVgVgVkxgVgVhKgXyCgYgYgYyDgXhKgOabababgNyEibibibibibyFkAiJibibibibibibibibibibibgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVilkFilililililililkGyGilililgVhKhfyHgYgYgYyIhfhKgOabababgNyJibibibibibibibibibibibibibibibibibibibgNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVililililyKilyLililililililkUgVkVkVkWkXkYkZlakVkVkVabababgNyMibibibibibibibiLfZiLiMiLisisisiLfZiLfZiLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVloilillplplplpyNililililillrgVlsltlulvlwlxlultltkVabababgNlyyOyPyQlAlBlClAicibiciKicabababicibicibicababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamawamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababgVlSilyRmBjNjOlpilililililillWgVltySlYlvlwlxlYyTltkVabababgNgNgNgNgNgNgNgNgNlDiNlDiNlDababablDfZlDfZlDababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamfmgmhmiaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamiSayiSayiSaCamaWiSayiSayiSaCamamamamamamamatamiSababababababababababababababababababababababababababgVmuilillplplplpyUilililililmvgVmwltmwlvlwlxmwltmwkVabababababababababababababababababababababiOabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamHaamIgamKmLmMaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamaAmnaAmnaAaCamaWaAmnaAmnaAaCamamatamamamamamamiSababababababababababababababababababababababababababgVmYililyVilyWilililililililnagVnbltltlvlwlxltltnckVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamHnlnmnnmKnonpaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamavamaBmnaBmnaBaEaxaDaBmnaBmnaBaEavaxaxamamavamamamiSababababababababababababababababababababababababababgVnBilililililililnCnDnEnFnanGgVnHnInIlvlwlxnJnJnKkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaanpnXnYnonZoanpaaaaaaaaaaaaaaaaaaaaabababababababiSamavamamatavamamaWiSayiSayiSaYoelniSayiSayiSiSiSiSiSbIamamatamamiSababababababababababababababababababababababababababgVgVgVgVgVohgVgVgVgVgVgVgVgVgVgVkVkVkVkVlwkVkVkVkVkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamLmMolomolonooaaaaaaaaaaaaaaaaaaaaabababababababiSamamavamamamamataWiSbKmnmnmnbKmnmnmnbKmnmnmnbKmnmniSaCamamamavamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaamHmHoooyozoAmLaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamavamamamaWiSmnmnmnmnmnmnmnmnmnmnmnmnmnmnmniSaCatamamamamiSabababababababababababababababababababababababababababababababababababababababababababababkVkYkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaoKoLoMoNoOoPmKoQmHaaaaaaaaaaaaaaaaaaaaabababababababiSavamamamamavamavaWiSaYoeoeoeoeoeoeoeoeoeoeoelniSbLiSaCamavamatamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaakCpipjpkploOmKnYpmpnmHmHaaaaaaaaaaaaaaaaabababababababiSamamavatamamaxaxaxbWbWbWbWcncncncncncncncncnbPiSmniSbIamatamamamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaamHaaoMpDpDpEoOmKpFnYpnaapGpHaaaaaaaaaaaaaaabababababababiSamamamamamazabababababababazatamamavamamaxaxaDiSmniSaCamamamamamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaoQmHaaaamHpTpUnnpVnnoQmHmHaaaaaaaaaaaaaaaaabababababababiSatavamamamabababababababababbIamamamataDiSiSqOiScoiScpaxcqaxcqaxiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaonqiqjqkqlqmqlqlqiqnqkqlqlqmqlqlaamHaaaaaaaaaaabababababababiSamamamamamabababababababababaCamamamaWiSiSlPlQhkmniSiSiSiSiSiSiSiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaqwqxmKmKqxqwqyqzmKmKmKqAqBqwqCozoQqDmHmHaaaaaaabababababababiSamamamamamabababababababababaCavamauaWiSaXmnmnmnmnhnmompiSgtiwhIiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaqYqZmKmKqZqYqDqDmKmKmKmKraqYrbrcpDpDrdaaaaaaaaabababababababiSamhTamamamazabababababababazamamamamgwiSmRmnjYjYmTmnmUmVpcpdpdgxiSiSiSiSiSiSiSiSiSiSiSiSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaarnromKnYmKrppFnYmKgbmKmKrrrnrsrtrurvrwkDaaaaaaabababababababiSamamamamamamamabababababcpaxaxaxaxcqaDiSnujYnvixjYmnjZnyiSpdgyiSiSgBgDgCgEgEgJgEgEgKgLiSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaarGqZmKnnpFrHnnmKmKrImKmKmKrGrJrKrdrLoKaaaaaaaaabababababababiSamamamavamamamabababababodoeoeoeoeoelniSkajYofogjYmnjZnyiSiSiSiSiSgDgChijXhjhlhjkbhmgKiSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaamirWmKmKrWmirXmKnYnnmKmKrXmirYrZsasbaaaaaaaaaaabababababababiSatamazabababababababababopoqoroqoqoqoqotmnbMmnmnmnmnjZnyiSiSiSiSiSgDhojXhjhwhyhxhjkbhziSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaamLqisfqkqlsgqlqiolsholqkqlsgqlqimHmHmHaaaaaaaaabababababababiSamamababababababababababoDbNlmoeoeoelniSkdjYjYjYkamnjZnylmoeoeoeoeoeoehjhwhyhAhyhxhjhziSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaapTnYaamHaamHsooPpTaaaamHaaaaaaaamHaaaaaaaaabababababababiSamamabababababababababababbOabazamambPiSoXoYoZoYiymnpapbhChBhBhDhBhBhChlhyhEhGhFhyhlhziSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaamHmHaastnYaasusvpTmHaapFaaaaaaaaaaaaaaaaaaabababababababiSbUamababababababababababababababkcamaWiScfpvpwpxpymnmnmnlmoeoeoeoeoeoehjhwhyhHhyhyhjhziSabababababababababababababababababababababababababababsJsJsJsJsJsJsJsJiPsJsJsJsJsJsJsJsJababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaamHmHaasBnYsCaaaaaamHaaaaaaaaaaaaaaaaabababababababiSavamababababababababababababababaCamaWiSiSnypPcgcmiSpSmniSiSiSiSiSgDhokihjhwhyhxhjkkhziSabababababababababababababababababababababababababababsJiQiRiRiRiRiRiQiQiQiRiRiRiRiRiQsJababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamHqmqisIqkqmmHaamHmHaaaaaaaaaaaaaaabababababababiSamamababababababababababababababaEamamamiSiSiSiSiSiSqcqcqdqeqfqgiSgDhVhUkihjhWhjkkidieiSabababababababababababababababababababababababababababiTiQiQiQiUiQiQiQiQiQiQiQiUiQiQiQiTababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaqwsMsNsOqwstrcplsPsQmHaaaaaaaaaaabababababababiSamazabababababababababababababababazamamamcncnkqbPiSqrqsqsqsqsqsiSifgDhVigigihigigieifiSabababababababababababababababababababababababababababsJiQiRiRiRiRiRiQiQiQiRiRiRiRiRiQsJababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaolsVsWsXolnYsYpksZmKnpaaaaaaaaaaabababababababiSamabababababababababababababababababaCamamatamamaWqOqsqsqsqsqsksiSiSiSiSiSiSiSiSiSiSiSiSabababababababababababababababababababababababababababsJsxsysysysysysysysysysysysysyszsJababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaoPmHmitatbtcminntdpksZaamHaaaaaaaaaaabababababababiSamabababababababababababababababababaCamamaukrktaDiSrjrjrjrjrjrkiSababababababababababababababababababababababababababababababqtqtqtqtqtqtqtqtqtquqvqvqvqvqvqvqvqvqvqvqvqvqvquqtqtqtqtqtqtqtqtqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaanpnXnYnonZoanpaaaaaaaaaaaaaaaaaaaaabababababababiSamavamamatavamamaWiSayiSayiSaYoelniSayiSayiSiSiSiSiSbIamamatamamiSababababababababababababababababababababababababababgVgVgVgVgVohgVgVgVgVgVgVgVgVgVgVkVkVkVkVlwkVkVkVkVkVabababababababababababababababababababababababababababababababababababababababababababababababababababababyXyYyZzazbzczdzezfzgzhzizjzkzlzmznzozpzqzrabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamLmMolomolonooaaaaaaaaaaaaaaaaaaaaabababababababiSamamavamamamamataWiSbKmnmnmnbKmnmnmnbKmnmnmnbKmnmniSaCamamamavamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababzsztzuzvzwzxzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaamHmHoooyozoAmLaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamavamamamaWiSmnmnmnmnmnmnmnmnmnmnmnmnmnmnmniSaCatamamamamiSabababababababababababababababababababababababababababababababababababababababababababababkVkYkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababzNzOzPzQzRzSzTzUzVzWzXzYzZAaAbAcAdAeAfAgAhabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaoKoLoMoNoOoPmKoQmHaaaaaaaaaaaaaaaaaaaaabababababababiSavamamamamavamavaWiSaYoeoeoeoeoeoeoeoeoeoeoelniSbLiSaCamavamatamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaakCpipjpkploOmKnYpmpnmHmHaaaaaaaaaaaaaaaaabababababababiSamamavatamamaxaxaxbWbWbWbWcncncncncncncncncnbPiSmniSbIamatamamamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaamHaaoMpDpDpEoOmKpFnYpnaapGpHaaaaaaaaaaaaaaabababababababiSamamamamamazabababababababazatamamavamamaxaxaDiSmniSaCamamamamamiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababAYAZBaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaoQmHaaaamHpTpUnnpVnnoQmHmHaaaaaaaaaaaaaaaaabababababababiSatavamamamabababababababababbIamamamataDiSiSqOiScoiScpaxcqaxcqaxiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaonqiqjqkqlqmqlqlqiqnqkqlqlqmqlqlaamHaaaaaaaaaaabababababababiSamamamamamabababababababababaCamamamaWiSiSlPlQhkmniSiSiSiSiSiSiSiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababBOBPBQBRBSBTBUBVBWBXBYBZCaCbCcCdCeCfCgChCiabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaqwCjmKmKCkqwqyqzmKmKmKqAqBqwqCozoQqDmHmHaaaaaaabababababababiSamamamamamabababababababababaCavamauaWiSaXmnmnmnmnhnmompiSgtiwhIiSabababababababababababababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaqYqZmKmKqZqYqDqDmKmKmKmKraqYrbrcpDpDrdaaaaaaaaabababababababiSamhTamamamazabababababababazamamamamgwiSmRmnCGCHmTmnmUmVpcpdpdgxiSiSiSiSiSiSiSiSiSiSiSiSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDaDbDcabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaarnromKnYmKrppFnYmKgbmKmKrrrnrsrtrurvrwkDaaaaaaabababababababiSamamamamamamamabababababcpaxaxaxaxcqaDiSnuDdnvixDemnDfnyiSpdgyiSiSgBgDgCgEgEgJgEgEgKgLiSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDAabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaarGqZmKnnpFrHnnmKmKrImKmKmKrGrJrKrdrLoKaaaaaaaaabababababababiSamamamavamamamabababababodoeoeoeoeoelniSkaDBofogDCmnDDnyiSiSiSiSiSgDgChijXhjhlhjkbhmgKiSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaamiDZmKmKEamirXmKnYnnmKmKrXmirYrZsasbaaaaaaaaaaabababababababiSatamazabababababababababopoqoroqoqoqoqotmnbMmnmnmnmnEbnyiSiSiSiSiSgDhojXhjEchyEdhjkbhziSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaamLqisfqkqlsgqlqiolsholqkqlsgqlqimHmHmHaaaaaaaaabababababababiSamamababababababababababoDbNlmoeoeoelniSkdEzEAEBkamnECnylmoeoeoeoeoeoehjEDhyEEhyEFhjhziSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZFaabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaapTnYaamHaamHsooPpTaaaamHaaaaaaaamHaaaaaaaaabababababababiSamamabababababababababababbOabazamambPiSoXoYoZoYiymnpapbhChBhBhDhBhBhChlhyFbhGFchyhlhziSababababababababababababababababababababababababababababababababababkVlwkVabababababababababababababababababababababababababababababababababababababababababababababababababababababababababFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaamHmHaastnYaasusvpTmHaapFaaaaaaaaaaaaaaaaaaabababababababiSbUamababababababababababababababkcamaWiScfpvpwpxpymnmnmnlmoeoeoeoeoeoehjFyhyFzhyhyhjhziSabababababababababababababababababababababababababababsJsJsJsJsJsJsJsJiPsJsJsJsJsJsJsJsJababababababababababababababababababababababababababababababababababababababababababababababababababFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaamHmHaasBnYsCaaaaaamHaaaaaaaaaaaaaaaaabababababababiSavamababababababababababababababaCamaWiSiSnypPcgcmiSpSmniSiSiSiSiSgDhokihjFVhyFWhjkkhziSabababababababababababababababababababababababababababsJiQFXFYFZGaGbiQiQiQGcGdGeGfGgiQsJababababababababababababababababababababababababababababababababababababababababababababababababababGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamHqmqisIqkqmmHaamHmHaaaaaaaaaaaaaaabababababababiSamamababababababababababababababaEamamamiSiSiSiSiSiSqcqcqdqeqfqgiSgDhVhUkihjhWhjkkidieiSabababababababababababababababababababababababababababiTiQiQiQiUiQiQiQiQiQiQiQiUiQiQiQiTababababababababababababababababababababababababababababababababababababababababababababababababababGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaqwsMsNsOqwstrcplsPsQmHaaaaaaaaaaabababababababiSamazabababababababababababababababazamamamcncnkqbPiSqrqsqsqsqsqsiSifgDhVigigihigigieifiSabababababababababababababababababababababababababababsJiQGXGYGZHaHbiQiQiQHcHdHeHfHgiQsJababababababababababababababababababababababababababababababababababababababababababababababababababHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaolsVHCsXolnYsYpksZmKnpaaaaaaaaaaabababababababiSamabababababababababababababababababaCamamatamamaWqOqsqsqsqsqsHDiSiSiSiSiSiSiSiSiSiSiSiSabababababababababababababababababababababababababababsJsxsysysysysysysysysysysysysyszsJababababababababababababababababababababababababababababababababababababababababababababababababababHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYabababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaoPmHmitatbtcminntdpksZaamHaaaaaaaaaaabababababababiSamabababababababababababababababababaCamamaukrktaDiSrjrjrjrjrjrkiSababababababababababababababababababababababababababababababqtqtqtqtqtqtqtqtqtquqvqvqvqvqvqvqvqvqvqvqvqvqvquqtqtqtqtqtqtqtqtqtababababababababababababababababababababababababababababababababababababababababababHZIaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItabababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaamHqmteqiolqkteqmtftgsZaamHaaaaaaaaaaabababababababiSamabababababababababababababababababaCamamaWiSiSiSiSiSiSiSiSiSiSiSababababababababababababababababababababababababababababababqtqQqRqSqSqSqSqSqTqUqvqvqvqvqvqvqvqvqvqvqvqvqvqVqTqWqWqWqWqWqRqXqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaamHqwmKtitjtimKqwaatkaaaamHaaaaaaaaaaabababababababiSamabababababababababababababababababkBavamamiSababababababababababababababababababababababababababababababababababababababababqtqQqRqSrlqSrlqSqTqUqvqvqvqvqvqvqvqvqvqvqvqvqvqVqTqWrmqWrmqWqRqXqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaamHnYtxmKmKmKmKmKtxaaaaaaaanYaaaaaaaaaaabababababababiSamabababababababababababababababababaCamamamiSababababababababababababababababababababababababababababababababababababababababqtqQqRqSqSrCqSqSqTqUqvqvqvqvqvrDrErDqvqvqvqvqvqVqTqWqWrFqWqWqRqXqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
@@ -1084,7 +1647,7 @@ ababababababababababaaaaaaaaaaaaaaaaaaaamHqlqltHtItItItItItJaaaaaaaaaaaaaaaaaaaa
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaamLqitMtMtMqkooaaaaaaaaaaaaaaaaaaaaabababababababiSamazabababazamamamamamamamazabababazamamavamiSababababababababababababababababababababababababababababababababababababababababqtqQqRqSqSqSqSqSqTqUqvqvqvqvqvqvqvqvqvqvqvqvqvqVqTqWqWqWqWqWqRqXqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatPtPtPaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSamamamamamamamamamamamamamamamamamamamamamamiSababababababababababababababababababababababababababababababababababababababababqtqtqtssssssssssqtquqvqvqvqvqvqvqvqvqvqvqvqvqvquqtssssssssssqtqtqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSababababababababababababababababababababababababababababababababababababababababababqtswswswswswkVkZqhqhqhqhqhqhqhqhqhqhqhqhqhkXkVsAsAsAsAsAqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababqtqtqtqtqtqtkViViWiWiWiWiWiXjjiYiWiWiWiWiWiVkVqtqtqtqtqtqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababqtqtqtqtqtqtkViVIuIvIwIxIyiXIziYIAIBICIDIEiVkVqtqtqtqtqtqtababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababkViViViVjkiVltltltltltiVjkiViViVkVababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababkVkVjlkVkVkVkVjmjojnkVkVkVkVjlkVkVababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababkVkVkVkVkVababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
@@ -1095,12 +1658,12 @@ abababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthththththththththththththththththththababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtltmtntototmtptqtrtstttutvtutututwthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtltmtmtmtmtmtytttttttztutututAtututhababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtltmtCtltDtltEtttttttttututFtutGtvthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtKtttztztztztztttttttttutututLtututhababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtltmtmtmtmtmtyttttttIFtutututAtututhababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtltmtCtltDtltEtttttttttutuIGtuIHtvthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtKttIIIJIKILIMtttttttttutututLtututhababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtNtttttttttttttttttttttOtutututututhababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtNtttttttttttttttttztttOtQtQtQtRtQthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtStttttttttttttttztTtztOtUtUtUtUtUthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtNttttttttttttttttINtttOtQtQtQtRtQthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtSttttttttttttttIOtTIPtOtUtUtUtUtUthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababththtVtWtWtXthththththththththththththababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtYtYtYtYthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababthtYtYtYtYthababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
@@ -1111,7 +1674,7 @@ abababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababldlflelelelhlgabldlilelelelhlgabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababljlllklElqlGlFabljlllHlElIlGlFabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababablJlKlelelelhlLablJlKlelelelhlLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababablMlOlNlTlRlVlUablMlOlNlTlRlVlUabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababablMlOlNlTIQlVlUablMlOlNlTIRlVlUabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababmbmamdmcmeabababmbmamdmcmeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababkIkEkKkJkLabababkIkEkKkJkLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
@@ -1119,7 +1682,7 @@ abababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababldmslelelelhlgabldmtlelelelhlgabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababljllmxlEmylGlFabljllmzlEmAlGlFabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababablJlKlelelelhlLablJlKlelelelhlLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababablMlOlNlTlRlVlUablMlOlNlTlRlVlUabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababablMlOlNlTISlVlUablMlOlNlTITlVlUabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababmbmamdmcmeabababmbmamdmcmeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
@@ -1143,4 +1706,3 @@ abababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
"}
-
diff --git a/_maps/map_files/MetaStation/z4.dmm b/_maps/map_files/MetaStation/z4.dmm
index 51fc57cc738..e7e0eba3e75 100644
--- a/_maps/map_files/MetaStation/z4.dmm
+++ b/_maps/map_files/MetaStation/z4.dmm
@@ -164,14 +164,14 @@
"dh" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/simulated/wall,/area/derelict/bridge/access)
"di" = (/turf/simulated/wall/r_wall,/area/derelict/gravity_generator)
"dj" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/derelict/solar_control)
-"dk" = (/obj/item/ore/iron,/obj/item/ore/iron,/obj/item/ore/iron,/turf/space,/area/space)
+"dk" = (/obj/item/stack/ore/iron,/obj/item/stack/ore/iron,/obj/item/stack/ore/iron,/turf/space,/area/space)
"dl" = (/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/derelict/gravity_generator)
"dm" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "damaged5"},/area/derelict/gravity_generator)
"dn" = (/obj/machinery/door/airlock/maintenance,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"do" = (/turf/simulated/wall,/area/derelict/bridge/access)
"dp" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dq" = (/turf/simulated/floor/plating/airless{icon_state = "damaged4"},/area/derelict/gravity_generator)
-"dr" = (/obj/item/ore/slag,/turf/simulated/floor/plating/airless{icon_state = "damaged4"},/area/derelict/gravity_generator)
+"dr" = (/obj/item/stack/ore/slag,/turf/simulated/floor/plating/airless{icon_state = "damaged4"},/area/derelict/gravity_generator)
"ds" = (/turf/simulated/floor/plating/airless{icon_state = "damaged5"},/area/derelict/gravity_generator)
"dt" = (/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"du" = (/obj/structure/rack,/obj/item/melee/classic_baton,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
@@ -184,7 +184,7 @@
"dB" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dC" = (/obj/item/screwdriver,/turf/simulated/floor/plating/airless{icon_state = "damaged5"},/area/derelict/gravity_generator)
"dD" = (/obj/machinery/gravity_generator/main/station{on = 0},/turf/simulated/floor/plating/airless,/area/derelict/gravity_generator)
-"dE" = (/obj/item/ore/slag,/turf/space,/area/space)
+"dE" = (/obj/item/stack/ore/slag,/turf/space,/area/space)
"dF" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/simulated/wall,/area/derelict/bridge/access)
"dG" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dH" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
@@ -355,7 +355,7 @@
"gQ" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
"gR" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/turf/simulated/floor/plating/airless,/area/derelict/bridge/access)
"gS" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/bridge/access)
-"gT" = (/obj/item/ore/slag,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
+"gT" = (/obj/item/stack/ore/slag,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"gU" = (/obj/item/shard,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"gV" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"gW" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/primary)
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
index c95082eac76..982be66cace 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
@@ -29,7 +29,7 @@
"aC" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel,/area/ruin/onehalf/dorms_med)
"aD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/ruin/onehalf/drone_bay)
"aE" = (/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating/airless,/area/ruin/onehalf/drone_bay)
-"aF" = (/obj/structure/disposalpipe/trunk,/obj/item/ore/diamond,/turf/simulated/floor/plating/airless,/area/ruin/onehalf/drone_bay)
+"aF" = (/obj/structure/disposalpipe/trunk,/obj/item/stack/ore/diamond,/turf/simulated/floor/plating/airless,/area/ruin/onehalf/drone_bay)
"aG" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating/airless,/area/ruin/onehalf/drone_bay)
"aH" = (/obj/item/stack/rods,/turf/space,/area/ruin/onehalf/hallway)
"aI" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/ruin/onehalf/hallway)
@@ -153,7 +153,7 @@
"cY" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/structure/cable,/obj/machinery/door/poddoor/preopen{id_tag = "onehalf bridge"; name = "bridge blast door"},/turf/simulated/floor/plating,/area/ruin/onehalf/bridge)
"cZ" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/space,/area/space)
"db" = (/obj/structure/table,/obj/item/flashlight,/turf/simulated/floor/plasteel,/area/ruin/onehalf/bridge)
-"dc" = (/obj/structure/table,/obj/item/ore/bluespace_crystal,/obj/item/coin/plasma,/turf/simulated/floor/plasteel,/area/ruin/onehalf/bridge)
+"dc" = (/obj/structure/table,/obj/item/stack/ore/bluespace_crystal,/obj/item/coin/plasma,/turf/simulated/floor/plasteel,/area/ruin/onehalf/bridge)
"dd" = (/obj/structure/closet/firecloset/full,/turf/simulated/floor/plasteel,/area/ruin/onehalf/bridge)
"de" = (/obj/machinery/light,/obj/structure/table,/obj/item/storage/firstaid,/turf/simulated/floor/plasteel,/area/ruin/onehalf/bridge)
"df" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/space,/area/space)
diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm
index 0f9a12fc6f3..4830397aea6 100644
--- a/_maps/map_files/RandomZLevels/academy.dmm
+++ b/_maps/map_files/RandomZLevels/academy.dmm
@@ -97,7 +97,7 @@
"bS" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
"bT" = (/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
"bU" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
-"bV" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/academy/classrooms)
+"bV" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"bW" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/academy/classrooms)
"bX" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
"bY" = (/obj/structure/target_stake,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
@@ -114,7 +114,7 @@
"cj" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
"ck" = (/obj/machinery/door/airlock/plasma,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"cl" = (/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
-"cm" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/academy/classrooms)
+"cm" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"cn" = (/obj/machinery/computer/area_atmos/area,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
"co" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
"cp" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
@@ -154,7 +154,7 @@
"cX" = (/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
"cY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"cZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
-"da" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/academy/classrooms)
+"da" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"db" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"dc" = (/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"dd" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
@@ -171,7 +171,7 @@
"do" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dp" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/awaymission/academy/classrooms)
"dq" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
-"dr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/academy/classrooms)
+"dr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"ds" = (/obj/structure/chair/wood/normal{dir = 1},/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"dt" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/awaymission/academy/classrooms)
"du" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
diff --git a/_maps/map_files/RandomZLevels/moonoutpost19.dmm b/_maps/map_files/RandomZLevels/moonoutpost19.dmm
index 12e7ca4df90..870a6f075a8 100644
--- a/_maps/map_files/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/map_files/RandomZLevels/moonoutpost19.dmm
@@ -41,7 +41,7 @@
"aO" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"aP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"aQ" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aR" = (/obj/item/ore/iron{pixel_x = 7; pixel_y = -6},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"aR" = (/obj/item/stack/ore/iron{pixel_x = 7; pixel_y = -6},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aS" = (/obj/structure/alien/weeds,/mob/living/simple_animal/hostile/alien/queen/large{desc = "A gigantic alien who is in charge of the hive and all of its loyal servants."; name = "alien queen"; pixel_x = -16; plants_off = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aT" = (/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"aU" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkredcorners"; tag = "icon-darkredcorners (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
@@ -175,11 +175,11 @@
"ds" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "150"},/obj/item/stack/spacecash/c50,/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dt" = (/obj/structure/bed,/obj/item/bedsheet/syndie,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"du" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dv" = (/obj/item/ore/iron,/obj/item/ore/iron{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"dv" = (/obj/item/stack/ore/iron,/obj/item/stack/ore/iron{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dx" = (/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor/plasteel/airless{name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dy" = (/obj/structure/dispenser/oxygen{oxygentanks = 9},/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dz" = (/obj/item/ore/iron{pixel_x = -3; pixel_y = 9},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"dz" = (/obj/item/stack/ore/iron{pixel_x = -3; pixel_y = 9},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dA" = (/turf/simulated/mineral,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a7)
"dC" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/mask/gas,/obj/item/pickaxe/drill,/obj/item/clothing/head/helmet/space/syndicate/orange,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
@@ -192,7 +192,7 @@
"dJ" = (/obj/item/pickaxe/drill,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dK" = (/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dL" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dM" = (/obj/item/ore/iron{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"dM" = (/obj/item/stack/ore/iron{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dN" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/bed/nest,/obj/item/tank/oxygen,/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate/orange,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dO" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dP" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -462,15 +462,15 @@
"iT" = (/obj/structure/chair{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iU" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 0},/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iV" = (/obj/machinery/vending/boozeomat{req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iW" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iX" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iW" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iX" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iY" = (/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iZ" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ja" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"jb" = (/obj/item/stack/rods,/obj/item/shard,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"jc" = (/obj/structure/table,/obj/item/storage/secure/briefcase,/obj/item/taperecorder{pixel_x = -3},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"jd" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -12; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"je" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"je" = (/obj/machinery/vending/snack,/obj/structure/sign/poster/official/ue_no{pixel_y = 32},/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jf" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jg" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jh" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -486,7 +486,7 @@
"jr" = (/obj/structure/closet/secure_closet{icon_broken = "rdsecurebroken"; icon_closed = "rdsecure"; icon_locked = "rdsecure1"; icon_off = "rdsecureoff"; icon_opened = "rdsecureopen"; icon_state = "rdsecure1"; locked = 1; name = "research director's locker"; req_access_txt = "271"},/obj/item/storage/backpack/satchel_tox,/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"js" = (/obj/structure/chair/comfy/black{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jt" = (/obj/structure/closet/crate/can,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ju" = (/obj/machinery/vending/snack,/obj/structure/sign/poster/official/ue_no{pixel_y = 32},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ju" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jv" = (/obj/structure/chair,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jw" = (/obj/structure/chair,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jx" = (/obj/structure/table,/obj/item/book/manual/detective,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -646,7 +646,7 @@
"mv" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mw" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mx" = (/obj/structure/grille,/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"my" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"my" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mz" = (/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mA" = (/obj/structure/table/wood,/obj/machinery/door_control{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mB" = (/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -665,7 +665,7 @@
"mO" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mP" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mQ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mR" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera{c_tag = "Dormitories"; dir = 4; network = list("MO19")},/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mS" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mT" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mU" = (/obj/machinery/door/airlock{id_tag = "awaydorm2"; name = "Dorm 2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -727,7 +727,7 @@
"nY" = (/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"oa" = (/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ob" = (/obj/structure/chair/comfy/black{dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ob" = (/obj/structure/chair/comfy/black{dir = 8},/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"oc" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"od" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oe" = (/obj/item/shard{icon_state = "small"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -776,7 +776,6 @@
"oY" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"oZ" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "271"},/obj/item/clothing/under/assistantformal,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"pa" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"pb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera{c_tag = "Dormitories"; dir = 4; network = list("MO19")},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"pe" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "271"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"pg" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "271"},/obj/item/clothing/under/suit_jacket/burgundy,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -845,19 +844,19 @@ aaaaaaaaaaaaaaabababababababababababababababababababababababababeTeUeTfafPhChChC
aaaaaaaaaaaaaaabababababababababababababababababababababababababeUhukbfOfPhChDhNkfhxhxhxhxeJhOicideJflflhGhPeadAaZaZaZaZaZaZaZhJhQhShRhThJhVhUhJhJaZaZaZhWaZaZaZaZdAabababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababababababababababeUfeiLhMeVhChYhZiaibieipiteaeakieadZigiiihijdZdAaZaZaZaZaZaZdAhKhKhJikilhJinimiohKisisishKdAdAdAdAdAabababdAdAdAdAdAabababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababababababababababeUfOeVfPeVhCkjirhDhCiviuiwdZiMifiNeadZdZeaeaeaaZaZaZaZhWaZaZdAhKixiyimimiziAimiBhKiDiCiEhKhKhKhJhJhKhJhKdAdAaZaZaZdAdAababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeTkkeViHiFhDhCiIiJiKiOiPjcdZjdifjneadAdAaZaZaZaZohaZhKhKisishKhKhKhKiAimhKiQiQhJhKiSiRiTiUhKiViXiWiYiZhKdAaZaZaZaZaZdAababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeTfOfPjadZeadZeaeaeadZeaeaeaeJkieJeadAaZaZaZhWaZjbaZhJjsjxjijejgjhhJjfhKhJhJhJhJjjjkjkjljmjqiYjoiYiYjphJaZaZaZaZaZaZdAdAabababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababdAdAdAdAdAeTknfPfPeajEjIjvjMjwjIjUjuhKjykCjzhJhKkdkdkdhJkdkekdhJjGjFjFjHjFjFkDjFjLjVkgjKjOjljljljNjmjTiYjQjRjojSisaZaZaZaZaZaZaZdAdAababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababdAdAdAdAdAdAdAeUkcfrgikhjWjWklkulikWkAkFlRlJmomnlJmpmykGkIkPkQkHkGkRnAkAlililikUnUnNnNoklhlhoqopopopoporotoskqkrkskthKaZaZaZaZaZaZaZaZdAababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeTkkeViHiFhDhCiIiJiKiOiPjcdZjdifjneadAdAaZaZaZaZohaZhKhKisishKhKhKhKiAimhKiQiQhJhKiSiRiTiUhKiViWiXiYiZhKdAaZaZaZaZaZdAababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeTfOfPjadZeadZeaeaeadZeaeaeaeJkieJeadAaZaZaZhWaZjbaZhJjsjxjioajgjhhJjfhKhJhJhJhJjjjkjkjljmjqiYjoiYiYjphJaZaZaZaZaZaZdAdAabababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababdAdAdAdAdAeTknfPfPeajEjIjvjMjwjIjUjehKjykCjzhJhKkdkdkdhJkdkekdhJjGjFjFjHjFjFkDjFjLjVkgjKjOjljljljNjmjTiYjQjRjojSisaZaZaZaZaZaZaZdAdAababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababdAdAdAdAdAdAdAeUkcfrgikhjWjWklkulikWkAkFlRlJmomnlJmpjukGkIkPkQkHkGkRnAkAlililikUnUnNnNoklhlhoqopopopoporotoskqkrkskthKaZaZaZaZaZaZaZaZdAababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAdAdAdAaZaZaZeTeTeUeUkmkwkvkwkxkwkvkvkwkzkyoujFlvkBlGkEkTlHjFlGlIkJmhjHhJhKhJhJmzkKjFoxjFjHkojljlkLkMjmjTiYiYkpiYkNhKaZaZaZaZaZdAdAdAdAababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAdAaZaZaZaZaZaZaZaZhJhJisisishJisisishJhJkOoymShKhJkdlllmhJhJhJhJhKozkShJkVoAhKkXhKkYoBlakZjOlbjNjljljmjTiYiYiYlchKhKhJhJhKaZdAdAabababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZldlelfaZaZhJlgnanrhKdAaZaZlkljhKnbnbhKoDlElplolqhKlnhKhKhJhKhKhKlrlsjllthKhKluiYiYiYoElxlwlyhKdAdAababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZldlelelzlelAlBlClAlBlDlKlFaZaZisnvnFnGhKdAaZaZaZaZhJlOlOhKoGmihKlMlNhJlPlOlQlPlnlOkXjljkjljloHlSlSlTlSlUhKlxlxlVhKababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZldlWlXlYlZmambmcmdmemdmflKmgaZaZisnvnHisisaZaZaZaZaZhJnBlOoJoGmihJhKhKhJlOmkhJhJhJhKhKmjmjjkmlhKlSlTlSlSmmhKoLoKoMhJababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmqmcmrlDmsmdmtmumtmdmcmvlDismxisnvnKisaZaZaZaZaZaZhKoOoQoPoRmQhJmAmBhKlOmMhKabababhKmCmCmDhJhKhKmEmFmGhJhJhKhKhJhJababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmHmdmsmImsmsmJmKmJmsmsmsmLmNlPmOjHnXhJmPaZaZaZaZaZhKoTlOhJoUmRmUmTmVhKlOnbhJabababhKhKhJhJhKdAhKisisishJaZaZaZaZdAababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmHmdmsmImsmsmJmKmJmsmsmsmLmNlPmOjHnXhJmPaZaZaZaZaZhKoTlOhJoUmymUmTmVhKlOnbhJabababhKhKhJhJhKdAhKisisishJaZaZaZaZdAababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmWmcmXmYmsmdmtmumtmdmcmZmYisisisnvooisaZaZaZaZaZaZhJoWoXhJoYlLhKncoZhKlQnlhJhJhJdKaZaZdAdAdAdAaZaZaZaZljaZaZaZdAdAababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZnenfnglYlZmanhmcmdnimdmflKlFaZaZisnvovisaZaZaZaZaZaZhJpaoXhKpbmwhKhKhKhJnnnmmOnpmOdKaZaZdAdAaZaZaZaZaZaZaZaZaZaZdAabababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZnenfnglYlZmanhmcmdnimdmflKlFaZaZisnvovisaZaZaZaZaZaZhJpaoXhKmRmwhKhKhKhJnnnmmOnpmOdKaZaZdAdAaZaZaZaZaZaZaZaZaZaZdAabababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZnelelenolelAlBlClAlBmYlKmgaZaZisowovisaZaZaZaZdAdAhJhJhJhKndmikXlPlnlnnunthJlnhJnxaZdAdAdAaZaZaZaZaZaZaZaZaZdAdAabababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZnelenwaZaZhJmOmOhJhJdAdAdAdAdAaZkdnznyoCnEhJhKhJhJhKpehJhJhJaZdAdAabdAdAdAaZaZaZaZaZdAdAdAababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababdAdAdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZhJnBlPnChJdAdAaZaZaZnDnjnkoFoImQhKnInJhKlPlOnqhKaZaZdAdAabababdAdAaZaZaZdAdAababababababababababababababababababababababaaaaaaaaaaaaaa
diff --git a/_maps/map_files/RandomZLevels/stationCollision.dmm b/_maps/map_files/RandomZLevels/stationCollision.dmm
index f50207e42c3..72a1a9ac6af 100644
--- a/_maps/map_files/RandomZLevels/stationCollision.dmm
+++ b/_maps/map_files/RandomZLevels/stationCollision.dmm
@@ -25,13 +25,13 @@
"ay" = (/obj/structure/window/reinforced/tinted,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"az" = (/obj/structure/window/reinforced/tinted,/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"aA" = (/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
-"aB" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"aB" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"aC" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/syndishuttle)
"aD" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
"aE" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"aF" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"aG" = (/obj/effect/decal/remains/robot,/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
-"aH" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"aH" = (/obj/machinery/door/airlock/engineering,/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"aI" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/space,/area/awaymission/syndishuttle)
"aJ" = (/turf/simulated/floor/plating/airless,/area/awaymission/syndishuttle)
"aK" = (/turf/space,/area/awaymission/syndishuttle)
@@ -46,7 +46,7 @@
"aT" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/machinery/light,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"aU" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"aV" = (/obj/structure/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/northblock)
-"aW" = (/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/awaymission/northblock)
+"aW" = (/obj/structure/girder/reinforced,/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/research)
"aX" = (/obj/machinery/portable_atmospherics/canister/toxins{destroyed = 1},/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
"aY" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
"aZ" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space)
@@ -71,7 +71,7 @@
"bs" = (/obj/structure/lattice,/turf/space,/area/awaymission/syndishuttle)
"bt" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
"bu" = (/turf/simulated/floor/plasteel/airless{tag = "icon-blue (SOUTHEAST)"; icon_state = "blue"; dir = 6},/area/awaymission/northblock)
-"bv" = (/obj/machinery/door/airlock/engineering,/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"bv" = (/obj/effect/decal/warning_stripes/northwest,/mob/living/simple_animal/hostile/alien/sentinel,/turf/simulated/floor/plasteel,/area/awaymission/research)
"bw" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/research)
"bx" = (/turf/simulated/wall/r_wall,/area/awaymission/research)
"by" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
@@ -81,16 +81,16 @@
"bC" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless{icon_state = "blue"},/area/awaymission/northblock)
"bD" = (/turf/simulated/floor/plasteel/airless{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/awaymission/northblock)
"bE" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
-"bF" = (/obj/structure/girder/reinforced,/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/research)
+"bF" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaymission/research)
"bG" = (/obj/machinery/light{dir = 4},/obj/structure/window/reinforced,/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/effect/decal/remains/human,/obj/item/gun/energy/laser/practice/sc_laser,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"bH" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/research)
+"bH" = (/obj/item/shard,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/awaymission/research)
"bI" = (/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/effect/decal/remains/human,/obj/item/gun/energy/laser/practice/sc_laser,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"bJ" = (/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"bK" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"bL" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/awaymission/research)
-"bM" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaymission/research)
-"bN" = (/obj/machinery/door/window/westright,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/awaymission/research)
-"bO" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaymission/research)
+"bL" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/awaymission/research)
+"bM" = (/obj/machinery/door/window/eastleft,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/awaymission/research)
+"bN" = (/obj/machinery/door/window/westright,/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/awaymission/research)
+"bO" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/awaymission/research)
"bP" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"bQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastleft,/obj/machinery/door/window/westright,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"bR" = (/mob/living/simple_animal/lizard,/turf/simulated/floor/grass,/area/awaymission/research)
@@ -100,26 +100,26 @@
"bV" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
"bW" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
"bX" = (/turf/simulated/floor/plasteel/airless{tag = "icon-blue (NORTHEAST)"; icon_state = "blue"; dir = 5},/area/awaymission/northblock)
-"bY" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/research)
-"bZ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/research)
+"bY" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/awaymission/research)
+"bZ" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/warning_stripes/east,/mob/living/simple_animal/hostile/alien,/turf/simulated/floor/plasteel,/area/awaymission/research)
"ca" = (/turf/simulated/floor/plasteel,/area/awaymission/research)
-"cb" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/research)
+"cb" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/awaymission/research)
"cc" = (/obj/structure/table/holotable,/obj/item/gun/energy/floragun{pixel_x = 2; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"cd" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/research)
+"cd" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/awaymission/research)
"ce" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/simulated/floor/plasteel,/area/awaymission/research)
"cf" = (/obj/machinery/dna_scannernew,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cg" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/awaymission/research)
"ch" = (/obj/machinery/power/emitter{anchored = 1; state = 2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"ci" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
-"cj" = (/obj/machinery/door/window/southleft,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/research)
+"cj" = (/obj/machinery/door/window/southleft,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/awaymission/research)
"ck" = (/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/under/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/effect/decal/cleanable/blood/splatter,/obj/item/clothing/shoes/brown,/obj/item/toy/sword,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
-"cl" = (/obj/item/shard{icon_state = "medium"},/obj/item/shard{icon_state = "small"},/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/awaymission/research)
+"cl" = (/obj/item/shard{icon_state = "small"},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/awaymission/research)
"cm" = (/obj/structure/table,/obj/item/clipboard,/obj/item/paper,/obj/item/paper,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"cn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/mob/living/simple_animal/hostile/hivebot,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/research)
-"co" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/awaymission/research)
-"cp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/awaymission/research)
+"cn" = (/obj/item/shard{icon_state = "medium"},/obj/item/shard{icon_state = "small"},/obj/structure/alien/weeds/node,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/awaymission/research)
+"co" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes/southwest,/mob/living/simple_animal/hostile/hivebot,/turf/simulated/floor/plasteel,/area/awaymission/research)
+"cp" = (/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/awaymission/research)
"cq" = (/obj/machinery/door/window/southright,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"cr" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/research)
+"cr" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/awaymission/research)
"cs" = (/obj/structure/chair/office/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"ct" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/awaymission/research)
@@ -132,7 +132,7 @@
"cB" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cC" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (EAST)"; icon_state = "propulsion_l"; dir = 4},/turf/space,/area/awaymission/syndishuttle)
"cD" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
-"cE" = (/obj/machinery/portable_atmospherics/canister/toxins{destroyed = 1},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"cE" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/awaymission/research)
"cF" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cG" = (/obj/machinery/power/emitter{anchored = 1; dir = 1; icon_state = "emitter"; state = 2},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cH" = (/obj/structure/bed,/obj/item/bedsheet/captain,/obj/item/clothing/under/rank/captain,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/energy/laser/practice/sc_laser,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
@@ -145,7 +145,7 @@
"cO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cQ" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple,/turf/space,/area/awaymission/northblock)
-"cR" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"cR" = (/obj/machinery/portable_atmospherics/canister/toxins{destroyed = 1},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"cS" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cT" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cU" = (/mob/living/carbon/alien/humanoid/hunter{fireloss = 200; stat = 2},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -156,8 +156,8 @@
"cZ" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"da" = (/obj/machinery/door/airlock/atmos{name = "Airlock"},/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"db" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/plasteel,/area/awaymission/research)
-"dc" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/research)
-"dd" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/research)
+"dc" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
+"dd" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaymission/research)
"de" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"df" = (/obj/machinery/door/window/northleft{name = "Windoor"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dg" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -170,9 +170,9 @@
"dn" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"do" = (/obj/machinery/atmospherics/pipe/simple,/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"dp" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
-"dq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"dq" = (/obj/structure/closet/l3closet/scientist,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaymission/research)
"dr" = (/obj/machinery/door/airlock/highsecurity{name = "Security Airlock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/research)
-"ds" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/research)
+"ds" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"dt" = (/obj/machinery/door/window/westright{name = "Windoor"},/obj/machinery/door/window/eastright{name = "Windoor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"du" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dv" = (/obj/machinery/door/airlock/hatch{name = "High-Security Airlock"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
@@ -180,9 +180,9 @@
"dx" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"dy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"dz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4},/area/awaymission/northblock)
-"dA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"dA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaymission/research)
"dB" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_y = -10; tag = "icon-shower (EAST)"},/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/research)
-"dC" = (/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/research)
+"dC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"dD" = (/obj/structure/window/reinforced,/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 7500; dir = 8; name = "Research APC"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dE" = (/obj/machinery/door/window/southright{name = "Windoor"},/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dF" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -200,7 +200,7 @@
"dR" = (/obj/structure/sign/goldenplaque{pixel_y = 31},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"dS" = (/obj/machinery/light/small{dir = 1},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"dT" = (/obj/structure/sign/atmosplaque{pixel_y = 31},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
-"dU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"dU" = (/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaymission/research)
"dV" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dW" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/screwdriver,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dX" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -215,7 +215,7 @@
"eg" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/plasteel/airless{dir = 1; icon_state = "bluecorner"},/area/awaymission/northblock)
"eh" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"; nitrogen = 0.01; oxygen = 0.01; temperature = 2.7},/area/awaymission/syndishuttle)
"ei" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor{icon_state = "floor4"; nitrogen = 0.01; oxygen = 0.01; temperature = 2.7},/area/awaymission/syndishuttle)
-"ej" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"ej" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"ek" = (/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor/eastleft,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"el" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"em" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -230,15 +230,15 @@
"ev" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"ew" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"ex" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor{icon_state = "floor4"; nitrogen = 0.01; oxygen = 0.01; temperature = 2.7},/area/awaymission/syndishuttle)
-"ey" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"ey" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"ez" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"eA" = (/obj/structure/AIcore,/turf/simulated/floor/greengrid,/area/awaymission/research)
"eB" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/greengrid,/area/awaymission/research)
"eC" = (/turf/simulated/floor/greengrid,/area/awaymission/research)
"eD" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/greengrid,/area/awaymission/research)
-"eE" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"eF" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"eG" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
+"eE" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
+"eF" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
+"eG" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"eH" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/research)
"eI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/awaymission/northblock)
"eJ" = (/obj/structure/closet/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"; nitrogen = 0.01; oxygen = 0.01; temperature = 2.7},/area/awaymission/syndishuttle)
@@ -259,7 +259,7 @@
"eY" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/midblock)
"eZ" = (/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"fa" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/midblock)
-"fb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
+"fb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"fc" = (/obj/structure/table,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/capacitor{pixel_x = -3},/obj/item/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/stock_parts/scanning_module{pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"fd" = (/obj/structure/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"fe" = (/obj/structure/table,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator{pixel_x = -3; pixel_y = 3},/obj/item/stock_parts/micro_laser{pixel_x = -3; pixel_y = -3},/obj/item/stock_parts/micro_laser{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -275,7 +275,7 @@
"fo" = (/obj/structure/closet/secure_closet/captains,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"fp" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"fq" = (/turf/simulated/floor/plasteel/airless,/area/awaymission/midblock)
-"fr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/midblock)
+"fr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"fs" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/midblock)
"ft" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/midblock)
"fu" = (/obj/structure/table,/obj/item/storage/toolbox/mechanical,/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/stock_parts/console_screen,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -316,7 +316,7 @@
"gd" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"ge" = (/obj/item/storage/secure/safe/sc_ssafe{pixel_x = 4; pixel_y = -26},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"gf" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/c10mm,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/gun/projectile/shotgun/toy/tommygun,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
-"gg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/midblock)
+"gg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating/airless,/area/awaymission/midblock)
"gh" = (/obj/structure/closet/wardrobe/generic,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gi" = (/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gj" = (/obj/structure/closet/wardrobe/pjs,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
@@ -326,7 +326,7 @@
"gn" = (/obj/machinery/gibber,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"go" = (/obj/machinery/vending/boozeomat,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gp" = (/obj/structure/table,/obj/item/book/manual/barman_recipes,/obj/item/reagent_containers/food/drinks/shaker,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
-"gq" = (/mob/living/simple_animal/hostile/alien/sentinel,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/awaymission/research)
+"gq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/midblock)
"gr" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gs" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gt" = (/obj/structure/chair,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
@@ -339,9 +339,9 @@
"gA" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gB" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/obj/machinery/door/window/westleft{name = "Windoor"},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gC" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
-"gD" = (/obj/item/shard,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaymission/research)
-"gE" = (/obj/structure/window/reinforced{dir = 4},/mob/living/simple_animal/hostile/alien,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/research)
-"gF" = (/obj/item/shard{icon_state = "small"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/awaymission/research)
+"gD" = (/obj/structure/sign/vacuum{pixel_y = 32},/obj/effect/decal/remains/human,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
+"gE" = (/obj/effect/decal/remains/human,/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
+"gF" = (/turf/simulated/floor/plating/airless,/area/awaymission/midblock)
"gG" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gH" = (/obj/structure/chair/stool,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gI" = (/obj/structure/chair{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
@@ -355,15 +355,15 @@
"gQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
"gR" = (/obj/machinery/door/unpowered/shuttle{name = "Shuttle Airlock"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
"gS" = (/obj/machinery/door/airlock/external{welded = 1},/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
-"gT" = (/obj/structure/sign/vacuum{pixel_y = 32},/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/awaymission/arrivalblock)
-"gU" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/awaymission/arrivalblock)
+"gT" = (/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
+"gU" = (/obj/structure/girder,/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/awaymission/arrivalblock)
"gV" = (/obj/machinery/computer/security,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/awaymission/arrivalblock)
"gW" = (/obj/machinery/computer/secure_data,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock)
"gX" = (/obj/structure/table,/obj/item/melee/baton,/obj/item/clothing/head/warden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock)
"gY" = (/obj/structure/closet/wardrobe/red,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock)
"gZ" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock)
"ha" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/awaymission/arrivalblock)
-"hb" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/midblock)
+"hb" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"hc" = (/obj/structure/bed,/obj/item/bedsheet/blue,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hd" = (/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"he" = (/obj/structure/bed,/obj/item/bedsheet/purple,/obj/structure/window/reinforced/tinted{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
@@ -379,7 +379,7 @@
"ho" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
"hp" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"hq" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
-"hr" = (/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/arrivalblock)
+"hr" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"hs" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"ht" = (/obj/structure/chair{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/awaymission/arrivalblock)
"hu" = (/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
@@ -437,7 +437,7 @@
"iu" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"iv" = (/obj/machinery/door/window/eastright{name = "Windoor"},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"iw" = (/obj/item/ammo_casing/c10mm,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
-"ix" = (/obj/structure/girder,/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/arrivalblock)
+"ix" = (/obj/structure/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/awaymission/southblock)
"iy" = (/obj/item/ammo_casing/c10mm,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"iz" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/awaymission/southblock)
"iA" = (/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
@@ -455,6 +455,8 @@
"iM" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"iN" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/awaymission/arrivalblock)
"iO" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/arrivalblock)
+"iP" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
+"iQ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"iR" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel/airless,/area/awaymission/southblock)
"iS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel/airless,/area/awaymission/southblock)
"iT" = (/turf/simulated/floor/plasteel/airless,/area/awaymission/southblock)
@@ -467,7 +469,10 @@
"ja" = (/obj/structure/closet/wardrobe/orange,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/awaymission/arrivalblock)
"jb" = (/obj/structure/bed,/turf/simulated/floor/plasteel{icon_state = "red"},/area/awaymission/arrivalblock)
"jc" = (/obj/structure/chair/stool,/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "red"},/area/awaymission/arrivalblock)
+"jd" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/arrivalblock)
"je" = (/turf/space,/area/awaymission/arrivalblock)
+"jf" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/arrivalblock)
+"jg" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l"; icon_state = "burst_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/arrivalblock)
"jh" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel/airless,/area/awaymission/southblock)
"ji" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless,/area/awaymission/southblock)
"jj" = (/obj/item/ammo_casing/c10mm{pixel_y = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless,/area/awaymission/southblock)
@@ -498,11 +503,11 @@
"jI" = (/obj/structure/table,/obj/item/pen,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock)
"jJ" = (/obj/structure/noticeboard{dir = 1; pixel_y = 32},/obj/structure/chair{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
"jK" = (/turf/simulated/floor/plasteel,/area/awaymission/southblock)
-"jL" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/gateroom)
+"jL" = (/obj/structure/table,/obj/item/paper/pamphlet{pixel_x = 2; pixel_y = 2},/obj/item/paper/pamphlet{pixel_x = -2; pixel_y = -2},/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"jM" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"jN" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"jO" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
-"jP" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/gateroom)
+"jP" = (/obj/effect/landmark{name = "awaystart"},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"jQ" = (/turf/simulated/floor/wood,/area/awaymission/southblock)
"jR" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/awaymission/southblock)
"jS" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/simulated/floor/wood,/area/awaymission/southblock)
@@ -523,50 +528,49 @@
"kh" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"ki" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"kj" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
-"kk" = (/obj/structure/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/southblock)
+"kk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "awaystart"},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"kl" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/arrivalblock)
"km" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"kn" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"ko" = (/obj/machinery/door/airlock/external{welded = 1},/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"kp" = (/obj/machinery/door/airlock/medical,/turf/simulated/floor/plasteel,/area/awaymission/southblock)
-"kq" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/gateroom)
+"kq" = (/obj/structure/table,/obj/item/camera,/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"kr" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"ks" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/gateway,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"kt" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
-"ku" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/gateroom)
+"ku" = (/obj/structure/chair/comfy/brown{dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock)
"kv" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock)
"kw" = (/obj/structure/chair/comfy/brown,/turf/simulated/floor/wood,/area/awaymission/southblock)
-"kx" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"ky" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"kz" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l"; icon_state = "burst_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
+"kx" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
+"ky" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
+"kz" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"kA" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/obj/structure/window/reinforced,/turf/space,/area/awaymission/arrivalblock)
"kB" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/obj/structure/window/reinforced,/turf/space,/area/awaymission/arrivalblock)
+"kC" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"kD" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"kE" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"kF" = (/obj/structure/sink/kitchen{pixel_y = 32},/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"kG" = (/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/syndicate,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/paper/sc_safehint_paper_hydro,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"kH" = (/obj/machinery/vending/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
"kI" = (/obj/structure/bed/roller,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock)
-"kJ" = (/obj/structure/table,/obj/item/paper/pamphlet{pixel_x = 2; pixel_y = 2},/obj/item/paper/pamphlet{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/awaymission/gateroom)
-"kK" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/gateroom)
-"kL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/gateroom)
-"kM" = (/obj/structure/table,/obj/item/camera,/turf/simulated/floor/plasteel{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/awaymission/gateroom)
-"kN" = (/obj/structure/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)"; icon_state = "comfychair_brown"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock)
+"kJ" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
+"kK" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
+"kL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaymission/southblock)
+"kM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaymission/southblock)
+"kN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"kO" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
"kP" = (/obj/structure/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
"kQ" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
"kR" = (/turf/simulated/floor/plasteel{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock)
"kS" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock)
"kT" = (/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock)
-"kU" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaymission/gateroom)
+"kU" = (/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"kV" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"kW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
-"kX" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/awaymission/gateroom)
+"kX" = (/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"kY" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"kZ" = (/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"la" = (/obj/structure/bed,/obj/structure/window/reinforced/tinted,/obj/item/bedsheet/medical,/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock)
-"lb" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/gateroom)
-"lc" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/gateroom)
"ld" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/awaymission/southblock)
"le" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"lf" = (/obj/structure/table,/obj/item/book/manual/hydroponics_pod_people,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
@@ -574,8 +578,6 @@
"lh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock)
"li" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"lj" = (/obj/structure/bed,/obj/structure/window/reinforced/tinted,/obj/item/bedsheet/medical,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock)
-"lk" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/awaymission/gateroom)
-"ll" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/gateroom)
"lm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/southblock)
"ln" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/southblock)
"lo" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/southblock)
@@ -602,9 +604,6 @@
"lL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"lM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"lN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
-"lO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/southblock)
-"lP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/southblock)
-"lQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaymission/southblock)
"lR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"lS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"lT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
@@ -614,8 +613,6 @@
"lX" = (/obj/structure/bed/roller,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
"lY" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock)
"lZ" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/southblock)
-"mb" = (/turf/simulated/floor/plasteel{icon_state = "warning"},/area/awaymission/southblock)
-"mc" = (/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/awaymission/southblock)
"md" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
"me" = (/obj/machinery/power/apc/noalarm{dir = 4; name = "Gateroom APC"; pixel_x = 28; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel,/area/awaymission/gateroom)
@@ -637,51 +634,51 @@ aaaaaaaaaaaaaaaaafafagaeagagafafagagagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagag
aaaaaaaaaaaaaaaaafadahafadagahadafafadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadagadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaajajajajajajajajajajajajajajajaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaagakaaaaaaaaaaakajalamanaoapaqarapasatauauauajakaaaaaaaaaaakagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaafakakaaaaaaakakajavawaxayafazaAanaBaqaBaFaBajakakaaaaaaakakagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaCaDafafagagagagagagaEafanaqaFafaGapaBaqafaqaFaBaEagagagagagagagagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaDaaaaaaaIaJaKaaaaaaaaaaakakajaqaqamaqaqaFaHaBaLaFaBaMaNajakakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aCaCaDaaaaaaaaaCaDaaaaaOaPaQaDaaaaaaaaaaakafafafaqaRaSbcbcaTaUaBamaVaWajakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aCaXaYaDaaaaaaaCaCaCaCaCaCaCaCaCaCaZaabaaaafajajajajajbbbvajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-bdbebfaYaDaaaaaCeheheierepexeJeKeJaCaCaaaqajaFbcaqaHaHapbcajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-bobpbqbraCaCaCaCeKeKeKeKeKeKeKeKeJaCaCaKaKaCaCbsaHbcbcaHapajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-bobpbqbfbteKeKeKeKeKeKeKeKeKeKeKeKeLeKeKeKeKeKeLbwbFbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-bobpbqbyaCaCaCaCeKeKeWffeXfhfgeKeJaCaCaCaCaCaKbEbYgqbHgDbJbKbLbHbMbJbNbHbObPbKbQbRbSbSbTbxakakaaaaaaaaaaaaaaaabxbxbxbxbxaaaaaaaa
-bUbVbfbWbEaaaaaCfifieKffeXeKfgeKeJaCaCbEafajbcbcbFbZcagEbJbJcdcacbbJcdcecbbJbJcfcgbSbSbSbxakakakakakakakbxbxbxbxchchchbxbxbxaaaa
-aCbfbWbEaaaaaaaCaCaCaCaCaCaCaCaCaCaCbEafciajbcbcbxcjgFclcmbJcncocpcqcrcocpbJcsctcucvcwcxbxakakaaaaaaaacyczcAcAcAcAcBcAcAcAbxbxaa
-aCaCbEaaaaaaaaaCbEaaaacCaPcDafafafafafaqbcajbccEbxbJbJcFbJbJbJcGhhbJbJcGcmcIbJcJbJbJbJbJbxakaaaaaaaacycKcAcLcAcBcMcNcOcBcAcPbxaa
-aaaaaaaaaaaaaabEaaaaaaaKaJafafafafafcQafcRajbcbcbxbxbxbxbxcScTcUbJbJbJbJcTbJbJbJbJbJbJbJbxbxbxbxbxcVbxbxcWcAcXcYcYcYcYcYcZcAbxbx
-aaaaaaaaaaaaaaaaaaaaaaaCafafaeaqafaeaqaqaqdaaHbcbxdbdcddbxdedfdgdgdgdgdgdgdgdfdgdgdgdghibxdibIbxbxdkcAdlcAcAcMcYcYcYdmcYcOcAdnbx
-aaaaaaaaaaaaafafafafafafajajajaqdoaqanandpajaHdqdrdsdsdsdtdubJbJbJbJbJbJcIbJbJbJbJbJbJbJdvcAcAdvcAcAcAdlcAcXcNcYcYcYcYcYcNcZdnbx
-aaaaaaaaaaaaafafafafbgbibhbjajafajajajajajajaHdAbxdBdCddbxdDdEdFdGdFdFdFdFdFdGdHdFdFdFbGbxcAbIbxbxcAdJdlcAcAdKcYcYcYcYcYdLcAdnbx
-aaaaaaaaaaaaajafbkafdNanblbmafbnafdRdSdTamajbcdUbxbxbxbxbxcSdVbJbJbJdWdXdYdZbJbJeaeaeaeabxbxbxbxbxcVbxbxcWcAcXcYcYcYcYcYcZcAbxbx
-aaaaaaaaaaaaebbzbuanaeaeanbAafbCbBbDbDbDbXajejdUbxdFdFdFekbJdVbJbJbJbJbJbJdZbJbJeaelbJembxakaaaaaaaacycKcAcAcAendKcNdLencAcPbxaa
-aaaaaaaaaaaaeodweqanaeanandxesetdyetevetdzeseyewbxeAeBeCeDbJdVbJbJbJbJbJbJdZbJbJeaeEeFeGbxakakaaaaaaaacyeHcAcAcAcAencAcAcAbxbxaa
-aaaaaaaaaaaaeIdMafanafanandOajdPbAbgbgbgbuajbcdAbxeCeCeCeDbJdVeNbJeOePePeQeRbJbJeSeTbJeUbxakakakakakakakbxbxbxbxeVeVeVbxbxbxaaaa
-aaaaaaaaaaaaajajdQbXecanecbmajbnezapeMeZapajbcfbbxeAeBeCeDbJdVfcbJbJfdbJfedZbJbJeaeaeaeabxakakaaaaaaaaaaaaaaaabxbxbxbxbxaaaaaaaa
-aaaaaaaaaaaaafajajeeedefbDegajajajfjajajajajaBfbbxeCeCeCeDbJdVfkbJbJbJbJfldZbJfmbJbJbJfnbxakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaajajajajajajajfofpfpajfqfqeYfafrbxeAeBeCeDbJdVfufvfwfxfyfzdZbJccbJbJbJfBbxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaafakakaaaaaaakakajavawaxayafazaAanagaqagaFagajakakaaaaaaakakagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaCaDafafagagagagagagaEafanaqaFafaGapagaqafaqaFagaEagagagagagagagagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaDaaaaaaaIaJaKaaaaaaaaaaakakajaqaqamaqaqaFaFagaLaFagaMaNajakakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aCaCaDaaaaaaaaaCaDaaaaaOaPaQaDaaaaaaaaaaakafafafaqaRaSaqaqaTaUagamaVaBajakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aCaXaYaDaaaaaaaCaCaCaCaCaCaCaCaCaCaZaabaaaafajajajajajbbaHajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bdbebfaYaDaaaaaCeheheierepexeJeKeJaCaCaaaqajaFbcaqaFaFapaqajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bobpbqbraCaCaCaCeKeKeKeKeKeKeKeKeJaCaCaKaKaCaCbsaFaqaqaFapajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bobpbqbfbteKeKeKeKeKeKeKeKeKeKeKeKeLeKeKeKeKeKeLbwaWbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bobpbqbyaCaCaCaCeKeKeWffeXfhfgeKeJaCaCaCaCaCaKbEbwbvbFbHbJbKbLbFbMbJbNbFbObPbKbQbRbSbSbTbxakakaaaaaaaaaaaaaaaabxbxbxbxbxaaaaaaaa
+bUbVbfbWbEaaaaaCfifieKffeXeKfgeKeJaCaCbEafajaqaqaWbYcabZbJbJcbcacdbJcbcecdbJbJcfcgbSbSbSbxakakakakakakakbxbxbxbxchchchbxbxbxaaaa
+aCbfbWbEaaaaaaaCaCaCaCaCaCaCaCaCaCaCbEafciajaqaqbxcjclcncmbJcocpcrcqcEcpcrbJcsctcucvcwcxbxakakaaaaaaaacyczcAcAcAcAcBcAcAcAbxbxaa
+aCaCbEaaaaaaaaaCbEaaaacCaPcDafafafafafaqaqajaqcRbxbJbJcFbJbJbJcGhhbJbJcGcmcIbJcJbJbJbJbJbxakaaaaaaaacycKcAcLcAcBcMcNcOcBcAcPbxaa
+aaaaaaaaaaaaaabEaaaaaaaKaJafafafafafcQafdcajaqaqbxbxbxbxbxcScTcUbJbJbJbJcTbJbJbJbJbJbJbJbxbxbxbxbxcVbxbxcWcAcXcYcYcYcYcYcZcAbxbx
+aaaaaaaaaaaaaaaaaaaaaaaCafafaeaqafaeaqaqaqdaaFaqbxdbdddqbxdedfdgdgdgdgdgdgdgdfdgdgdgdghibxdibIbxbxdkcAdlcAcAcMcYcYcYdmcYcOcAdnbx
+aaaaaaaaaaaaafafafafafafajajajaqdoaqanandpajaFdsdrdAdAdAdtdubJbJbJbJbJbJcIbJbJbJbJbJbJbJdvcAcAdvcAcAcAdlcAcXcNcYcYcYcYcYcNcZdnbx
+aaaaaaaaaaaaafafafafbgbibhbjajafajajajajajajaFdCbxdBdUdqbxdDdEdFdGdFdFdFdFdFdGdHdFdFdFbGbxcAbIbxbxcAdJdlcAcAdKcYcYcYcYcYdLcAdnbx
+aaaaaaaaaaaaajafbkafdNanblbmafbnafdRdSdTamajaqejbxbxbxbxbxcSdVbJbJbJdWdXdYdZbJbJeaeaeaeabxbxbxbxbxcVbxbxcWcAcXcYcYcYcYcYcZcAbxbx
+aaaaaaaaaaaaebbzbuanaeaeanbAafbCbBbDbDbDbXajeyejbxdFdFdFekbJdVbJbJbJbJbJbJdZbJbJeaelbJembxakaaaaaaaacycKcAcAcAendKcNdLencAcPbxaa
+aaaaaaaaaaaaeodweqanaeanandxesetdyetevetdzesfbewbxeAeBeCeDbJdVbJbJbJbJbJbJdZbJbJeaeEeFeGbxakakaaaaaaaacyeHcAcAcAcAencAcAcAbxbxaa
+aaaaaaaaaaaaeIdMafanafanandOajdPbAbgbgbgbuajaqdCbxeCeCeCeDbJdVeNbJeOePePeQeRbJbJeSeTbJeUbxakakakakakakakbxbxbxbxeVeVeVbxbxbxaaaa
+aaaaaaaaaaaaajajdQbXecanecbmajbnezapeMeZapajaqfrbxeAeBeCeDbJdVfcbJbJfdbJfedZbJbJeaeaeaeabxakakaaaaaaaaaaaaaaaabxbxbxbxbxaaaaaaaa
+aaaaaaaaaaaaafajajeeedefbDegajajajfjajajajajagfrbxeCeCeCeDbJdVfkbJbJbJbJfldZbJfmbJbJbJfnbxakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaajajajajajajajfofpfpajfqfqeYfaggbxeAeBeCeDbJdVfufvfwfxfyfzdZbJccbJbJbJfBbxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaajfpfpckajfEfsftftfFbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxfIfIfIfIfIfIfIfJfKaaaaaaaaaaaaaaaaaaaa
aafLfMfNfOfPfMfQaaaaaaaaaaaaajfRfpfSajfqfTfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfIfVfWfVfXfVfXfWfXfYfKaaaaaaaaaaaaaaaaaa
-aafZgagbgcgbgafZaaaaaaaaaaaaajgdgecHajfqggfUghgigjgigkfUglgmgnfUgogpgigrgsgigigtgifUfqfqfIfVfXfVfXfVfXgufXfXgvaaaaaaaaaaaaaaaaaa
+aafZgagbgcgbgafZaaaaaaaaaaaaajgdgecHajfqgqfUghgigjgigkfUglgmgnfUgogpgigrgsgigigtgifUfqfqfIfVfXfVfXfVfXgufXfXgvaaaaaaaaaaaaaaaaaa
aagwgxgbgbgbgxgygzgzgzgzgzgzgzgzgzgzgzfqfTfUgAgigBgigCfUgigigCfUdhdIdjgGgHgigIgrgJfUfqfqgKgLgLgMgLgLgLgNgOgPgvaaaaaaaaaaaaaaaaaa
-aagQgbgbgbgbgbgRgSgTgUgzgVgWgXgYgZhagzhbfTfUhchchdhehffUhgfUfUfUgigrgrgrhjgigigihkfUfqfqgKgLgLgLgLgLgLfXhlhmgvaaaaaaaaaaaaaaaaaa
-aahngcgcgbgcgchohphqhrhshthuhueuhwhxgzhyhzfUgAgihdgigCfUgihAhBhCgigrgsgihDgigIgrgJfUfEfqfIfVfXfVfXfVfXgufXfXgvaaaaaaaaaaaaaaaaaa
+aagQgbgbgbgbgbgRgSgDgEgzgVgWgXgYgZhagzgFfTfUhchchdhehffUhgfUfUfUgigrgrgrhjgigigihkfUfqfqgKgLgLgLgLgLgLfXhlhmgvaaaaaaaaaaaaaaaaaa
+aahngcgcgbgcgchohphqgThshthuhueuhwhxgzhyhzfUgAgihdgigCfUgihAhBhCgigrgsgihDgigIgrgJfUfEfqfIfVfXfVfXfVfXgufXfXgvaaaaaaaaaaaaaaaaaa
aafZgbgbgbgbgbfZhEhuhqgzhFhuhGhHhIhJgzeYfTfUhKgigBgihLfUhMgigihNgigrgsgihOhPhQgifAfUfqfqfIfVhSfVfXfVfXhSfXhThUaaaaaaaaaaaaaaaaaa
aafZgcgcgbgcgcfZhVhWhugzhXhYhYhZhZiaibicfGfUgigihdgigifUiegigigigigrifigfCigiiijikfUfqfqfIfIfIfIfIfIfIfIfJhUaaaaaaaaaaaaaaaaaaaa
aafZgbgbgbgbgbfZhVilimgzinioioioioipgzfqfTfUiqhKhdhLhLfUirisitiugiiviwfDiygfiAiBgifUfqfqfUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aagwgcgcgbgcgcgwiCiDhugzgziEiFiGgziHgzfqfTfUfUfUhgfUfUfUfUfUfUfUfUfUfUfUiIiJfUfUfUfUfqfqfUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aagQgbgbgbgbgbiKiLhqiMgziNiOiOiOfHidgziRiSiTiTiUiViTiTiTiTiTiWiTiTiTiTiTiSiTiTiTiTiTiTiXiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aahngcgcgbgcgchniZhuilgzjajbjbjcihjeixizjhjijijijjjkjijijijijijijijijijljmiTjniTiTiTiTiTiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aahngcgcgbgcgchniZhuilgzjajbjbjcihjegUizjhjijijijjjkjijijijijijijijijijljmiTjniTiTiTiTiTiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aafZgbgbgbgbgbfZhEiDilgzgzgzgzgzgzjogzgzgzjpjpiYiYjqiYiYiYiYjriYiYiYjsjtjujujujujujujujsiYiYiYjvjwjxaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aafZgcgcgbgcgcfZhVhuhqjyjzjAiljBhujChuhuhuhuhuiYjDjEjFiYjGjHjHjIjJiYjKjEjujLjMjNjOjPjujQjQjRjRjSjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aafZgbgbgbgbgbfZjUjViDhqhWhujWjyhujXhuhuhuhuhuiYjYjZkaiYkbkckdkekfiYjKkgjujLkhkikjjPjujQjQjQjQjQkkjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aafZklklklklklfZgzkmknkokmkngzgzgzgzgzjpgzgzgziYiYiYiYiYiYiYkpiYjriYjKjEjukqkrksktkujukvjQkwjQjQjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aagakxkykykykzgaaafLkAgRkBfQaagzkDkEkFhukGjzhuiYkfjHkfiYkHjHjHkIkfiYjKjEjukJkKkLkKkMjujQkkjQkNjQjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaafZkOkPkQfZaagzhuhujzhuhujzhuiYkRjKkSiYkRjKjKjKkTiYjKjEjukUkVkWkVkXjujQjQjSjQjQkkjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaafZkOgbkQfZaagzhujzhujzhuhuhuiYkfkdkfkpkRjKkYkZlaiYjKjEjulbkVkWkVlcjukkjQjQldkwjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaafZkOgckQfZaagzlehulfhulghuhuiYiYiYiYiYlhjKlijKljiYjKjEjulkkVkWkVlljujujujujulmlnloaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aafZgcgcgbgcgcfZhVhuhqjyjzjAiljBhujChuhuhuhuhuiYjDjEjFiYjGjHjHjIjJiYjKjEjuhbjMjNjOhrjujQjQjRjRjSjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aafZgbgbgbgbgbfZjUjViDhqhWhujWjyhujXhuhuhuhuhuiYjYjZkaiYkbkckdkekfiYjKkgjuhbkhkikjhrjujQjQjQjQjQixjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aafZklklklklklfZgzkmknkokmkngzgzgzgzgzjpgzgzgziYiYiYiYiYiYiYkpiYjriYjKjEjuiPkrksktiQjukvjQkwjQjQjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aagajdjfjfjfjggaaafLkAgRkBfQaagzkDkEkFhukGjzhuiYkfjHkfiYkHjHjHkIkfiYjKjEjujLjPkkjPkqjujQixjQkujQjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaafZkOkPkQfZaagzhuhujzhuhujzhuiYkRjKkSiYkRjKjKjKkTiYjKjEjukxkVkWkVkyjujQjQjSjQjQixjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaafZkOgbkQfZaagzhujzhujzhuhuhuiYkfkdkfkpkRjKkYkZlaiYjKjEjukzkVkWkVkCjujSjQjQldkwjQjTaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaafZkOgckQfZaagzlehulfhulghuhuiYiYiYiYiYlhjKlijKljiYjKjEjukJkVkWkVkKjujujujujulmlnloaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaahvlqlrlqhRaagzlthuluhulvjzhuiYlwlxlyiYkRjKlijKlziYjKlAjujujulBjujujulClDlEjuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaagzltlFlGlHhuhuhuiYlIkfkfkpkRjKlJjKlKiYlLlMlNlOlOlPlOlQlRlSlTlUjuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaagzgzgzgzgzgzgzgziYlVlWlXiYkfkdlYlZkfiYjKjKjKmbmbmbmbmcjulCmdmejuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaagzltlFlGlHhuhuhuiYlIkfkfkpkRjKlJjKlKiYlLlMlNkLkLkMkLkNlRlSlTlUjuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaagzgzgzgzgzgzgzgziYlVlWlXiYkfkdlYlZkfiYjKjKjKkUkUkUkUkXjulCmdmejuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYjujujujujuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
\ No newline at end of file
+"}
diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
index 5ccc7db7a4c..9d94eae452d 100644
--- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
@@ -7,22 +7,22 @@
"ag" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ah" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ai" = (/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aj" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aj" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ak" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"al" = (/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"al" = (/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"am" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"an" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"an" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ao" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel{icon_state = "darkblue"; tag = "icon-darkblue"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ap" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ar" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ar" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"as" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "darkblue"; tag = "icon-darkblue"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"at" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"au" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue (SOUTHEAST)"; icon_state = "darkblue"; dir = 6},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"av" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aw" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ax" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ay" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ay" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"az" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aA" = (/turf/simulated/shuttle/wall{tag = "icon-swallc4"; icon_state = "swallc4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aB" = (/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -34,7 +34,7 @@
"aH" = (/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aI" = (/obj/structure/sign/poster/official/nanotrasen_logo{pixel_y = 32},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aJ" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aK" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aK" = (/obj/item/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aL" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/poster/official/safety_internals{pixel_x = -32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aN" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -166,7 +166,7 @@
"dj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"dk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"dl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dm" = (/obj/machinery/r_n_d/destructive_analyzer,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"dn" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"do" = (/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"dp" = (/obj/item/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "greencorner"; tag = "icon-greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -304,7 +304,7 @@
"fR" = (/obj/machinery/light/small,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fS" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fT" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fU" = (/obj/item/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fU" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"fV" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fW" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/camera{c_tag = "Central Hallway"; dir = 1; network = list("UO45")},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fX" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -390,11 +390,11 @@
"hz" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/poster/official/safety_internals{pixel_y = 32},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hA" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"hB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/obj/item/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hC" = (/obj/machinery/r_n_d/destructive_analyzer,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hD" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hC" = (/obj/machinery/r_n_d/protolathe,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hD" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/stock_parts/scanning_module,/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"hF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hG" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hG" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"hH" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"hI" = (/obj/structure/table/glass,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/micro_laser,/obj/item/stock_parts/micro_laser,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"hJ" = (/obj/structure/table,/obj/item/trash/chips,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -439,11 +439,11 @@
"iw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/window{dir = 2; name = "Gateway Chamber"; req_access_txt = "201"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"ix" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iy" = (/obj/machinery/door/airlock{name = "Emergency Supplies"},/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/stock_parts/scanning_module,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iB" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iB" = (/obj/structure/table,/obj/item/storage/firstaid/regular,/obj/structure/sign/biohazard{pixel_x = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/table,/obj/item/paper/pamphlet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"iF" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"iG" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -455,11 +455,11 @@
"iM" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/reagent_containers/food/condiment/milk,/obj/item/reagent_containers/food/condiment/milk,/obj/item/reagent_containers/food/condiment/milk,/obj/item/storage/fancy/egg_box,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"iN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"iO" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"iP" = (/obj/structure/table,/obj/item/storage/firstaid/regular,/obj/structure/sign/biohazard{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iP" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/camera{c_tag = "Gateway Chamber"; dir = 4; network = list("UO45","UO45R")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iQ" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iS" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/table,/obj/item/paper/pamphlet,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iT" = (/obj/structure/closet/l3closet/scientist,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iV" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
@@ -474,7 +474,7 @@
"jf" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"jg" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "201"},/obj/item/reagent_containers/food/condiment/flour,/obj/item/reagent_containers/food/condiment/flour,/obj/item/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"jh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ji" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/camera{c_tag = "Gateway Chamber"; dir = 4; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ji" = (/obj/structure/closet/l3closet/scientist,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jl" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
@@ -498,10 +498,10 @@
"jD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"jE" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall/r_wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"jG" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jH" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jG" = (/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"jH" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"jI" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jJ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jJ" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jL" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jM" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -530,8 +530,8 @@
"kj" = (/obj/item/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"kk" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"kl" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"km" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kn" = (/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"km" = (/obj/structure/dispenser/oxygen,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"ko" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"kp" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"kq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -544,10 +544,10 @@
"kx" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/dirt,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/multitool,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ky" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"kz" = (/obj/structure/table,/obj/item/storage/belt/utility,/obj/item/clothing/head/welding,/obj/structure/sign/biohazard{pixel_x = 0; pixel_y = 32},/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kA" = (/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kB" = (/obj/structure/dispenser/oxygen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 4},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kB" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_biohazard"; name = "biohazard containment door"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kC" = (/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"kE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 8},/obj/structure/sign/securearea{pixel_x = -32},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"kF" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"kG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
@@ -569,7 +569,7 @@
"kW" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"kX" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"kY" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurple"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_biohazard"; name = "biohazard containment door"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"la" = (/obj/machinery/shower{pixel_y = 15},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"lb" = (/obj/structure/sink{pixel_y = 25},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warnwhite"},/area/space)
"lc" = (/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
@@ -614,7 +614,7 @@
"lP" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"lQ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"lR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"; tag = "icon-purple (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lS" = (/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lS" = (/obj/structure/chair{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"lT" = (/obj/structure/chair{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"lU" = (/obj/structure/table,/obj/item/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"lV" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -628,8 +628,8 @@
"md" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"me" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"mf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mg" = (/obj/structure/table,/obj/item/newspaper,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mh" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mi" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/command{name = "Research Director's Office"; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"mj" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_rdprivacy"; name = "privacy shutters"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"mk" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_rdprivacy"; name = "privacy shutters"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
@@ -638,8 +638,8 @@
"mn" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"mo" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"mp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "purplecorner"; tag = "icon-purplecorner (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mq" = (/obj/structure/table,/obj/item/newspaper,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mr" = (/obj/structure/chair{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"ms" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mt" = (/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mu" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -647,7 +647,7 @@
"mw" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/red,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mx" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"my" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mz" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"mB" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"mC" = (/obj/structure/table,/obj/item/hand_labeler,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
@@ -680,7 +680,7 @@
"nd" = (/obj/structure/table/wood,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"ne" = (/obj/structure/chair/comfy/black{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"nf" = (/obj/structure/chair/comfy/black{tag = "icon-comfychair (WEST)"; icon_state = "comfychair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ng" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ng" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10; initialize_directions = 10},/obj/machinery/portable_atmospherics/scrubber,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"nh" = (/obj/structure/table,/obj/item/cartridge/signal/toxins,/obj/item/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"ni" = (/obj/machinery/door/poddoor{id_tag = "UO45_Secure Storage"; name = "secure storage"},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"nj" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -738,7 +738,7 @@
"oj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"ok" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"ol" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"om" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"om" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"on" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"oo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 2; icon_state = "pipe-y"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"op" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/public/glass{name = "Dormitories"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -765,7 +765,7 @@
"oK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"oL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"oM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"oO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"oP" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"oQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 6; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -787,12 +787,12 @@
"pg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"ph" = (/obj/structure/filingcabinet,/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pi" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/restraints/handcuffs,/obj/item/flash,/obj/item/reagent_containers/spray/pepper,/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pj" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"pj" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/landmark/burnturf,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"pk" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pl" = (/obj/item/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pm" = (/obj/machinery/light/small{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pn" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"po" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"po" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"pp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm4"; name = "Dorm 4"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm6"; name = "Dorm 6"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -866,9 +866,9 @@
"qH" = (/obj/structure/closet/secure_closet{icon_broken = "secureengbroken"; icon_closed = "secureeng"; icon_locked = "secureeng1"; icon_off = "secureengoff"; icon_opened = "secureengopen"; icon_state = "secureeng1"; locked = 1; name = "engineer's locker"; req_access_txt = "201"},/obj/structure/window/reinforced{dir = 8},/obj/item/storage/backpack/satchel_eng,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qI" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "UO45_air_in"; name = "Mixed Air Supply Control"; output_tag = "UO45_air_out"; pressure_setting = 2000; sensors = list("UO45_air_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 9; icon_state = "arrival"; tag = "icon-arrival (NORTHWEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qJ" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Atmospherics"; dir = 2; network = list("UO45")},/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/obj/item/multitool,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qK" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10; initialize_directions = 10},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qK" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qL" = (/obj/machinery/atmospherics/trinary/mixer{dir = 1; node1_concentration = 0.8; node2_concentration = 0.2; on = 1; pixel_x = 0; pixel_y = 0; req_access = null; target_pressure = 4500},/turf/simulated/floor/plasteel{dir = 5; icon_state = "arrival"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qM" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qM" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qN" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qO" = (/obj/machinery/door/airlock/command/glass{name = "Server Room"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
@@ -884,8 +884,8 @@
"qZ" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/item/pen,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"ra" = (/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"rb" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rd" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rc" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/portable_atmospherics/scrubber,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rd" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste In"; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"re" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"rf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"rg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -895,15 +895,15 @@
"rk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/table,/obj/item/storage/box,/obj/item/storage/box,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 5; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rl" = (/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rm" = (/obj/machinery/light/small{dir = 1},/obj/structure/table,/obj/item/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/machinery/newscaster{pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rn" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ro" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rn" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Unfiltered to Mix"; on = 1},/obj/structure/sign/nosmoking_2{pixel_x = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ro" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 8; locked = 1; name = "UO45 Engineering APC"; pixel_x = -25; pixel_y = 0; req_access = list(201); start_charge = 100},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rr" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Air to Distro"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6; level = 2},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rt" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ru" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rv" = (/obj/machinery/light,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5; initialize_directions = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rw" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix to Exterior"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"ry" = (/obj/structure/table,/obj/item/folder/white,/obj/item/pen,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
@@ -937,7 +937,7 @@
"sa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sc" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sd" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sd" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"se" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_EngineeringOffice"; name = "Privacy Shutters"},/obj/machinery/door/window/southleft{base_state = "left"; dir = 4; icon_state = "left"; name = "Engineering Reception"; req_access_txt = "201"},/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sf" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "green"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -976,7 +976,7 @@
"sN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/structure/table,/obj/item/book/manual/security_space_law,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sQ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste In"; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sQ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sR" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_EngineeringOffice"; name = "Privacy Shutters"},/obj/machinery/door/window/southleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Engineering Reception"; req_access_txt = "201"},/obj/item/folder/red,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sS" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_waste_in"; name = "Gas Mix Tank Control"; output_tag = "UO45_waste_out"; sensors = list("UO45_waste_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; icon_state = "green"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"sT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1012,7 +1012,7 @@
"tx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ty" = (/obj/machinery/computer/security{network = list("UO45")},/obj/machinery/door_control{desc = "A remote control-switch for the security privacy shutters."; id = "UO45_EngineeringOffice"; name = "Privacy Shutters"; pixel_x = -24; pixel_y = 6; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/item/screwdriver{pixel_y = 10},/obj/item/radio/off,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tA" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Unfiltered to Mix"; on = 1},/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tA" = (/obj/structure/closet/firecloset,/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tD" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1045,29 +1045,29 @@
"ue" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uf" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Engineering Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ug" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uh" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uh" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; initialize_directions = 11},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"ui" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 2; on = 1; req_access = null},/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uj" = (/obj/machinery/light,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5; initialize_directions = 5},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uj" = (/obj/structure/table/reinforced,/obj/item/wrench,/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"uk" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Air to External"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ul" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "External to Filter"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"um" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"um" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"un" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_n2_in"; name = "Nitrogen Supply Control"; output_tag = "UO45_n2_out"; sensors = list("UO45_n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uo" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_o2_in"; name = "Oxygen Supply Control"; output_tag = "UO45_o2_out"; sensors = list("UO45_o2_sensor" = "Tank")},/turf/simulated/floor/plasteel{dir = 6; icon_state = "blue"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"up" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 1; on = 1; req_access = null},/turf/simulated/floor/plasteel{dir = 10; icon_state = "blue"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uq" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ur" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; initialize_directions = 11},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"us" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating{dir = 9; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ut" = (/obj/structure/table/reinforced,/obj/item/wrench,/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uq" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ur" = (/obj/machinery/atmospherics/binary/valve{dir = 2},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"us" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ut" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"uv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("UO45_n2_sensor" = "Nitrogen", "UO45_o2_sensor" = "Oxygen", "UO45_waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor/plasteel{dir = 9; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uw" = (/turf/simulated/mineral/random/labormineral,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"ux" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"uy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uz" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"uB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uC" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 8; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uD" = (/obj/machinery/atmospherics/binary/valve{dir = 2},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uC" = (/obj/machinery/door/firedoor,/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uD" = (/obj/machinery/portable_atmospherics/scrubber,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"uE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uF" = (/turf/simulated/wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uG" = (/obj/machinery/door/airlock/security/glass{name = "Security Office"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1076,28 +1076,30 @@
"uJ" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uK" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uL" = (/obj/machinery/atmospherics/binary/valve{dir = 2},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"uN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 6},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"uO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"uM" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uN" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uQ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"uS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; icon_state = "browncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"uT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("UO45_mair_in_meter" = "Mixed Air In", "UO45_air_sensor" = "Mixed Air Supply Tank", "UO45_mair_out_meter" = "Mixed Air Out", "UO45_dloop_atm_meter" = "Distribution Loop", "UO45_wloop_atm_meter" = "Waste Loop")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uU" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/noticeboard{dir = 1; pixel_y = -27},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/obj/structure/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uY" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uZ" = (/obj/machinery/door/firedoor,/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/vending/engivend{req_access_txt = "0"},/obj/machinery/camera{c_tag = "Engineering Foyer"; dir = 1; network = list("UO45")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"va" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vb" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vc" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"vd" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{dir = 10; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"vb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/vending/tool,/obj/structure/sign/poster/official/build{pixel_y = -32},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vc" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vd" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ve" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1; frequency = 1441; id = "UO45_n2_in"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 10000; oxygen = 0},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; id_tag = "UO45_n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 10000; oxygen = 0},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vg" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1; frequency = 1441; id = "UO45_o2_in"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 10000},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; id_tag = "UO45_o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 10000},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vi" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{dir = 6; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"vi" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/burnturf,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 6; icon_state = "brown"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"vl" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"vm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -1107,13 +1109,13 @@
"vq" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"vr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/atmos_alert,/turf/simulated/floor/plasteel{dir = 8; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vt" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vy" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/noticeboard{dir = 1; pixel_y = -27},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vy" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/engineering{name = "Engineering"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{dir = 10; icon_state = "caution"; tag = "icon-caution (SOUTHWEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1130,22 +1132,23 @@
"vN" = (/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vO" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/mining/glass{name = "Mining Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vP" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/mining/glass{name = "Mining Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"vQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/vending/engivend{req_access_txt = "0"},/obj/machinery/camera{c_tag = "Engineering Foyer"; dir = 1; network = list("UO45")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/closet/secure_closet/miner{req_access = list(201)},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/vending/tool,/obj/structure/sign/poster/official/build{pixel_y = -32},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vU" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vW" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vX" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vW" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"; input_dir = 4; output_dir = 8},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vX" = (/obj/effect/decal/warning_stripes/arrow{dir = 8},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vZ" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wa" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wa" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wb" = (/obj/machinery/suit_storage_unit/mining,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wc" = (/obj/machinery/light/small{dir = 1},/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wd" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"we" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wg" = (/obj/machinery/mineral/processing_unit{dir = 1; output_dir = 2},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/door/airlock/command/glass{name = "Chief Engineer"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1166,8 +1169,8 @@
"wy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wA" = (/obj/structure/toilet{pixel_y = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wB" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Mining"; dir = 4; network = list("UO45")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wE" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wF" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1176,7 +1179,7 @@
"wI" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wK" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/light/small,/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wL" = (/obj/machinery/light/small{dir = 4},/obj/structure/table,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wM" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/stamp/ce,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wN" = (/obj/structure/chair/wood/normal,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm9"; name = "Mining Dorm 2"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
@@ -1186,7 +1189,7 @@
"wS" = (/obj/structure/table/reinforced,/obj/item/folder/yellow,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wU" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Mining APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/closet/secure_closet/engineering_personal{icon_broken = "miningsecbroken"; icon_closed = "miningsec"; icon_locked = "miningsec1"; icon_off = "miningsecoff"; icon_opened = "miningsecopen"; icon_state = "miningsec"; locked = 0; name = "miner's equipment"; req_access = list(201)},/obj/item/storage/backpack/satchel_eng,/obj/item/clothing/gloves/fingerless,/turf/simulated/floor/plasteel{dir = 2; icon_state = "browncorner"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/closet/secure_closet/miner{req_access = list(201)},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wV" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wW" = (/obj/machinery/light/small,/obj/structure/bed,/obj/item/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
@@ -1201,50 +1204,41 @@
"xh" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xi" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xj" = (/obj/machinery/light/small,/obj/machinery/computer/atmos_alert,/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -24; req_access_txt = "201"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "UO45_Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 6; pixel_y = -24; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xk" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xl" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "loadingarea"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xm" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"; input_dir = 4; output_dir = 8},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xo" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xp" = (/obj/machinery/suit_storage_unit/mining,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xk" = (/obj/structure/dispenser/oxygen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 26},/obj/item/stack/sheet/glass{amount = 19},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xm" = (/obj/machinery/mineral/stacking_machine{dir = 1; input_dir = 8; output_dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xn" = (/obj/effect/decal/warning_stripes/arrow{dir = 4},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 6},/obj/effect/landmark/burnturf,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xr" = (/obj/machinery/mineral/processing_unit{dir = 1; output_dir = 2},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xs" = (/obj/machinery/conveyor_switch/oneway{id = "UO45_mining"; name = "mining conveyor"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xt" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Mining"; dir = 4; network = list("UO45")},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xv" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/structure/closet/emcloset,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xw" = (/obj/structure/table,/obj/item/pickaxe,/obj/item/radio/off,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xy" = (/obj/machinery/mineral/processing_unit_console{machinedir = 8},/turf/simulated/wall/rust,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xz" = (/obj/machinery/light/small{dir = 4},/obj/structure/table,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xB" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xB" = (/obj/structure/ore_box,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xC" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xD" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xD" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xE" = (/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 26},/obj/item/stack/sheet/glass{amount = 19},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xF" = (/obj/machinery/light/small{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/mining/glass{name = "Mining EVA"; req_access_txt = "201"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xL" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xN" = (/obj/machinery/mineral/stacking_unit_console{machinedir = 2},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xP" = (/obj/machinery/mineral/stacking_machine{dir = 1; input_dir = 8; output_dir = 4},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xR" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/mech_bay_recharge_floor,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xT" = (/obj/machinery/mech_bay_recharge_port{tag = "icon-recharge_port (WEST)"; icon_state = "recharge_port"; dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xX" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xY" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"ya" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yb" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yc" = (/obj/machinery/light/small{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"ye" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "201"},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"yf" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/structure/bed/nest,/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yg" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/mob_spawn/human/miner,/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -1295,13 +1289,13 @@ aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadadadadadadadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadaeafafafafagadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahaiaiajajahamacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahanapakaqahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahaiaiatatahamacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahajapakaqahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahalaoasauahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadavawayarazaAadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaCadamamayayadamadaBaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaEaDaGaFaHaHaHaIaKaJaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaLaDaHaHaHaMaMaHaHaNaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadavawanarazaAadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaCadamamananadamadaBaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaEaMaGaFaHaHaHaIaMaJaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaLaMaHaHaHaMaMaHaHaNaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaBaOaQaPaPaPaPaRaSaBaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaPaTaVaUaXaWaZaYaHaPacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaPaTbaaUbcbbbdaYaHaPacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
@@ -1313,10 +1307,10 @@ aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBataCbPbQbRbRbQbSbRbUbTbQbQbRbVbQbQbWacacacacachefofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCbZaxcacdcccfcbchcgcjcicgckceclcocmcpacacacacfofofofohefofohefoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaBaBaBcqcraCcsaBcqaCctaHaBcsaBcpaCcucqacacacfohefofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcvatcwcqcuaCcycxczaBaKaHaCcAcCcBaBcncqaBaCadamadamamaPaPamamamadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcEbZcGcDcnaBcJcIcKaBaDaHaBcLcIcMaCcucOcNcNcNcNcNcNcFcRcQcHcScVcUcWacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcvatcwcqcuaCcycxczaBaMaHaCcAcCcBaBcncqaBaCadamadamamaPaPamamamadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcEbZcGcDcnaBcJcIcKaBaMaHaBcLcIcMaCcucOcNcNcNcNcNcNcFcRcQcHcScVcUcWacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCcYcXcYcZcraCaBdaaBaCdbdbaBaBdcaBaCddcocPdfdfdfdgdfdgdgdhcccbccdicqacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcTcocbchdlbtaDdmaMaHaHaHdodnbMdpaBaBaCdqaBdrdtdsdvduaCcpaBaCaBcrcpacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcTcocbchdlbtaMayaMaHaHaHdodnbMdpaBaBaCdqaBdrdtdsdvduaCcpaBaCaBcrcpacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcradaddwamamdedxdzaHaHaHaHdAdCdBaPaPdEdDdGdFdIdHdIdJdLdKdNdMaBdjcpacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCcraddQdPdSdRaHaHdUdTdTdTdWdVdYdXeadZebbMecaMecaHecaHeceddBeeaBcncqadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCegefeiehejaPekaHemeleleleleneodBepaHaHeqecaHecaHecaHecerdBesaCcuetdkaPevacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
@@ -1325,54 +1319,54 @@ aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacameYeXeZaPfaaHfbelelelelaYeofcfefdfgfffffffgfhfjfiflfkfmaCaCcufnamamhffoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadfpfnamadbBaHfrfqfqfqfqfseoftadadadaPaPaPaPamamfufwfvfyfxfAdyfnfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBfCfBfEfDfFfFbUfGfFfFfFfHfJfIadacfofofofofohiamfLfMfNfOfPbrdOfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCfSfRfTaBfUaHaHbNfWfVaDfXfZfYamacfofofofofofofofLgagagbfPaxgcgdgefofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCfSfRfTaBaKaHaHbNfWfVaMfXfZfYamacfofofofofofofofLgagagbfPaxgcgdgefofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaCaBaBaCaCaBdbgfadadaPaPaPamamhefofohefofofofoghgigagagjbrgkdifnfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfPgmglfLfofofofofofofofofofofofofofoghgngagofPgqeugrfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofoacacacachefoacgsgugtgsfofofofofofofofofofofofoheacghfOgvfPfPfOfPgcfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacgwgwgwgwgxgwgwacacacacacacacacacacacacacacacacacacacgygygzgAacacfofohefofofofofofofofofogsgBgmgsfofofofofofofojMfofofofofoacfLgEgDgGgFgHfOgIdwfofoacacfofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacgxgKgJgJgJgJgwgLgMgLacacacacacacacacacacacacacgygygzgzgOgNgAgAfofofofofofofofofofofofofogsgugugsfofohefofoheghghgsgsgsgsghfLfLgPgPgPgPgQfOdOdwfofoacacfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacgxgKgSgUgTgKgVgXgWgLgMgLgMgMacacacacacacacacacgzgYhagZhbgYhchdjQfofofofofofofofofofofomJghhhhgfLpvfofofofoghghhkhjhmhlhohnhpfPhrhqhsgPhtfOgcfnfofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgwgJhuhwhvgJgVhyhxgMfzhBhAgwacfoheacacfofoacacgyhChEhDhGhFhIhHfofohefofofofofofofofofofogsgugmgsfofofofofogshJhLhKhNhMhPhOhOhQhShRhUhThWhVhYhXfofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgwgJhZibiagJgVidicgMieigifgwfofofofofohefofoacgAihijiihGikilhHfofofofofofofofofofofofofogsgugmgsfofohefofogsiminhKiohlhKhKipfOiqhsirgPisfPgIfnhffofofofofofoacfofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxiuitiwivitgVidixgLgLiygwgwfofohefofofofofofogAiziBiAiDiCiEhdfofofofofohefofofofofofofogsiFgBgsfofofofofogsiGhLhKioiHhKhKiJiIiLiKgPgPiMfOfQfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxiPgpiRiQiTiSiViUiWiXiYgwhefofofofofofofofohehdiZjahbgAhdhdgAfofofofofofofofofohefofofoghjbgBghhefofofofofLjchKiJhNhlhKhKjdfPjfjegPgDjgfPgcfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxjijhjkjjjmjljojnjqjpjrgxfofofofofofofofofofogAjsjtgYgAfofofofofofofohefofofoacacfofoheghjvjughghfofofofoghjwjxhKiJhljzjyjAfPfPjBjCjCjDjDgRjFfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgwjHjGiRjIjJgwgLgMgMjKjLgxfofofofopwfofofohegAgAjNjPjOgAfofofofopxfofofogAgAgAgAacacacacfLjRguhzghfLgsgsghghjTjUhLjVhNhNhKhKjWjYjXkajZkciNkdamfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxgwgxkegwgwgwkfkfgMkgkhgwgwgVgVgVgxgVgVgVgxgxkjkiklkkgAgAhHhHhHgAhHhHhHgAknkmgAgAgzgygzgzkogugukpgugmgugukqhKhKhKkriJhKksktktkvkufPiOkykxamadfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgLkziRkAgLkBkDkCiWkEkGkFkIkHkJkHkKkHkLkIkHkMkOkNkQkPkSkRkTkRkRkUkRkVkXkWkXkYkZgAlblalcgzleldldlflggugulhkqhKiJhKljlilililllklnlmfLadamamamfofofofoacacfofofofofoacacaclololololoacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgLlplrlqltlslulslwlvlylxlzlzlAlzlBlzlClzlElDlGlFlIlHlKlJlMlLlOlNlOlOlOlOhbkYkZlPhbhbhblPlRlQgmlSfPfOfPfPfOfOfPfPfPlTlUhLlVfPlXlWghfofofofofofofoacacacacfofofofoacacaclolZlYmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgMmbjJjIiRmcmcjEgLmemfgxgxgVgVgVgxgVgVgVgwgwmhmggzgzgzmimkmjmjgyhHhHhHhHmlkYkZgAmnmmmogzmpglmrmqfPmsmumtfOmvmxmwfOfOfPfPfOfPmzmyghfofofofofofofofoacacfofofofoacacacaclomBmAmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgLmCigmDmFmEmHmGgxgVgVgwfofofofoqbfofofofohdmKmLgAmImNmMmPmOmQgzmSmRmThHmlmVgAgAgygzgzgymXmWfOfOfPmYnamZfPnbnancfOmUnendnffPngmygsfofofofofofofofofofofofofofoacacaclololoninjnjloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgwgJhuhwhvgJgVhyhxgMfzhBhAgwacfoheacacfofoacacgydmfUhChDhFhIhHfofohefofofofofofofofofofogsgugmgsfofofofofogshJhLhKhNhMhPhOhOhQhShRhUhThWhVhYhXfofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgwgJhZibiagJgVidicgMieigifgwfofofofofohefofoacgAihijiihDikilhHfofofofofofofofofofofofofogsgugmgsfofohefofogsiminhKiohlhKhKipfOiqhsirgPisfPgIfnhffofofofofofoacfofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxiuitiwivitgVidixgLgLiygwgwfofohefofofofofofogAhEhGiziAiCiEhdfofofofofohefofofofofofofogsiFgmgsfofofofofogsiGhLhKioiHhKhKiJiIiLiKgPgPiMfOfQfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxiBgpiRiQiDiSiViUiWiXiYgwhefofofofofofofofohehdiZjahbgAhdhdgAfofofofofofofofofohefofofoghjbgmghhefofofofofLjchKiJhNhlhKhKjdfPjfjegPgDjgfPgcfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxiPjhjkjjjmjljojnjqjpjrgxfofofofofofofofofofogAjsjtgYgAfofofofofofofohefofofoacacfofoheghjvjughghfofofofoghjwjxhKiJhljzjyjAfPfPjBjCjCjDjDgRjFfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgwiTjiiRjIjIgwgLgMgMjKjLgxfofofofopwfofofohegAgAjNjPjOgAfofofofopxfofofogAgAgAgAacacacacfLjRguhzghfLgsgsghghjTjUhLjVhNhNhKhKjWjYjXkajZkciNkdamfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxgwgxkegwgwgwkfkfgMkgkhgwgwgVgVgVgxgVgVgVgxgxkjkiklkkgAgAhHhHhHgAhHhHhHgAjGjHgAgAgzgygzgzkogugukpgugmgugukqhKhKhKkriJhKksktktkvkufPiOkykxamadfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgLkziRjJgLkmknkAiWkEkGkFkIkHkJkHkKkHkLkIkHkMkOkNkQkPkSkRkTkRkRkUkRkVkXkWkXkYkBgAlblalcgzleldldlflggugulhkqhKiJhKljlilililllklnlmfLadamamamfofofofoacacfofofofofoacacaclololololoacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgLlplrlqltlslulslwlvlylxlzlzlAlzlBlzlClzlElDlGlFlIlHlKlJlMlLlOlNlOlOlOlOhbkYkBlPhbhbhblPlRlQgmkCfPfOfPfPfOfOfPfPfPlTlUhLlVfPlXlWghfofofofofofofoacacacacfofofofoacacaclolZlYmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgMmbjIjIiRmcmcjEgLmemfgxgxgVgVgVgxgVgVgVgwgwkDkZgzgzgzmimkmjmjgyhHhHhHhHmlkYkBgAmnmmmogzmpgllSmgfPmsmumtfOmvmxmwfOfOfPfPfOfPmhmyghfofofofofofofofoacacfofofofoacacacaclomBmAmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgLmCigmDmFmEmHmGgxgVgVgwfofofofoqbfofofofohdmKmLgAmImNmMmPmOmQgzmSmRmThHmlmVgAgAgygzgzgymXmWfOfOfPmYnamZfPnbnancfOmUnendnffPjRmygsfofofofofofofofofofofofofofoacacaclololoninjnjloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacgLgLgMgMgLgwgxgxgwfofoqbfofofofofofofofohefomKnkgAnhnmnlnnmOmOgynonpnqhHmlnshdntjSnununwnxnvnznyfPnBnCfPfOnBnDfPfPnAgmnFnEnGnJnIgsfofofofofofofofofofofofofofoacacacnjnHnKnKnKnLloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacfofofofofofofofofofofohefofofoacnNnOgAnMnmnPnRnQnSgynTnUnVhHmlmVhdnOnXnYnZnZoanWocoboeodohofoiogohojolokomonoooposorgsfofofofofofofofofofofofofofofoacacnjoqovouovoqlolololoacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacfohefofofofofofofofofofofofogAnNkbgAownmoxozoyoAgyoBoDnVoCmlmVgAnkmKfofogsoEldldoFoGoIoJoHoKoIoMoLoOoNoJoPoQfPoUoTghpvfofofofofofofofofofofofofofoacaclooRoXoWoZoSlopapbloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacfofofohefofofofofofofohehdpdkwgAoYpcmOpfpeoygzphpgpihHmlkXhdmdmKfofogsplpkgupmfPppfPpqfOprfPfPfOpnfPfPptfPpomygsfofofofofofofoqBqAqAqAqAqCqAqAqApypzpspApupCpBnjpFpGloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacfofofofofofofofofofofohefofofoacnNnOgAnMnmnPnRnQnSgynTnUnVhHmlmVhdnOnXnYnZnZoanWocoboeodohofoiogohojolokmqonoooposorgsfofofofofofofofofofofofofofofoacacnjoqovouovoqlolololoacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacfohefofofofofofofofofofofofogAnNkbgAownmoxozoyoAgyoBoDnVoCmlmVgAnkmKfofogsoEldldoFoGoIoJoHoKoIoMoLoOmroJoPoQfPoUoTghpvfofofofofofofofofofofofofofoacaclooRoXoWoZoSlopapbloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacfofofohefofofofofofofohehdpdkwgAoYpcmOpfpeoygzphpgpihHmlkXhdmdmKfofogsplpkgupmfPppfPpqfOprfPfPfOpnfPfPptfPmzmygsfofofofofofofoqBqAqAqAqAqCqAqAqApypzpspApupCpBnjpFpGloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacachefofohefofoachdpHpIgAgzgzpDgzgzpEgzgzpLpMgypJjOgAnOnNhefogsgspKpOpNfOpRpSpTpVpUfOpPpWpQpXfOnrfOjbmygsfofofofofofofoucnjnjqcqcnjfofofoacloqcqcpZqcqcloqeqflololoacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacfofofofoacacgzotqhqiqjqlqdqggyqmqkgzqnqpqohbqqgAnOmKfofofogsgsgsgsfLqtqufPqwqvfPfPfPqrqsfOqzfPjbmygsfofofojMfovIvmwknjqyqxqxlonjnjnjloloqDqEqGqHqFqJqIqLqKqMloacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzqPpIqQqRqOqNqSgAhdhdgAqTqUhbhbqVgAoVmKfofofofofofofoghqZmtfPmvrafPqXqYpQrbfPrefPrgrcfLgsgsgsghgsgsrhfLlopjrdrlrinjrjrmrkrprqrsrrrurtrwrnrvroqMlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgypYqhqirArCryrzgAqarErHrDrFkPrIrGgAmdmKfofofohefofofoghghghghfPfOfPfOfOrKfPfPqWfOrPrOrRrMrQrNrSrMrUrTrVrXsarZscrWserYsgsbsisdsksjsmslsosnspspsfsqssstnjacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyqPqhgAgAgAhdhdgAsvsugAshswsrsysxgAnOmKachefofofofohefofofoacacacfPszsApQsBfOrefOjRsEsGsCsDsCsFsCsIsHsJsLsNsNsPsKsRsMsTsOsisQsWsVsYsXtasZtctbsStdtftgloacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgytithjSrfnunutltkrxtmtototptototqtrtsnNacfofofofofofofofofofofoacfLtjpQpQsBfOrefPtvtughgsgsgsghgsgsrhfLlotttntxtwlotytCtztEtDtFtbtHtGtIrlrltJtAlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgztLtMtNtOtOtNtQtPtPrBtPtPtStPrJrLtWtVtXacfofofofofofofofofofofoheghghtUtTfOfOqzfPtZtYgsfofofoyhfovIwkfonjudueuflolouaugublouhulukujuiunumupuouqnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyusurutgzuwgzgzgzgzgygygAgAhdhdgzuxuyhdfofofohefofofofofofofofofofoghghghfOsUreuAtZtYgsfofofofofofofofonjuvuBuEuzuFqcuGqclolouHuIlouJuKnjuJuKnjnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzuCuLuDgzacacacacacacacacfofohdtetBuPhdfofofofofofofohefoacfofofofofofogstKuRtRfPuStYgsfofofofofofofofoqcuTuVuXsNuUsNsTuWvauYvbuZlovevflovgvhloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzvdvcvigyacacacacacacacacacfohdhHvlhHhdfofofofofofofofoacacachefofofoyivnvpuuvqfOvovkfLfofofofofofofofoqcvrrlvvvuvxvwvtvsvBvAvDvylovEvFlovGvHloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzgzgygygzacacacacacacacacacfoyjevevevfofofofofofofofofoacacfofofofovJvKvKvLvMvNvLvPvOvJfofofofofofofofonjvCvzvQvSvVvRvUvTvYvWvZvXlololololololoacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofofofoacacfofofofofofofofovJwdwcwewfuMwawgwivJykfofofofofofofonjnjuFwmwlwhwouFnjnjlolonjnjacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacfofofofoacacgzotqhqiqjqlqdqggyqmqkgzqnqpqohbqqgAnOmKfofofogsgsgsgsfLqtqufPqwqvfPfPfPqrqsfOqzfPjbmygsfofofojMfovIvmwknjqyqxqxlonjnjnjloloqDqEqGqHqFqJqIqLngomloacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzqPpIqQqRqOqNqSgAhdhdgAqTqUhbhbqVgAoVmKfofofofofofofoghqZmtfPmvrafPqXqYpQrbfPrefPrgoNfLgsgsgsghgsgsrhfLlopjporlrinjrjrmrkrprqrsrrrurtrwqKqMrcomlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgypYqhqirArCryrzgAqarErHrDrFkPrIrGgAmdmKfofofohefofofoghghghghfPfOfPfOfOrKfPfPqWfOrPrOrRrMrQrNrSrMrUrTrVrXsarZscrWserYsgsbsirusksjsmslsosnspspsfsqssstnjacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyqPqhgAgAgAhdhdgAsvsugAshswsrsysxgAnOmKachefofofofohefofofoacacacfPszsApQsBfOrefOjRsEsGsCsDsCsFsCsIsHsJsLsNsNsPsKsRsMsTsOsirdsWsVsYsXtasZtctbsStdtftgloacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgytithjSrfnunutltkrxtmtototptototqtrtsnNacfofofofofofofofofofofoacfLtjpQpQsBfOrefPtvtughgsgsgsghgsgsrhfLlotttntxtwlotytCtztEtDtFtbtHtGtIrlrltJrnlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgztLtMtNtOtOtNtQtPtPrBtPtPtStPrJrLtWtVtXacfofofofofofofofofofofoheghghtUtTfOfOqzfPtZtYgsfofofoyhfovIwkfonjudueuflolouaugubloroulukrvuiunsdupuosQnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgytAuhujgzuwgzgzgzgzgygygAgAhdhdgzuxuyhdfofofohefofofofofofofofofofoghghghfOsUreuAtZtYgsfofofofofofofofonjuvuBuEumuFqcuGqclolouHuIlouJuKnjuJuKnjnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzuquLurgzacacacacacacacacfofohdtetBuPhdfofofofofofofohefoacfofofofofofogstKuRtRfPuStYgsfofofofofofofofoqcuTuVuXsNussNsTuWvautuzuClovevflovgvhloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzuDuMuNgyacacacacacacacacacfohdhHvlhHhdfofofofofofofofoacacachefofofoyivnvpuuvqfOvovkfLfofofofofofofofoqcvrrlvvvuvxvwuOvsvBvAvDuQlovEvFlovGvHloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzgzgygygzacacacacacacacacacfoyjevevevfofofofofofofofofoacacfofofofovJvKvKvLvMvNvLvPvOvJfofofofofofofofonjvCuUuYvSvVuZvbvTvYvcvdvilololololololoacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofofofoacacfofofofofofofofovJwdwcwewfvjvtxQwivJykfofofofofofofonjnjuFwmwlwhwouFnjnjlolonjnjacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofoacacfofofofofofofofovJwqwpwswrwuwtwwwvwxfofofofofofofofofolowjwywnwzuFwAloacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofohefohefofofofofofofofofofovJvLvMvMvMwBwDwGwCwxfofofofofofofofofoqcwEwHwFwJwIwKnjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofoacacacacacacacfofofofofovKwNwpwPwOwtwQwwwLwxfofofofofofofofofoqcwMwSwRwTuFlonjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofovJwdwWwXwfwVwUwZwYvJfofofofofofofofofoqcxaxcxbxexdloacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofohefohefofofofofofofofofofovJvLvMvMvMvywDwGvzwxfofofofofofofofofoqcwEwHwFwJwIwKnjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofoacacacacacacacfofofofofovKwNwpwPwOwtwQwwvQwxfofofofofofofofofoqcwMwSwRwTuFlonjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofovJwdwWwXwfvRwUwZwYvJfofofofofofofofofoqcxaxcxbxexdloacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofovJvJvKvKvLvLvMxixhvJacacfofofofofofofoloxfxjxglolonjacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofoacacvKxkxmxlxqxnvKvKvJvJvJfofofofoaclonjnjloloacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachefofofoacacvKxoxtxsxqxuwxxpxpxwvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofoacvKxrxyxvwwxAxCxxxExzvKfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfohefofofoacvJxBxtxGxIxHxKxJxMxDvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJxkxNxOxQxFwxxRxSxTvKfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovKxkxPxLxVuNvJvJvKvJvJfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJvKvJwxxWxYvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJxXyauOvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJybydycvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofoacacvKvUvWvXxqvZvKvKvJvJvJfofofofoaclonjnjloloacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachefofofoacacvKwaxtxsxqxuwxwbwbxwvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofoacvKwgxywBwwxAxCwCxEwLvKfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfohefofofoacvJwVxtxGxIxHxKxJxMxkvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJvUxNxOxQxlwxxRxSxTvKfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovKvUxmxnxoxpvJvJvKvJvJfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJvKvJwxxrxYvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJxvxxxzvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJxBxDxFvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofovJwxyewxvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofoylevevevylfofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
@@ -1427,4 +1421,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
\ No newline at end of file
+"}
diff --git a/_maps/map_files/RandomZLevels/wildwest.dmm b/_maps/map_files/RandomZLevels/wildwest.dmm
index 13357f34876..31e5c541f5d 100644
--- a/_maps/map_files/RandomZLevels/wildwest.dmm
+++ b/_maps/map_files/RandomZLevels/wildwest.dmm
@@ -2,64 +2,64 @@
"ab" = (/turf/simulated/shuttle/wall,/area/awaymission/wwvault)
"ac" = (/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
"ad" = (/obj/structure/cult/pylon,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"ae" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage5";icon_state = "cultdamage5"},/area/awaymission/wwvault)
+"ae" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/awaymission/wwvault)
"af" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"ag" = (/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff";icon_state = "bcircuitoff"},/area/awaymission/wwvault)
+"ag" = (/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
"ah" = (/turf/simulated/wall/cult,/area/awaymission/wwvault)
-"ai" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/wall/cult,/area/awaymission/wwvault)
-"aj" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage3";icon_state = "cultdamage3"},/area/awaymission/wwvault)
-"ak" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage6";icon_state = "cultdamage6"},/area/awaymission/wwvault)
+"ai" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/wall/cult,/area/awaymission/wwvault)
+"aj" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/awaymission/wwvault)
+"ak" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/awaymission/wwvault)
"al" = (/obj/effect/gateway,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"am" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff";icon_state = "bcircuitoff"},/area/awaymission/wwvault)
-"an" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/shuttle/wall,/area/awaymission/wwvault)
-"ao" = (/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ap" = (/obj/machinery/wish_granter_dark,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aq" = (/obj/structure/cult/pylon,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ar" = (/obj/machinery/gateway{dir = 9},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"as" = (/obj/machinery/gateway{dir = 5},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"at" = (/obj/machinery/gateway{dir = 1},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"au" = (/obj/machinery/gateway{dir = 8},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"av" = (/obj/machinery/gateway{dir = 4},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aw" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ax" = (/obj/machinery/gateway{dir = 10},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ay" = (/obj/machinery/gateway{dir = 6},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"az" = (/obj/machinery/gateway,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aA" = (/obj/effect/meatgrinder,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff";icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aB" = (/obj/structure/cult/pylon,/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff";icon_state = "bcircuitoff"},/area/awaymission/wwvault)
-"aC" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage2";icon_state = "cultdamage2"},/area/awaymission/wwvault)
+"am" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
+"an" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/shuttle/wall,/area/awaymission/wwvault)
+"ao" = (/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ap" = (/obj/machinery/wish_granter_dark,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aq" = (/obj/structure/cult/pylon,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ar" = (/obj/machinery/gateway{dir = 9},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"as" = (/obj/machinery/gateway{dir = 5},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"at" = (/obj/machinery/gateway{dir = 1},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"au" = (/obj/machinery/gateway{dir = 8},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"av" = (/obj/machinery/gateway{dir = 4},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aw" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ax" = (/obj/machinery/gateway{dir = 10},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ay" = (/obj/machinery/gateway{dir = 6},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"az" = (/obj/machinery/gateway,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aA" = (/obj/effect/meatgrinder,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aB" = (/obj/structure/cult/pylon,/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
+"aC" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/awaymission/wwvault)
"aD" = (/turf/simulated/floor/carpet,/area/awaymission/wwvault)
"aE" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/floor/carpet,/area/awaymission/wwvault)
"aF" = (/obj/machinery/door/airlock/vault{locked = 1},/turf/simulated/floor/engine/cult,/area/awaymission/wwvaultdoors)
"aG" = (/turf/simulated/mineral,/area/space)
-"aH" = (/obj/structure/cable{d2 = 8;icon_state = "0-8"},/obj/machinery/power/apc/noalarm{dir = 1;pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"aI" = (/obj/machinery/power/smes/magical,/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
+"aH" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc/noalarm{dir = 1; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"aI" = (/obj/machinery/power/smes/magical,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"aJ" = (/obj/machinery/door/airlock/vault{locked = 1},/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
"aK" = (/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"aL" = (/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
+"aL" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"aM" = (/turf/simulated/mineral/random,/area/awaymission/wwmines)
"aN" = (/turf/simulated/mineral,/area/awaymission/wwmines)
-"aO" = (/obj/machinery/power/terminal{dir = 1},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"aP" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/space,/area/space)
-"aQ" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/mineral,/area/space)
-"aR" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
+"aO" = (/obj/machinery/power/terminal{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"aP" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/space,/area/space)
+"aQ" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/space)
+"aR" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
"aS" = (/obj/effect/mob_spawn/human/corpse/syndicatecommando,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"aT" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/mineral/random,/area/awaymission/wwmines)
+"aT" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral/random,/area/awaymission/wwmines)
"aU" = (/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwrefine)
-"aV" = (/obj/structure/ore_box,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
+"aV" = (/obj/structure/ore_box,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
"aW" = (/obj/item/paper{info = "meat grinder requires sacri"},/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"aX" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"aY" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwrefine)
+"aX" = (/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"aY" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwrefine)
"aZ" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"ba" = (/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"bb" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
-"bc" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
-"bd" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1";icon_state = "gibup1"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
+"bc" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
+"bd" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
"be" = (/turf/simulated/wall/mineral/sandstone,/area/space)
"bf" = (/obj/structure/largecrate,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
-"bg" = (/obj/effect/mine/dnascramble,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
+"bg" = (/obj/effect/mine/dnascramble,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
"bh" = (/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bi" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bj" = (/obj/effect/mine/dnascramble,/obj/item/ammo_box/c10mm,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
+"bj" = (/obj/effect/mine/dnascramble,/obj/item/ammo_box/c10mm,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
"bk" = (/obj/effect/mine/dnascramble,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bl" = (/mob/living/simple_animal/hostile/syndicate/ranged/wildwest,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"bm" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
@@ -68,72 +68,72 @@
"bp" = (/obj/structure/lattice,/turf/space,/area/space)
"bq" = (/obj/effect/mine/dnascramble,/obj/item/ammo_box/c10mm,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"br" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
-"bs" = (/obj/item/ammo_box/c10mm,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"bt" = (/mob/living/simple_animal/hostile/syndicate/ranged/wildwest,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"bu" = (/obj/effect/mine/dnascramble,/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"bv" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1";icon_state = "gibup1"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bw" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/space,/area/space)
-"bx" = (/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/space,/area/space)
-"by" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"bs" = (/obj/item/ammo_box/c10mm,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"bt" = (/mob/living/simple_animal/hostile/syndicate/ranged/wildwest,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"bu" = (/obj/effect/mine/dnascramble,/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"bv" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"bw" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/space,/area/space)
+"bx" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/space,/area/space)
+"by" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"bz" = (/obj/structure/bed,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bA" = (/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"bA" = (/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"bB" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bC" = (/mob/living/simple_animal/hostile/syndicate/ranged/wildwest,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bD" = (/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"bE" = (/mob/living/simple_animal/hostile/syndicate/ranged/wildwest,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"bE" = (/mob/living/simple_animal/hostile/syndicate/ranged/wildwest,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"bF" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bG" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bH" = (/obj/structure/closet{icon_closed = "cabinet_closed";icon_opened = "cabinet_open";icon_state = "cabinet_closed"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bI" = (/obj/structure/table/wood,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/obj/item/gun/projectile/automatic/pistol,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bJ" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"bK" = (/obj/structure/table/wood,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bL" = (/obj/structure/table/wood,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/obj/item/kitchen/knife/butcher,/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"bH" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"bI" = (/obj/structure/table/wood,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/item/gun/projectile/automatic/pistol,/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"bJ" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"bK" = (/obj/structure/table/wood,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"bL" = (/obj/structure/table/wood,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/item/kitchen/knife/butcher,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bM" = (/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwgov)
"bN" = (/obj/structure/table/wood,/obj/item/book/manual/barman_recipes,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bO" = (/obj/structure/table/wood,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bP" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bQ" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"bR" = (/obj/machinery/microwave,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"bS" = (/obj/item/book/manual/chef_recipes,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"bT" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"bU" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/turf/space,/area/space)
-"bV" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"bW" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/grille,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"bX" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
+"bO" = (/obj/structure/table/wood,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"bP" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"bQ" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"bR" = (/obj/machinery/microwave,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"bS" = (/obj/item/book/manual/chef_recipes,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"bT" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/obj/item/reagent_containers/food/snacks/meat/syntiflesh,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"bU" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/turf/space,/area/space)
+"bV" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/wwgov)
+"bW" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwgov)
+"bX" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/turf/simulated/floor/plating,/area/awaymission/wwgov)
"bY" = (/obj/machinery/door/window,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bZ" = (/obj/item/ammo_box/a357,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"ca" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/space,/area/space)
-"cb" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"cc" = (/obj/structure/chair/wood/normal{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"cd" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"ce" = (/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"ca" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/space,/area/space)
+"cb" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"cc" = (/obj/structure/chair/wood/normal{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"cd" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"ce" = (/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"cf" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cg" = (/obj/structure/chair/stool,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"ch" = (/obj/item/ammo_box/c10mm,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"ci" = (/obj/structure/chair/stool,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"cj" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/turf/space,/area/space)
+"cj" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/turf/space,/area/space)
"ck" = (/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cl" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"cm" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"cn" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand2";icon_state = "ironsand2"},/area/awaymission/wwgov)
-"co" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
+"cl" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/wwgov)
+"cm" = (/turf/simulated/floor/plating/ironsand,/area/awaymission/wwgov)
+"cn" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/wwgov)
+"co" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwgov)
"cp" = (/obj/structure/table/wood,/obj/item/gun/projectile/automatic/pistol,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"cq" = (/obj/effect/mob_spawn/human/cook,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"cq" = (/obj/effect/mob_spawn/human/cook,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"cr" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space)
"cs" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"ct" = (/turf/simulated/floor/carpet,/area/awaymission/wwgov)
-"cu" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
+"cu" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwgov)
"cv" = (/obj/structure/chair/wood/wings,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cw" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"cx" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/grille,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"cy" = (/obj/item/paper{info = " The miners in the town have become sick and almost all production has stopped. They, in a fit of delusion, tossed all of their mining equipment into the furnaces. They all claimed the same thing. A voice beckoning them to lay down their arms. Stupid miners.";name = "Planer Saul's Journal: Page 4"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"cx" = (/obj/effect/mine/gas/plasma,/obj/item/ammo_box/c10mm,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"cy" = (/obj/item/paper{info = " The miners in the town have become sick and almost all production has stopped. They, in a fit of delusion, tossed all of their mining equipment into the furnaces. They all claimed the same thing. A voice beckoning them to lay down their arms. Stupid miners."; name = "Planer Saul's Journal: Page 4"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"cz" = (/obj/item/storage/bag/money,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cA" = (/obj/structure/chair/wood/normal{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cB" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"cB" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"cC" = (/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cD" = (/obj/structure/bookcase{tag = "icon-book-5";icon_state = "book-5"},/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cE" = (/obj/item/storage/bag/money,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cF" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwgov)
+"cD" = (/obj/structure/bookcase{tag = "icon-book-5"; icon_state = "book-5"},/turf/simulated/floor/wood,/area/awaymission/wwgov)
+"cE" = (/obj/item/storage/bag/money,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwgov)
+"cF" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cG" = (/obj/item/toy/sword,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cH" = (/obj/effect/mob_spawn/human/corpse/syndicatecommando{mob_name = "Syndicate Commando"},/turf/simulated/floor/carpet,/area/awaymission/wwgov)
"cI" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/wood,/area/awaymission/wwgov)
@@ -141,253 +141,239 @@
"cK" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/carpet,/area/awaymission/wwgov)
"cL" = (/obj/item/storage/bag/money,/turf/simulated/floor/carpet,/area/awaymission/wwgov)
"cM" = (/obj/structure/chair/wood/wings{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cN" = (/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"cN" = (/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"cO" = (/obj/effect/decal/remains/human,/mob/living/simple_animal/hostile/syndicate/ranged/space{name = "Syndicate Commander"},/turf/simulated/floor/plating,/area/awaymission/wwrefine)
-"cP" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"cQ" = (/obj/machinery/microwave,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"cR" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"cS" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/space,/area/space)
+"cP" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"cQ" = (/obj/machinery/microwave,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"cR" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"cS" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/space,/area/space)
"cT" = (/obj/structure/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cU" = (/obj/structure/chair/comfy/teal{dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cV" = (/obj/structure/chair/wood/normal{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cW" = (/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cX" = (/obj/item/clothing/gloves/color/yellow,/obj/item/multitool,/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cY" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"cZ" = (/obj/effect/mine/gas/plasma,/obj/item/ammo_box/c10mm,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
+"cY" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"cZ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/plating,/area/awaymission/wwgov)
"da" = (/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"db" = (/obj/machinery/mineral/mint,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
-"dc" = (/obj/item/storage/toolbox/electrical,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"dd" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"de" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwgov)
+"dc" = (/obj/item/storage/toolbox/electrical,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwgov)
+"dd" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwgov)
+"de" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwgov)
"df" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
-"dg" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dh" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"di" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dj" = (/obj/structure/bookcase{tag = "icon-book-5";icon_state = "book-5"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dk" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"dg" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dh" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"di" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dj" = (/obj/structure/bookcase{tag = "icon-book-5"; icon_state = "book-5"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"dk" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dl" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dm" = (/obj/effect/mine/gas/plasma,/obj/item/ammo_box/c10mm,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dn" = (/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"do" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"dn" = (/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"do" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dp" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dq" = (/obj/item/reagent_containers/food/condiment/peppermill,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dr" = (/obj/item/reagent_containers/food/condiment/saltshaker,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"ds" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
+"ds" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/plating,/area/awaymission/wwgov)
"dt" = (/obj/item/storage/toolbox/electrical,/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"du" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
+"du" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/wwgov)
"dv" = (/obj/structure/largecrate,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dw" = (/obj/item/paper{info = "We've discovered something floating in space. We can't really tell how old it is, but it is scraped and bent to hell. There object is the size of about a room with double doors that we have yet to break into. It is a lot sturdier than we could have imagined. We have decided to call it 'The Vault' ";name = "Planer Saul's Journal: Page 1"},/turf/simulated/floor/carpet,/area/awaymission/wwgov)
-"dx" = (/obj/item/reagent_containers/food/snacks/monkeysdelight,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dy" = (/obj/item/reagent_containers/food/snacks/stew,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dz" = (/obj/item/kitchen/knife,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dw" = (/obj/item/paper{info = "We've discovered something floating in space. We can't really tell how old it is, but it is scraped and bent to hell. There object is the size of about a room with double doors that we have yet to break into. It is a lot sturdier than we could have imagined. We have decided to call it 'The Vault' "; name = "Planer Saul's Journal: Page 1"},/turf/simulated/floor/carpet,/area/awaymission/wwgov)
+"dx" = (/obj/item/reagent_containers/food/snacks/monkeysdelight,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dy" = (/obj/item/reagent_containers/food/snacks/stew,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dz" = (/obj/item/kitchen/knife,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"dA" = (/obj/structure/chair/comfy/brown,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dB" = (/obj/structure/chair/comfy/beige,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dC" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dD" = (/obj/machinery/computer/security/telescreen/entertainment,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dE" = (/obj/structure/chair/comfy/black{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dF" = (/obj/structure/chair/comfy/teal{dir = 8},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dG" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
+"dE" = (/obj/structure/chair/comfy/black{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"dF" = (/obj/structure/chair/comfy/teal{dir = 8},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"dG" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/wwgov)
"dH" = (/obj/machinery/computer/security/telescreen/entertainment,/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
-"dI" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dJ" = (/obj/item/kitchen/rollingpin,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dK" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"dL" = (/obj/structure/window/reinforced{dir = 5;max_integrity = 1e+007},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dM" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"dN" = (/obj/structure/mineral_door/wood,/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
+"dI" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dJ" = (/obj/item/kitchen/rollingpin,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dK" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"dL" = (/obj/structure/window/reinforced{dir = 5; max_integrity = 1e+007},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"dM" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
+"dN" = (/obj/structure/mineral_door/wood,/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
"dO" = (/obj/structure/chair/comfy/beige{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dP" = (/obj/structure/bed,/obj/item/bedsheet/brown,/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"dQ" = (/obj/item/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dR" = (/obj/item/reagent_containers/food/drinks/bottle/patron,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"dS" = (/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/machinery/light/small,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft";icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dQ" = (/obj/item/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dR" = (/obj/item/reagent_containers/food/drinks/bottle/patron,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"dS" = (/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/machinery/light/small,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"dT" = (/obj/structure/chair/comfy/beige{dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"dU" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"dV" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"dW" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"dX" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand4";icon_state = "ironsand4"},/area/awaymission/wwgov)
-"dY" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"dZ" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand12";icon_state = "ironsand12"},/area/awaymission/wwgov)
-"ea" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand14";icon_state = "ironsand14"},/area/awaymission/wwgov)
-"eb" = (/obj/machinery/light/small,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"ec" = (/obj/structure/toilet,/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/plasteel{tag = "icon-white";icon_state = "white"},/area/awaymission/wwgov)
-"ed" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand9";icon_state = "ironsand9"},/area/awaymission/wwgov)
-"ee" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"ef" = (/obj/structure/largecrate,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"eg" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand7";icon_state = "ironsand7"},/area/awaymission/wwgov)
-"eh" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"ei" = (/obj/machinery/washing_machine,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"dU" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"dV" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"dW" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwgov)
+"dX" = (/obj/machinery/light/small,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"dY" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwgov)
+"dZ" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plating,/area/awaymission/wwgov)
+"ea" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwgov)
+"eb" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/turf/simulated/floor/plating,/area/awaymission/wwgov)
+"ec" = (/obj/structure/toilet,/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/plasteel{tag = "icon-white"; icon_state = "white"},/area/awaymission/wwgov)
+"ed" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwgov)
+"ee" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwgov)
+"ef" = (/obj/structure/largecrate,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"eg" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwgov)
+"eh" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"ei" = (/obj/machinery/washing_machine,/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"ej" = (/turf/simulated/wall/r_wall,/area/awaymission/wwrefine)
"ek" = (/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"el" = (/obj/structure/bed,/obj/item/bedsheet/blue,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"em" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"en" = (/obj/structure/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)";icon_state = "comfychair_brown";dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"eo" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"em" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"en" = (/obj/structure/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"eo" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"ep" = (/obj/structure/table/wood,/obj/item/wildwest_communicator,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"eq" = (/obj/machinery/mineral/mint,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
+"er" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
"es" = (/obj/structure/chair/comfy/brown,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"et" = (/obj/structure/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)";icon_state = "comfychair_brown";dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"eu" = (/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"ev" = (/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"ew" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"ex" = (/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"ey" = (/obj/machinery/shower{tag = "icon-shower (EAST)";icon_state = "shower";dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"et" = (/obj/structure/chair/comfy/brown{dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"eu" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"ev" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"ew" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"ex" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"ey" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"ez" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/awaymission/wwrefine)
"eA" = (/obj/effect/mine/dnascramble,/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"eB" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
-"eC" = (/obj/item/soap/syndie,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"eD" = (/obj/machinery/shower{tag = "icon-shower (WEST)";icon_state = "shower";dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"eE" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"eC" = (/obj/item/soap/syndie,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"eD" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"eE" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"eF" = (/obj/item/reagent_containers/food/drinks/coffee,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eG" = (/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eH" = (/obj/effect/mine/gas/plasma,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"eI" = (/obj/item/reagent_containers/food/snacks/donut,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eJ" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eK" = (/obj/item/reagent_containers/food/snacks/donut/jelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"eL" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/turf/space,/area/space)
-"eM" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/turf/space,/area/space)
-"eN" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
-"eO" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
-"eP" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/space,/area/space)
-"eQ" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwgov)
+"eL" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/space,/area/space)
+"eM" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/space,/area/space)
+"eN" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"eO" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
+"eP" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/space,/area/space)
+"eQ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"eR" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"eS" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"eT" = (/obj/effect/mine/gas/plasma,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"eS" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"eT" = (/obj/effect/mine/gas/plasma,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"eU" = (/obj/effect/mob_spawn/human/miner,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"eV" = (/obj/effect/decal/cleanable/blood,/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"eV" = (/obj/effect/decal/cleanable/blood,/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"eW" = (/obj/structure/bed,/obj/item/bedsheet/blue,/obj/item/ammo_box/a357,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"eX" = (/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
-"eY" = (/obj/structure/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)";icon_state = "comfychair_brown";dir = 4},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"eZ" = (/obj/structure/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)";icon_state = "comfychair_brown";dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"eY" = (/obj/structure/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"eZ" = (/obj/structure/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"fa" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fb" = (/obj/structure/toilet{dir = 1},/obj/item/ammo_box/a357,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fc" = (/obj/effect/decal/cleanable/blood,/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
-"fd" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand12";icon_state = "ironsand12"},/area/awaymission/wwgov)
+"fd" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"fe" = (/obj/structure/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"ff" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand2";icon_state = "ironsand2"},/area/awaymission/wwgov)
-"fg" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
-"fh" = (/obj/effect/mob_spawn/human/doctor,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
+"ff" = (/obj/effect/mine/gas/plasma,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"fg" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
+"fh" = (/obj/effect/mob_spawn/human/doctor,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"fi" = (/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/toxin,/obj/structure/closet/crate,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fj" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand7";icon_state = "ironsand7"},/area/awaymission/wwgov)
-"fk" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand4";icon_state = "ironsand4"},/area/awaymission/wwgov)
-"fl" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)";icon_state = "cafeteria";dir = 5},/area/awaymission/wwmines)
+"fj" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"fk" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"fl" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"fm" = (/obj/structure/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fn" = (/obj/structure/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fo" = (/obj/structure/chair/office/light{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fp" = (/obj/structure/chair/office/light{dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fq" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand12";icon_state = "ironsand12"},/area/awaymission/wwgov)
+"fq" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"fr" = (/obj/structure/bed,/obj/item/bedsheet/blue,/obj/item/gun/projectile/automatic/pistol,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fs" = (/obj/effect/decal/cleanable/blood,/obj/structure/bed,/obj/item/bedsheet/blue,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"ft" = (/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"fu" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"fv" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"fu" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
+"fv" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fw" = (/obj/item/reagent_containers/food/drinks/coffee,/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"fx" = (/obj/structure/chair/comfy/beige{dir = 8},/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"fx" = (/obj/structure/chair/comfy/beige{dir = 8},/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"fy" = (/obj/effect/mob_spawn/human/corpse/syndicatecommando{mob_name = "Syndicate Commando"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"fz" = (/obj/structure/closet{icon_closed = "cabinet_closed";icon_opened = "cabinet_open";icon_state = "cabinet_closed"},/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fA" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand7";icon_state = "ironsand7"},/area/awaymission/wwgov)
+"fz" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"fA" = (/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"fB" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"fC" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand14";icon_state = "ironsand14"},/area/awaymission/wwgov)
+"fC" = (/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"fD" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"fF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"fG" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"fH" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
+"fE" = (/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
+"fF" = (/obj/effect/landmark{name = "wildwest_syndipod"},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
+"fG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"fH" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"fI" = (/turf/simulated/floor/plasteel,/area/space)
"fJ" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fL" = (/obj/structure/chair/comfy/beige{dir = 1;icon_state = "comfychair_beige";tag = ""},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
-"fM" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1";icon_state = "gibup1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"fK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"fL" = (/obj/structure/chair/comfy/beige{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"fM" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"fN" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/grass,/area/awaymission/wwgov)
"fO" = (/obj/effect/decal/cleanable/blood/gibs/core,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fP" = (/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fQ" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"fR" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
+"fQ" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"fR" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"fS" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/grass,/area/awaymission/wwgov)
"fT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"fU" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
+"fU" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"fV" = (/obj/effect/decal/cleanable/blood/gibs/up,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fW" = (/obj/effect/decal/cleanable/blood/gibs/down,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fX" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
+"fX" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"fY" = (/obj/machinery/washing_machine,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"fZ" = (/obj/machinery/vending/cola,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"ga" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gb" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand9";icon_state = "ironsand9"},/area/awaymission/wwgov)
-"gc" = (/obj/structure/sink,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gd" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"ge" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gf" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"gg" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gh" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gi" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
+"fZ" = (/obj/machinery/vending/cola,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"ga" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"gc" = (/obj/structure/sink,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"gd" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"ge" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gf" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
+"gg" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gh" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gi" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
"gj" = (/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gk" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"gl" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
-"gm" = (/obj/structure/chair/wood/normal{dir = 4},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gn" = (/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"go" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/space,/area/space)
-"gp" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/space,/area/space)
-"gq" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"gr" = (/obj/effect/mine/gas/plasma,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"gs" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"gt" = (/obj/structure/chair/comfy/beige{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gu" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1";icon_state = "gibup1"},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gv" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gl" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
+"gm" = (/obj/structure/chair/wood/normal{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gn" = (/obj/structure/chair/wood/normal{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"go" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/space,/area/space)
+"gp" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/space,/area/space)
+"gq" = (/obj/item/paper{info = "The syndicate have invaded. Their ships appeared out of nowhere and now they likely intend to kill us all and take everything. On the off-chance that the Vault may grant us sanctuary, many of us have decided to force our way inside and bolt the door, taking as many provisions with us as we can carry. In case you find this, send for help immediately and open the Vault. Find us inside."; name = "Planer Saul's Journal: Page 8"},/turf/simulated/floor/plating/ironsand,/area/awaymission/wwmines)
+"gt" = (/obj/structure/chair/comfy/beige{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"gu" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gv" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gw" = (/obj/effect/landmark{name = "wildwest_syndibackup"},/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"gx" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"gy" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gx" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gy" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gz" = (/mob/living/simple_animal/hostile/syndicate{name = "Syndicate Comms Tech"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gA" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/lattice,/turf/space,/area/space)
-"gB" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
+"gA" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/lattice,/turf/space,/area/space)
"gC" = (/obj/item/gun/projectile/shotgun,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gD" = (/obj/structure/chair/wood/normal,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gE" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"gF" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"gG" = (/obj/item/paper{info = "The Vault...it just keeps growing and growing. I went on my daily walk through the garden and now its just right outside the mansion... a few days ago it was only barely visible. But whatever is inside...its calling to me.";name = "Planer Sauls' Journal: Page 7"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gH" = (/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"gI" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"gJ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/plasteel,/area/space)
+"gD" = (/obj/structure/chair/wood/normal,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gE" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gG" = (/obj/item/paper{info = "The Vault...it just keeps growing and growing. I went on my daily walk through the garden and now its just right outside the mansion... a few days ago it was only barely visible. But whatever is inside...its calling to me."; name = "Planer Sauls' Journal: Page 7"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"gH" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gI" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gJ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plasteel,/area/space)
"gK" = (/obj/item/gun/projectile/revolver/russian,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gL" = (/obj/structure/chair/wood/normal{dir = 1},/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gM" = (/obj/machinery/photocopier,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gN" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
+"gL" = (/obj/structure/chair/wood/normal{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
+"gM" = (/obj/machinery/photocopier,/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"gN" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
"gO" = (/obj/item/pickaxe/gold,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gP" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gQ" = (/obj/structure/chair/comfy/beige{dir = 4},/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1";icon_state = "gibdown1"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gR" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1";icon_state = "gibup1"},/obj/structure/chair/wood/normal,/turf/simulated/floor/plasteel{dir = 8;icon_state = "barber"},/area/awaymission/wwmines)
-"gS" = (/turf/simulated/floor/plasteel{dir = 9;icon_state = "warning"},/area/awaymission/wwrefine)
-"gT" = (/turf/simulated/floor/plasteel{dir = 5;icon_state = "warning"},/area/awaymission/wwrefine)
+"gQ" = (/obj/structure/chair/comfy/beige{dir = 4},/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
+"gR" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/obj/structure/chair/wood/normal,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"gU" = (/obj/item/hatchet,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gV" = (/turf/simulated/floor/plasteel{dir = 10;icon_state = "warning"},/area/awaymission/wwrefine)
-"gW" = (/turf/simulated/floor/plasteel{dir = 6;icon_state = "warning"},/area/awaymission/wwrefine)
-"gX" = (/obj/effect/landmark{name = "wildwest_syndipod"},/turf/simulated/floor/plasteel{dir = 10;icon_state = "warning"},/area/awaymission/wwrefine)
-"gY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"gZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"ha" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"hb" = (/obj/machinery/light/spot,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"hc" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"hd" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)";icon_state = "fwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"he" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/wwgov)
-"hf" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)";icon_state = "fwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)";icon_state = "fwindow";dir = 8},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"hg" = (/obj/effect/decal/cleanable/blood,/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
-"hh" = (/turf/simulated/shuttle/wall{tag = "icon-swall12";icon_state = "swall12"},/area/awaymission/wwrefine)
-"hi" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f6";icon_state = "swall_f6";dir = 2},/area/awaymission/wwrefine)
-"hj" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle{tag = "icon-floor2";icon_state = "floor2"},/area/awaymission/wwrefine)
+"he" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"hg" = (/obj/effect/decal/cleanable/blood,/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
+"hh" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/wwrefine)
+"hi" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaymission/wwrefine)
+"hj" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
"hk" = (/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"hl" = (/turf/simulated/shuttle/wall{tag = "icon-swall8";icon_state = "swall8"},/area/awaymission/wwrefine)
-"hm" = (/turf/simulated/shuttle/wall{tag = "icon-swall4";icon_state = "swall4"},/area/awaymission/wwrefine)
-"hn" = (/turf/space,/turf/simulated/shuttle/wall{dir = 3;icon_state = "swall_f10";layer = 2;tag = "icon-swall_f10"},/area/awaymission/wwrefine)
-"ho" = (/obj/structure/chair,/turf/simulated/shuttle{tag = "icon-floor2";icon_state = "floor2"},/area/awaymission/wwrefine)
+"hl" = (/turf/simulated/shuttle/wall{tag = "icon-swall8"; icon_state = "swall8"},/area/awaymission/wwrefine)
+"hm" = (/turf/simulated/shuttle/wall{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/wwrefine)
+"hn" = (/turf/space,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/awaymission/wwrefine)
+"ho" = (/obj/structure/chair,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
"hp" = (/obj/structure/table/wood,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"hq" = (/turf/simulated/shuttle/wall{tag = "icon-swall3";icon_state = "swall3"},/area/awaymission/wwrefine)
-"hr" = (/turf/simulated/shuttle{tag = "icon-floor2";icon_state = "floor2"},/area/awaymission/wwrefine)
-"hs" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1";icon_state = "swallc1"},/area/awaymission/wwrefine)
-"ht" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5";icon_state = "swall_f5";dir = 2},/area/awaymission/wwrefine)
-"hu" = (/obj/effect/mob_spawn/human/miner,/turf/simulated/shuttle{tag = "icon-floor2";icon_state = "floor2"},/area/awaymission/wwrefine)
-"hv" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2";icon_state = "swallc2"},/area/awaymission/wwrefine)
-"hw" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f9";icon_state = "swall_f9";dir = 2},/area/awaymission/wwrefine)
-"hx" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
-"hy" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/obj/item/clothing/mask/gas/syndicate,/obj/item/tank/oxygen,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle{tag = "icon-floor2";icon_state = "floor2"},/area/awaymission/wwrefine)
-"hz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow";icon_state = "fwindow"},/turf/simulated/shuttle{tag = "icon-floor2";icon_state = "floor2"},/area/awaymission/wwrefine)
+"hq" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/wwrefine)
+"hr" = (/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
+"hs" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/wwrefine)
+"ht" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/awaymission/wwrefine)
+"hu" = (/obj/effect/mob_spawn/human/miner,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
+"hv" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/wwrefine)
+"hw" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/awaymission/wwrefine)
+"hy" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/obj/item/clothing/mask/gas/syndicate,/obj/item/tank/oxygen,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
+"hz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
"hA" = (/obj/machinery/door/poddoor/multi_tile/four_tile_ver,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"hB" = (/obj/item/paper{info = "The syndicate have invaded. Their ships appeared out of nowhere and now they likely intend to kill us all and take everything. On the off-chance that the Vault may grant us sanctuary, many of us have decided to force our way inside and bolt the door, taking as many provisions with us as we can carry. In case you find this, send for help immediately and open the Vault. Find us inside.";name = "Planer Saul's Journal: Page 8"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1";icon_state = "ironsand1"},/area/awaymission/wwmines)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -591,56 +577,56 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaabpbpbpbpbpbpbpbpbpbpaabpaabpbpbpbpaaaaaabpbpbpbpbpbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaQaUbrbabababababaaUaRaXaXaXaXaXbkbhbhbhaXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaXbhbhbhbhaXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaRaRaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbxbwbwbwbwbwbwbxbxbxbxbxbwbwbxbxbxbwbxbxbxbxbwbwbwbwbwbxbxbxbxbxaabpaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaQaUbababababababaaUaRaXaXaXaXaXbhbhbhbhaXeXbybAbAbEbAbAbAeXbHbzbIbzbBeXaXbhbhbCbhaXeXbDbDbDbJbDbDbDbKbBbBbNbLbFbGbBbObhbhbhbhbPbAbAbQbSbRbAbTeXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaRaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbUbMbVbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbXbMcaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaQaUbabababfbababaaUaRaXaXaXaXaXbhbhbhbhaXeXcbccbAbAbAcecdeXbhbhbhbhbheXaXbhbhbhbhaXeXbDbDbDbDbDbDbDbhbhbhbhbhbhbhbhbhbhbhbhbhbhbAbAbAbAbAbAbAeXaXbhbhbhbhaXbgaXaXaXaXaXaXaXaXaXaXaXaRaRaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaabpcjcmclclclclclclclclclcnclclclclclclclclclclcnclclclclclclclclclcocaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaQaUbfbababababfbaaUaRaXbdaXaXbtbhbhbhbhaXeXbAbAbAbAbAbAbAeXbhbhbhbhbheXaXbhbkbhbhaXeXbDbDbDbDbDbDbDbBbBbBbBbBbBbBcpbBbYbBbBbBbZbAbAbAbAcqbAbAeXaXbhbhbhbhaXaXaXaXaXaXaXbgaXaXaXaXaXaXaRaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaabpcjcuclbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMclcxcaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaGaGaQaUbababababababaaUaRaXaXaXaXaXbhbhbkbhaXeXcbcccybAbAcecdeXeXeXeXeXcfeXaXbhbnbhbhaXeXcBcgbDbDchcgbDbBcicicicicicicicibhbhbhbhbBbAbAbAbAbAbAcdeXaXbhbhbCbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaabpcjcuclbMcDcDcDcDcDcDbMckczcFczczckcEczckckcFckczbMcPcNcQcNcRbMclcxcSaaaaaaaaaaaabpcrbpaaaaaaaaaaaaaaaaaaaGaGaQaUbababababababmaUaRaXaXaXaXaXbibhbhbhaXeXbAbAbAbAbAbAbAcfbhbhbhbhbheXaXbhbhbhbhaXeXbDbDbDcsbDbDbDbBbhbhbhbhbhbhbhbhbhbhbhbhbBbAbAbAbAbAbAbAeXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaRaRaXaRaQaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaabpcjcuclbMckckckczckckbMckctctctctcLctcLckcvcvczckbMcNcNcNcNcNbMcncxcSaaaaaaaaaabpbpbpbpbpbpaaaaaaaaaaaaaaaGaGaQaUbabmbabmbababaaUaRaXaXaXaXaXbhbhbhbhaXeXeXeXeXeXeXeXeXeXbhbhbhbhcYeXaXbhcwbhbhaXeXbDbDbDbDbDbDbDbBbhbhbhbhgPbhbhgPbhbhbhbhbBbAbAbAbAbAbAbAeXaXbhbhbhbhaXaXcZaXaXaXaXaXaXaXaXaRaRaRaRaQaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaabpbpbUcuclbMdccXckckckddbMdecLctctctctctctcAckckckddbMdgcNdhcNdibMclcxcSbpbpaabpbpbpaaaaaabpbpbpbpaaaaaaaaaGaGaGaQaUbababababababaaUaRaXaXaXaXaXbhbhbhbhaXeXdjbhdkbhbhbhdkbhbhbhbhbhbheXaXbhbhbhbhaXeXbBbBbBbBbBbBbBbBbhbhbhdneXdocYeXdobhbhbhbBbBbBdqdrbBbBbBeXaXbkbhbnbhaXaXaXaXaXaXaXaXaXaXaXaXaRaRaRaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaabpaacjcuclbMcGcCckckcIckcJckctctctctcKctctcAckckckckbMcNcNcNcNcNbMcncxcaaacrbpbpaaaaaaaaaaaaaaaabpbpbpaaaaaGaGaGaQaUbfbabababababaaUaRaXaXaXaXaXbhbibhbhaXeXdjbhbheXeXbhbheXeXbhbheXeXeXaXbhbhbhbhaXeXbhcicicicicicibhbhbhbhbhdkbhbhdkbhbhbhbhbhcicicicicicibheXaXbhbhbhbhaXaXaXaXaXaXaXaXbdaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaabpaacjdsclbMdtcXckckckckbMckctctctctctctctcMckckckckcJcNcNcNcNcNbMclducaaabpaaaaaaaaaaaaaaaaaaaaaaaabpaaaGaGaGaGaQaUbabfbacObababaaUaRaXbjaXaXbgbhbhbhbhaXeXdjbCbhdjeXbhbheXbhbhbhbhbheXaXbhbhbhbhaXeXbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbheXaXbhbhbhbhaXaXaXbgaXaXaXaXaXaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaabpaabUbMclbMckckckckckckbMckctctdwctctctctcMckckckckbMcNdxdzdycNbMclbMcaaabpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaQaUbababababababaaUaRaXaXaXaXaXbhbhbhbhaXeXdjbhbhdjeXbhbheXdEbhbhbhdFeXaXbhbhbhbkaXeXcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbheXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacrbpbUdGclbMdeckcIckczddbMdectctctctctctctcMckckckddbMdIcNdJcNdibMcldKcaaabpbpaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaQaQaUbababababfbabaaUaRaXaXaXaXaXbhbhbkbhaXeXdjbhgPdjeXbhbheXcTbhbhbhcUeXaXbkbhbhbhaXeXbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbheXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpbpaacjcuclbMckckckckckczbMckcLctcHctctctctckckckckckbMcNcNcNcNcNbMclcxcabpbpbpbpaaaaaaaaaaaaaaaaaGaGaGaGaGaGaQaQaUaUbabababababadbaUaRaXaXaXaXaXbhbhbhbhaXeXeXeXeXeXeXcfcfeXeXdLdLeXeXeXaXbhbhbvbhaXeXeXeXeXdLdLdLeXeXeXeXeXeXeXdMdNeXeXeXeXeXeXeXdLdLdLeXeXeXeXaXcwbhbkbhaXaXaXbjaXaXaXaXaXaXaXaXaXaRaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpaaaadfcuclbMckdPczckckckbMckckhcckckckhccIckckhcckckbMdQdQdSdRdRbMclcxcSbpaaaabpbpbpbpaaaaaaaGaGaGaGaGaGaGaGaQaUaUbfbmbabababmbabaaUaRaXaXaXaXaXbhbhbhbhaXaXaXaXaXaXdUdVaXdUaXaXaXaXaXaXaXbhbhbhbhaXaXaXaXdUaXaXaXdUaXaXaXaXaXdUbgdVdUaXaXaXaXaXdUaXaXaXdUaXaXaXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpaaaadfcuclbMbMbMbMbMbMbMbMbMbMbMcJcJbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMclcxcSaaaaaaaaaaaabpbpbpaGaQaQaQaQaQaQaQaQaQaUaZbabababababababfaUaRaXaXaXaXaXbhbhbibhbhbhbhbhbhbhbhdlbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdmbhbhbhbhbhdlbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhbvbhbhbhaXaXaXaXdWaXaXaXaXaXaXaXaXaRaRaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpaaaadfcuclclclclclclcldXclclcldYclcldYclclclclclclclclclclclclclcldXcxcSbpaaaaaaaaaaaaaaaGaGaQaUaUaUaUaUaUaUaUaUbabababababfbaaUaUaUaRaXaXaXaXaXbhbhdabhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhcwbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaXaXaXaXaXaXaXbgaXaXaXaXaXaRaRaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpaaaadfcucldXclclclclclclclclclclcldZclclclclclcldXclclcleaclclclclclcxcabpaaaaaaaaaaaaaaaGaGaQaUaZbabmbababfbabababababababmbaaUaNaRaRaXaXaXaXaXbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbvbhbhcwbhbkbhbhbhbhbhbhbhbkbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpaaaadfcuclclclbMbMbMclclclclclclclcnclclclclclcldZcleaclclclclcnclclcxcabpaaaaaaaaaaaaaGaGaGaQaUbababababababababmbababfbaaUaUaUaRaRaXaXbdaXaXaXbqbhbhbhbhbhbhbnbhbhbhbhbhbhbhdlbhbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbnbhbhbhbhaXaXaXaXebaXaXebaXaXaXaXaXaRaRaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpaaaadfcuclclclbMecbMclclcleaclclclclclclclclclclclclclclclcledclclclcxcabpbpaaaaaaaaaaaGaGaGaQaUbabfbababablbabababababaaUaUaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXebdVaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXbhbhdabheXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXdLdLeXeXeXeXeXaRaRaNaGaGaGaGaaaaaaaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabpbpaadfcueaclclbMeebMclclclclclclclclclclclclclclclcldXclcleaclclcnclcxcabpbpbpaaaaaGaGaGaGaGaQaUbabababababababababfbabaaUaNaNaRaRaXaXaXaXaXaXaXbdaXaXaXaXaXaXeXeXeXeXeXeXeXeXcfeXeXeXeXeXeXeXaXaXeXeXeXeXeXeXeXeXeXeXeXeXeXaXbvbhbhbheXbhbhbhdkbhbhdkbibhbheXdvefdvdvdvbhdveXbhbhdkbhbhbhdkbhbheXaRaNaNaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaabpbpdfdsclclclclcldYclclclclclclclclclclclegclclclclclclclclclclclclducabpaabpbpbpaGaGaGaGaGaQaUbmbabababfbabababaaUaUaUaUaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXbAehbAbAehbAeXbheXeibAbAbAbAeXaXaXeXbheldkelbhelbheldkelbheXaXbhbhbhbheXbhbDembDdAdBbDbDbDbhdCbhbhbhbhbhbhbheXdDcwenbhbvbheteobhdHaRaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaabpdfbMeuevevevevevevevevevevexeweweuevevevevevevevevevevevevevevexbMcabpaaaabpaGaGaGaGaGaGaQaUbababababababmbabaaUaNaNaNaRaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXeybAbAeCbAeDeXbheXeEbAbAbAbAeXaXaXeXbhbhbhbhbhbhbhbhbhbhbheXaXbkbhbhbheXbhbDdOeGeFeKeIdTbDbheXbhbhbhbheobhbheXbBbhenbhbhbhetbhbheXaRaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaabpbpaaeLeLeLeLeLeLeLeLeLeLeLeMeOeNeQePeLeLeLeLeLeLeMeLeLeLeLeLeLeMeLeLbpcraaaabpbpbpaGaQaQaQaQaUbbbbaUaUaUaUbabmaUaUaNaNaRaRaXaXaXaXbgaXaXaXaXaXeSaXaXbgaXaXaXeXeybEeTbAbAeDeXcYeXeVbAeTbAbAeXaXaXeXbhelbhelbhelbheWbhelbheXaXbhbhbhbheXdobDeYeFbDbDeFeZemcYeXdvbhbhbhbhbhbheXdDbhenbhbhcwetbhbhdHaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaabpbpbpbpdffdffcaaaaaaaaaaaaabpbpbpbpbpbpbpbpbpbpbpbpbpaaaaaacraQaQejejejejekekejejejaUaUaUaUaNaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXeybAbAfgbAeDeXbheXeEbAbAbEbAeXaXaXeXdobhbibhbhbhbhbhbhbhcYeXaXbhbhbhbheXbhbDdOeIbDbDeIdTfhbheXdvdvfibhbhhkbhdCbhbhbheobhbhetbhbheXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaaaaaabpbpaaaaaadffjfkcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpejejejekeqekekekekekejejejejaNaNaRaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXeyflbAbAfleDeXbheXeibAbAbAbAeXaXaXeXbhbhbhbhbhbCbhbhbhbhbhcfaXbhbhbnbheXbhbDeYeKbDbDeKeZbDbheXeXeXeXeXeXeXeXeXbhesesesesbhetbhbhdHaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpbpbpbpaaaaaaaadfeNfqcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXbgaXaXaXaXeXeXeXbAbAeXeXeXcfeXeXbAbAeXeXeXbdaXeXbhfrbhelbhelbhfsbhelbheXfubhbhbhbheXfvbDdOeFbDbDfwfxbDcYeXbHfzbHbHbHfzbHeXbhdDhpbBdDbhgPbhbheXaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadffdfAcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaezekekekekekekekekekekekekejaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXbhbhbhbhbhbhbhbhbhbhbhbhbhbheXdVaXeXdobhbhbhbhbhbhbhbhbhcYeXaXbhdabhbheXbhbDeYeIeFeGeKeZdpbheXbhbhbhbhbhbhbheXeXeXeXeXeXeBeXeXeXeXaRaNaNaGaGaGaGaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadffCeQcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafFfEfHfGekekekekekekekekekekekekejaNaNaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXbhbheHbheXeXeXeXeXeXbhbhbhbheXdVbdeXbhelbhfsbhelbhelbhelbheXaXbhbhbhbheXbhbDbDbDfLeJfMbDbDbhdCbhcwbhbhbvbhbhdCaLfQfUfRfXfXgafZaLeXaRaNaNaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeNgbcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeRekekeRekekekekekekekekekekekekejaNaNaNaRaXaXaXaXbgaXaXaXaXaXaXaNaNaXaXaXaXaXaXeXdobhbhbhbhgcgcgcgcbhbhbhbhcYeXdVaXeXbhbhbhbhbhbhbhbhbhbhbheXaXbhbhbhbheXbhbhbhgPbhbhgPbhbhbheXbhbhbhbhbhbhbheXaLaLaLgdfhgeaLaLaLeXaRaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadffjeQcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafFfEfEgfekekekekekekekekekekekekejaNaNaNaRaXaXaXaXaXaXaXaXaXaXaXaNaNaNaXaXaXaXaXeXbhbhbhgPdabibhbhbhbhgPbhbhbheXdVaXeXbhbhgPbhbhbhbhbhgPbhbheXaXbhbhbhbheXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaLaLggaLaLgeaLaLgheXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeNffcaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaagiekekekekekekekekekekekekejaNaNaNaRaXaXaXaXaXaXaXaXbtaXaXaXaNaNaNaXaXaXaXeXfaeXfaeXfaeXfaeXeXfaeXfaeXfbeXaXbgfceXeXeXeBeXeXeXeXeXeXeXeXaXbhbhcwbhglfebhdkbBbhbheXbhbhdkbhbheXbhbhdkbhbheXgmaLgnaLgmaLgnaLaLeXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaabxbxbxbxbxbxbxbxbxbxbxbxbxbxgoewewgpbxbxbxbxbxbxaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaagqekekekekekekekekekekekekejaNaNaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaNaNaNaXaXaXeXeXeXeXeXeXeXeXeXeXeXfceXeXeXeXaXaXgraXbdaXaXaXaXgsaXbdaXaXaXaXbhbhbhcYeXgtbhbhbBfmbheXbhfnbBfmbheXbhfobBfpbheXaLaLaLguaLaLaLguaLeXaRaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgxgvgvgvgvgvgvgvgvgvgvgvgvgvgvftftgvgvgvgvgvgvgygAbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaRaRaVaXaXaXaXaXaXaXaXaXaXaXaXaXaXaNaNaNaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeSbdgBfceXeXeXeXeXeBeXeXeXeXeXeXaXbvbhbheAcfbhbhbhbBbhbheXbhbhgCbhbCeXbvbhbhbhbheXdLdLdLeXdCeXaLgDaLeXaRaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBgAbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaagFekekekekekekekekekekekekejaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaNaNaXaXaXaXaXaXeXeXeXeXeXeXeXeXeXeXeXeXfcdVeXfDbhbhbhbhdkbhbhbhbhbheXaXbhgGbhbhcfbhbhbhbBfmcYeXbhfnbBfmbveXbhfobBfpbheXbhbhbhbhbhdLaLaLgheXaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftgHgHgIgJfIfIbpbpbpaaaaaaaaaaaaaaaaaaaaaagiekekekekekekeUekekekekekejaNaRaXaXaXaXaXaXaXaXaXaXaVaXaNaNaNaNaNaNaNaXaXaXaXaXaXeXfJepbhbhbhdkbhbhbhbhbheXdVeBbhbhbhbhdacwbhbhbhbhbhdMaXbhbvbhcYeXgtbvbhbBbhbheXdobhbBbhcYeXdocwgKbhcYeXeXeXeXbhbhdLaLgLaLeXaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftfNftfNfIfIfIbpbpaaaaaaaaaaaaaaaaaaaaaaaagqekekekekekekekekekekekekejaNaRaXaXaXaXaXaXaNaNaNaNaNaNaNaNaNaNaNaNaNaXaXaXaXaXaXeXbhbBbhbhbvbhfObhbveobheXgseXbhbheobhbhbhbhbhbhcwbheXfubhfPbhbheXfebhbhbBbhbheXbhfnbBfmbheXbhfobBfpbheXgMbheXfvbhdLaLaLaLeXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftfSftftftftftftftftftftftftftftftftftgvgvfTgJfIbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaekekekgwekekgwekekgwekekgwejaRaRaXaXaXaXaRaRaRaRaRaRaRaRaRaRaRaRaRgNaRaRaXaXaXaXaXeXbhbhbhbhbhgzfVdabhfWbhcfaXeXdobhbhbhbhbhgObhbhbhcYeXdWbhbhbhbheBgQbhbhbBfmcYeXbhbhbhbhbheXbhbhbhbhbheXfYbhcfbhbhdLaLgRaLeXaRaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBgAbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaekekgSgTekgSgTekgSgTekgSgTejaRaVaXaXaRaRaRaRaXaXaXaXaXaXaXaXdWaXaXaXaRaRaRaXaXaXaXeXdodabhbhbhbhbhbhgUbhcYeBfueXbhbhbhbhbhbhdabhbheobheBaXbhbhbhbheXfebhbhbBbhbheXeXeXcfeXeBeXeXeXcfeXeXeXeXeBeXbhbhdLaLaLgheXaRaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaekekgVgWekgXgWekgVgWekgXgWejaRaRaRaRaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXeSaXaRaRaRaXaXaXeXbhbhbvbhbnbhbhdabhbhbheXbdeXbhbhcwbhbhbhbibhbhbhbheXaXaXaXaXaXeXdobhcwbBbBbheXbhbhbvbhbhcwbhbhbhbhbhbhbhbhbhbvbheXaLgLaLeXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaabpcjclcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcncaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaQaUbfbababababfbaaUaRaXbdaXaXbtbhbhbhbhaXeXbAbAbAbAbAbAbAeXbhbhbhbhbheXaXbhbkbhbhaXeXbDbDbDbDbDbDbDbBbBbBbBbBbBbBcpbBbYbBbBbBbZbAbAbAbAcqbAbAeXaXbhbhbhbhaXaXaXaXaXaXaXbgaXaXaXaXaXaXaRaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaabpcjcocmbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMcmcucaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaGaGaQaUbababababababaaUaRaXaXaXaXaXbhbhbkbhaXeXcbcccybAbAcecdeXeXeXeXeXcfeXaXbhbnbhbhaXeXcBcgbDbDchcgbDbBcicicicicicicicibhbhbhbhbBbAbAbAbAbAbAcdeXaXbhbhbCbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaabpcjcocmbMcDcDcDcDcDcDbMckczcFczczckcEczckckcFckczbMcPcNcQcNcRbMcmcucSaaaaaaaaaaaabpcrbpaaaaaaaaaaaaaaaaaaaGaGaQaUbababababababmaUaRaXaXaXaXaXbibhbhbhaXeXbAbAbAbAbAbAbAcfbhbhbhbhbheXaXbhbhbhbhaXeXbDbDbDcsbDbDbDbBbhbhbhbhbhbhbhbhbhbhbhbhbBbAbAbAbAbAbAbAeXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaRaRaXaRaQaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaabpcjcocmbMckckckczckckbMckctctctctcLctcLckcvcvczckbMcNcNcNcNcNbMcmcucSaaaaaaaaaabpbpbpbpbpbpaaaaaaaaaaaaaaaGaGaQaUbabmbabmbababaaUaRaXaXaXaXaXbhbhbhbhaXeXeXeXeXeXeXeXeXeXbhbhbhbhcYeXaXbhcwbhbhaXeXbDbDbDbDbDbDbDbBbhbhbhbhgPbhbhgPbhbhbhbhbBbAbAbAbAbAbAbAeXaXbhbhbhbhaXaXcxaXaXaXaXaXaXaXaXaRaRaRaRaQaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaabpbpbUcocmbMdccXckckckddbMdecLctctctctctctcAckckckddbMdgcNdhcNdibMcmcucSbpbpaabpbpbpaaaaaabpbpbpbpaaaaaaaaaGaGaGaQaUbababababababaaUaRaXaXaXaXaXbhbhbhbhaXeXdjbhdkbhbhbhdkbhbhbhbhbhbheXaXbhbhbhbhaXeXbBbBbBbBbBbBbBbBbhbhbhdneXdocYeXdobhbhbhbBbBbBdqdrbBbBbBeXaXbkbhbnbhaXaXaXaXaXaXaXaXaXaXaXaXaRaRaRaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaabpaacjcocmbMcGcCckckcIckcJckctctctctcKctctcAckckckckbMcNcNcNcNcNbMcmcucaaacrbpbpaaaaaaaaaaaaaaaabpbpbpaaaaaGaGaGaQaUbfbabababababaaUaRaXaXaXaXaXbhbibhbhaXeXdjbhbheXeXbhbheXeXbhbheXeXeXaXbhbhbhbhaXeXbhcicicicicicibhbhbhbhbhdkbhbhdkbhbhbhbhbhcicicicicicibheXaXbhbhbhbhaXaXaXaXaXaXaXaXbdaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaabpaacjcZcmbMdtcXckckckckbMckctctctctctctctcMckckckckcJcNcNcNcNcNbMcmdscaaabpaaaaaaaaaaaaaaaaaaaaaaaabpaaaGaGaGaGaQaUbabfbacObababaaUaRaXbjaXaXbgbhbhbhbhaXeXdjbCbhdjeXbhbheXbhbhbhbhbheXaXbhbhbhbhaXeXbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbheXaXbhbhbhbhaXaXaXbgaXaXaXaXaXaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaabpaabUbMcmbMckckckckckckbMckctctdwctctctctcMckckckckbMcNdxdzdycNbMcmbMcaaabpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaQaUbababababababaaUaRaXaXaXaXaXbhbhbhbhaXeXdjbhbhdjeXbhbheXdEbhbhbhdFeXaXbhbhbhbkaXeXcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbheXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacrbpbUducmbMdeckcIckczddbMdectctctctctctctcMckckckddbMdIcNdJcNdibMcmdGcaaabpbpaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaQaQaUbababababfbabaaUaRaXaXaXaXaXbhbhbkbhaXeXdjbhgPdjeXbhbheXcTbhbhbhcUeXaXbkbhbhbhaXeXbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbheXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpbpaacjcocmbMckckckckckczbMckcLctcHctctctctckckckckckbMcNcNcNcNcNbMcmcucabpbpbpbpaaaaaaaaaaaaaaaaaGaGaGaGaGaGaQaQaUaUbabababababadbaUaRaXaXaXaXaXbhbhbhbhaXeXeXeXeXeXeXcfcfeXeXdLdLeXeXeXaXbhbhbvbhaXeXeXeXeXdLdLdLeXeXeXeXeXeXeXdMdNeXeXeXeXeXeXeXdLdLdLeXeXeXeXaXcwbhbkbhaXaXaXbjaXaXaXaXaXaXaXaXaXaRaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpaaaadfcocmbMckdPczckckckbMckckhcckckckhccIckckhcckckbMdQdQdSdRdRbMcmcucSbpaaaabpbpbpbpaaaaaaaGaGaGaGaGaGaGaGaQaUaUbfbmbabababmbabaaUaRaXaXaXaXaXbhbhbhbhaXaXaXaXaXaXdKdUaXdKaXaXaXaXaXaXaXbhbhbhbhaXaXaXaXdKaXaXaXdKaXaXaXaXaXdKbgdUdKaXaXaXaXaXdKaXaXaXdKaXaXaXaXbhbhbhbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpaaaadfcocmbMbMbMbMbMbMbMbMbMbMbMcJcJbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMcmcucSaaaaaaaaaaaabpbpbpaGaQaQaQaQaQaQaQaQaQaUaZbabababababababfaUaRaXaXaXaXaXbhbhbibhbhbhbhbhbhbhbhdlbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdmbhbhbhbhbhdlbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhbvbhbhbhaXaXaXaXdVaXaXaXaXaXaXaXaXaRaRaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpaaaadfcocmcmcmcmcmcmcmcmcmcmcmdWcmcmdWcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcucSbpaaaaaaaaaaaaaaaGaGaQaUaUaUaUaUaUaUaUaUbabababababfbaaUaUaUaRaXaXaXaXaXbhbhdabhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhcwbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaXaXaXaXaXaXaXbgaXaXaXaXaXaRaRaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpaaaadfcocmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcucabpaaaaaaaaaaaaaaaGaGaQaUaZbabmbababfbabababababababmbaaUaNaRaRaXaXaXaXaXbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbvbhbhcwbhbkbhbhbhbhbhbhbhbkbhaXaXaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpaaaadfcocmcmcmbMbMbMcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcucabpaaaaaaaaaaaaaGaGaGaQaUbababababababababmbababfbaaUaUaUaRaRaXaXbdaXaXaXbqbhbhbhbhbhbhbnbhbhbhbhbhbhbhdlbhbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbnbhbhbhbhaXaXaXaXdXaXaXdXaXaXaXaXaXaRaRaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpaaaadfcocmcmcmbMecbMcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcucabpbpaaaaaaaaaaaGaGaGaQaUbabfbababablbabababababaaUaUaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXdXdUaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXbhbhdabheXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXdLdLeXeXeXeXeXaRaRaNaGaGaGaGaaaaaaaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabpbpaadfcocmcmcmbMdYbMcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcucabpbpbpaaaaaGaGaGaGaGaQaUbabababababababababfbabaaUaNaNaRaRaXaXaXaXaXaXaXbdaXaXaXaXaXaXeXeXeXeXeXeXeXeXcfeXeXeXeXeXeXeXaXaXeXeXeXeXeXeXeXeXeXeXeXeXeXaXbvbhbhbheXbhbhbhdkbhbhdkbibhbheXdvefdvdvdvbhdveXbhbhdkbhbhbhdkbhbheXaRaNaNaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaabpbpdfcZcmcmcmcmcmdWcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmdscabpaabpbpbpaGaGaGaGaGaQaUbmbabababfbabababaaUaUaUaUaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXbAehbAbAehbAeXbheXeibAbAbAbAeXaXaXeXbheldkelbhelbheldkelbheXaXbhbhbhbheXbhbDembDdAdBbDbDbDbhdCbhbhbhbhbhbhbheXdDcwenbhbvbheteobhdHaRaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaabpdfbMdZeaeaeaeaeaeaeaeaeaeaebededdZeaeaeaeaeaeaeaeaeaeaeaeaeaeaebbMcabpaaaabpaGaGaGaGaGaGaQaUbababababababmbabaaUaNaNaNaRaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXeybAbAeCbAeDeXbheXeEbAbAbAbAeXaXaXeXbhbhbhbhbhbhbhbhbhbhbheXaXbkbhbhbheXbhbDdOeGeFeKeIdTbDbheXbhbhbhbheobhbheXbBbhenbhbhbhetbhbheXaRaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaabpbpaaeLeLeLeLeLeLeLeLeLeLeLeMeOeeegePeLeLeLeLeLeLeMeLeLeLeLeLeLeMeLeLbpcraaaabpbpbpaGaQaQaQaQaUbbbbaUaUaUaUbabmaUaUaNaNaRaRaXaXaXaXbgaXaXaXaXaXeraXaXbgaXaXaXeXeybEeTbAbAeDeXcYeXeVbAeTbAbAeXaXaXeXbhelbhelbhelbheWbhelbheXaXbhbhbhbheXdobDeYeFbDbDeFeZemcYeXdvbhbhbhbhbhbheXdDbhenbhbhcwetbhbhdHaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaabpbpbpbpdfeeegcaaaaaaaaaaaaabpbpbpbpbpbpbpbpbpbpbpbpbpaaaaaacraQaQejejejejekekejejejaUaUaUaUaNaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXeybAbAfgbAeDeXbheXeEbAbAbEbAeXaXaXeXdobhbibhbhbhbhbhbhbhcYeXaXbhbhbhbheXbhbDdOeIbDbDeIdTfhbheXdvdvfibhbhhkbhdCbhbhbheobhbhetbhbheXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaaaaaabpbpaaaaaadfeeegcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpejejejekeqekekekekekejejejejaNaNaRaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXeyflbAbAfleDeXbheXeibAbAbAbAeXaXaXeXbhbhbhbhbhbCbhbhbhbhbhcfaXbhbhbnbheXbhbDeYeKbDbDeKeZbDbheXeXeXeXeXeXeXeXeXbhesesesesbhetbhbhdHaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpbpbpbpaaaaaaaadfeeegcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXbgaXaXaXaXeXeXeXbAbAeXeXeXcfeXeXbAbAeXeXeXbdaXeXbhfrbhelbhelbhfsbhelbheXeubhbhbhbheXfvbDdOeFbDbDfwfxbDcYeXbHfzbHbHbHfzbHeXbhdDhpbBdDbhgPbhbheXaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeeegcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaezekekekekekekekekekekekekejaNaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXbhbhbhbhbhbhbhbhbhbhbhbhbhbheXdUaXeXdobhbhbhbhbhbhbhbhbhcYeXaXbhdabhbheXbhbDeYeIeFeGeKeZdpbheXbhbhbhbhbhbhbheXeXeXeXeXeXeBeXeXeXeXaRaNaNaGaGaGaGaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeeegcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaevewexeNekekekekekekekekekekekekejaNaNaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXeXbhbheHbheXeXeXeXeXeXbhbhbhbheXdUbdeXbhelbhfsbhelbhelbhelbheXaXbhbhbhbheXbhbDbDbDfLeJfMbDbDbhdCbhcwbhbhbvbhbhdCaLfQfUfRfXfXgafZaLeXaRaNaNaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeeegcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeRekekeRekekekekekekekekekekekekejaNaNaNaRaXaXaXaXbgaXaXaXaXaXaXaNaNaXaXaXaXaXaXeXdobhbhbhbhgcgcgcgcbhbhbhbhcYeXdUaXeXbhbhbhbhbhbhbhbhbhbhbheXaXbhbhbhbheXbhbhbhgPbhbhgPbhbhbheXbhbhbhbhbhbhbheXaLaLaLgdfhgeaLaLaLeXaRaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeeegcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeveweweQekekekekekekekekekekekekejaNaNaNaRaXaXaXaXaXaXaXaXaXaXaXaNaNaNaXaXaXaXaXeXbhbhbhgPdabibhbhbhbhgPbhbhbheXdUaXeXbhbhgPbhbhbhbhbhgPbhbheXaXbhbhbhbheXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaLaLggaLaLgeaLaLgheXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeeegcaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaeSekekekekekekekekekekekekejaNaNaNaRaXaXaXaXaXaXaXaXbtaXaXaXaNaNaNaXaXaXaXeXfaeXfaeXfaeXfaeXeXfaeXfaeXfbeXaXbgfceXeXeXeBeXeXeXeXeXeXeXeXaXbhbhcwbhglfebhdkbBbhbheXbhbhdkbhbheXbhbhdkbhbheXgmaLgnaLgmaLgnaLaLeXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaabxbxbxbxbxbxbxbxbxbxbxbxbxbxgoededgpbxbxbxbxbxbxaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaafdekekekekekekekekekekekekejaNaNaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXaNaNaNaXaXaXeXeXeXeXeXeXeXeXeXeXeXfceXeXeXeXaXaXffaXbdaXaXaXaXfjaXbdaXaXaXaXbhbhbhcYeXgtbhbhbBfmbheXbhfnbBfmbheXbhfobBfpbheXaLaLaLguaLaLaLguaLeXaRaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgxgvgvgvgvgvgvgvgvgvgvgvgvgvgvftftgvgvgvgvgvgvgygAbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaRaRaVaXaXaXaXaXaXaXaXaXaXaXaXaXaXaNaNaNaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXerbdfkfceXeXeXeXeXeBeXeXeXeXeXeXaXbvbhbheAcfbhbhbhbBbhbheXbhbhgCbhbCeXbvbhbhbhbheXdLdLdLeXdCeXaLgDaLeXaRaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBgAbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaafqekekekekekekekekekekekekejaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaNaNaXaXaXaXaXaXeXeXeXeXeXeXeXeXeXeXeXeXfcdUeXfDbhbhbhbhdkbhbhbhbhbheXaXbhgGbhbhcfbhbhbhbBfmcYeXbhfnbBfmbveXbhfobBfpbheXbhbhbhbhbhdLaLaLgheXaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftgHgHgIgJfIfIbpbpbpaaaaaaaaaaaaaaaaaaaaaaeSekekekekekekeUekekekekekejaNaRaXaXaXaXaXaXaXaXaXaXaVaXaNaNaNaNaNaNaNaXaXaXaXaXaXeXfJepbhbhbhdkbhbhbhbhbheXdUeBbhbhbhbhdacwbhbhbhbhbhdMaXbhbvbhcYeXgtbvbhbBbhbheXdobhbBbhcYeXdocwgKbhcYeXeXeXeXbhbhdLaLgLaLeXaRaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftfNftfNfIfIfIbpbpaaaaaaaaaaaaaaaaaaaaaaaafdekekekekekekekekekekekekejaNaRaXaXaXaXaXaXaNaNaNaNaNaNaNaNaNaNaNaNaNaXaXaXaXaXaXeXbhbBbhbhbvbhfObhbveobheXfjeXbhbheobhbhbhbhbhbhcwbheXeubhfPbhbheXfebhbhbBbhbheXbhfnbBfmbheXbhfobBfpbheXgMbheXfvbhdLaLaLaLeXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftfSftftftftftftftftftftftftftftftftftgvgvfTgJfIbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaekekekgwekekgwekekgwekekgwejaRaRaXaXaXaXaRaRaRaRaRaRaRaRaRaRaRaRaRgNaRaRaXaXaXaXaXeXbhbhbhbhbhgzfVdabhfWbhcfaXeXdobhbhbhbhbhgObhbhbhcYeXdVbhbhbhbheBgQbhbhbBfmcYeXbhbhbhbhbheXbhbhbhbhbheXfYbhcfbhbhdLaLgRaLeXaRaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBgAbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaekekfufAekfufAekfufAekfufAejaRaVaXaXaRaRaRaRaXaXaXaXaXaXaXaXdVaXaXaXaRaRaRaXaXaXaXeXdodabhbhbhbhbhbhgUbhcYeBeueXbhbhbhbhbhbhdabhbheobheBaXbhbhbhbheXfebhbhbBbhbheXeXeXcfeXeBeXeXeXcfeXeXeXeXeBeXbhbhdLaLaLgheXaRaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaekekfCfEekfFfEekfCfEekfFfEejaRaRaRaRaRaRaXaXaXaXaXaXaXaXaXaXaXaXaXeraXaRaRaRaXaXaXeXbhbhbvbhbnbhbhdabhbhbheXbdeXbhbhcwbhbhbhbibhbhbhbheXaXaXaXaXaXeXdobhcwbBbBbheXbhbhbvbhbhcwbhbhbhbhbhbhbhbhbhbvbheXaLgLaLeXaRaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahAekekekekekekekekekekekekejaGaNaNaRaRaXaXaXaXaXaRaRaRgNaXaXaXaXaXaXaXaXaXaRaRaXaXeXbhbhbhbhbhbhbhbheobhbheXaXeXbhbhbhgPbhbhgPbhbhbhbhfcaXbgaXaXaXeXbhbhgPbhbhcwcfbhbhgPbheobhbhbhgPbhbhfPcwbhgPbhbheXaLaLaLeXaRaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftfyftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejgYfEgfeRhagZezgYfEhdejejejaGaNaNaRaXaXaXaXaXaXaRaRaRaRaRaRaRaXaXaXeSaXaXaXaRaRaReXeXeXeXeXfcaXeXeXeXeXeXeXaXeXeXeXeXeBdLdLeXeXeXeXeXeXaXaXaXaXaXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaRaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagiekgiaaaaaaaaaaaGaGaGaGaNaRaRaXaXaXaXaXaXaXaXaXaXaRaRaRaRaRaRaXaXaXaXaXgNaRaRaXaXaXaXaXaXfceXeXaXaXaXaXaXaXaXaXdUaXaXdUaXaXaXaXaXaXaXaXaXaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftfSftftftftftftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagiekgiaaaaaaaaaGaGaGaGaGaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXgNaRaRaRaXaXaXeSaXaXaRaXaXeSaXaRaRaRaRaRaRaRaRaXaXaRaRaRaRaRaXaXaRaRaXaXaRaXaXaXaXaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaacjhegjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgkcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahfeRhfaaaaaaaaaGaGaGaGaNaNaRaRaRaRaRaRaXaXaXaXaXaXaXaXaXaXaRaRaRaRaRaXaXaXaXhgaXbdaXaXgNaNaNaNaNaNaNaRaRaRaRaNaNaNaRaRaRaRaRaRaRaRaXaRaRaRaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahihhhlhjhmhhhnaaaaaaaGaGaGaNaNaNaRaRaRaRaRaRgNaRaRaXaXaXaXaXaXaXaXaRaRaRaRaXaXbdeSaXaXaXaXaRaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaNaNaNaNaRaRaRaGaGaGaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhohohrhohohqaaaaaaaGaGaGaNaNaRaRaXaXaXaXaRaRaNaRaRaXaXaXaXaXaXaXaXaRaNaRaRaXaXaXeSaXhgaRaRaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaGaGaGaaaaaaaaaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftfyftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejfGeweQeRfHfKezfGewgbejejejaGaNaNaRaXaXaXaXaXaXaRaRaRaRaRaRaRaXaXaXeraXaXaXaRaRaReXeXeXeXeXfcaXeXeXeXeXeXeXaXeXeXeXeXeBdLdLeXeXeXeXeXeXaXaXaXaXaXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaRaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftftftftftftftftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeSekeSaaaaaaaaaaaGaGaGaGaNaRaRaXaXaXaXaXaXaXaXaXaXaRaRaRaRaRaRaXaXaXaXaXgNaRaRaXaXaXaXaXaXfceXeXaXaXaXaXaXaXaXaXdKaXaXdKaXaXaXaXaXaXaXaXaXaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjgEftftftftftftftfSftftftftftftftftftftftftftftfBcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeSekeSaaaaaaaaaGaGaGaGaGaNaRaXaXaXaXaXaXaXaXaXaXaXaXaXaXgNaRaRaRaXaXaXeraXaXaRaXaXeraXaRaRaRaRaRaRaRaRaXaXaRaRaRaRaRaXaXaRaRaXaXaRaXaXaXaXaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaacjhegjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgkcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfeRgfaaaaaaaaaGaGaGaGaNaNaRaRaRaRaRaRaXaXaXaXaXaXaXaXaXaXaRaRaRaRaRaXaXaXaXhgaXbdaXaXgNaNaNaNaNaNaNaRaRaRaRaNaNaNaRaRaRaRaRaRaRaRaXaRaRaRaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLeLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahihhhlhjhmhhhnaaaaaaaGaGaGaNaNaNaRaRaRaRaRaRgNaRaRaXaXaXaXaXaXaXaXaRaRaRaRaXaXbderaXaXaXaXaRaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaNaNaNaNaRaRaRaGaGaGaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhohohrhohohqaaaaaaaGaGaGaNaNaRaRaXaXaXaXaRaRaNaRaRaXaXaXaXaXaXaXaXaRaNaRaRaXaXaXeraXhgaRaRaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaGaGaGaaaaaaaaaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhohohrhohohqaaaaaaaaaGaGaGaRaRaXaXaXaXaXaXaRaRaNaRaRaRaXaXaXaXaXaXaRaRaRaRaRaXbdaXaXaRaGaaaaaaaaaGaGaGaGaGaaaGaaaaaaaGaGaGaGaaaGaGaGaGaGaGaGaaaaaaaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaGaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhohohrhohohqaaaaaaaaaGaGaGaRaXaXaXaXaXaXaXaXaRaRaRaNaRaRaXaXaXaXaXaXaXaXaRaRaRhgaXaXaRaGaaaaaaaaaaaGaGaGaaaaaaaaaaaaaaaGaGaaaaaaaGaGaGaaaaaaaaaaaaaGaGaGaGaGaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaaaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahthshuhrhrhvhwaaaaaaaGaGaGaRaRaXaXaXaXaXaXaXaXaXaXaRaRaRaRaRaXaXaXaXaXaXaXaXaXaRaRaXaXaRaGaaaaaaaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhrhrhrhqaaaaaaaaaGaGaGaRaXaXaXaXaXaXaXaXaXaXaXaRgNaXaXaRaRaRaRaRaRgNaRaXaXaRaRaRaRaRaGaaaaaaaaaaaaaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhrhohrhqaaaaaaaaaGaGaGaRaXaXaXaXaXaXaXhxhxaXaXaXaRaXaXaXaRaRaRaRaRaRaRaRaXaXaRaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhyhyhyhqaaaaaaaaaGaGaGaRaXaRaRaXaXaXaXhxhxaXaXaXaXaXaXaXaXaXaXaXaXaXaRaRaXaXgNaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahthhhzhhhwaaaaaaaaaGaGaGaRaRaRaXaXaXaXaXhxhxaXaXaXaXaXhBaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhrhohrhqaaaaaaaaaGaGaGaRaXaXaXaXaXaXaXgigiaXaXaXaRaXaXaXaRaRaRaRaRaRaRaRaXaXaRaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahqhyhyhyhqaaaaaaaaaGaGaGaRaXaRaRaXaXaXaXgigiaXaXaXaXaXaXaXaXaXaXaXaXaXaRaRaXaXgNaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahthhhzhhhwaaaaaaaaaGaGaGaRaRaRaXaXaXaXaXgigiaXaXaXaXaXgqaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaNaNaNaRaRaRaRaRaRaRaRaRaRgNaRaRaRaXaXaXaXaXaXaXaXaXaXaXaXaRaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaGaGaNaNaNaNaNaGaGaGaGaGaRaRaRaRaRgNaRaRaRaRaRaRaRaRaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 5e58016fc10..bd18d50835d 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -100,7 +100,7 @@
"abV" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"abW" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"abX" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"abY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"abY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/obj/machinery/hologram/holopad,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"abZ" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"aca" = (/obj/machinery/hydroponics/soil,/obj/item/seeds/apple,/obj/item/seeds/apple,/obj/item/seeds/apple,/turf/simulated/floor/grass,/area/security/permabrig)
"acb" = (/obj/item/soap/nanotrasen,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
@@ -109,8 +109,8 @@
"ace" = (/obj/structure/chair/comfy/black{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"acf" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"acg" = (/obj/machinery/hydroponics/soil,/obj/item/seeds/corn,/obj/item/seeds/corn,/obj/item/seeds/corn,/obj/item/radio/intercom/locked/prison{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/grass,/area/security/permabrig)
-"ach" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aci" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"ach" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aci" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"acj" = (/obj/machinery/hydroponics/soil,/obj/item/seeds/wheat/rice,/obj/item/seeds/wheat/rice,/obj/item/seeds/wheat/rice,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/grass,/area/security/permabrig)
"ack" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"acl" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
@@ -121,56 +121,56 @@
"acq" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate)
"acr" = (/obj/machinery/door/window{dir = 2; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"acs" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/syndicate)
-"act" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"act" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"acu" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/permabrig)
-"acv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acx" = (/obj/machinery/biogenerator,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"acv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acx" = (/obj/machinery/biogenerator,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"acy" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/permabrig)
"acz" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"acA" = (/obj/structure/table,/obj/item/storage/box/zipties,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"acB" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/camera{c_tag = "Prison Garden"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acC" = (/obj/item/reagent_containers/glass/bucket,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acE" = (/obj/machinery/seed_extractor,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"acB" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/camera{c_tag = "Prison Garden"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acC" = (/obj/item/reagent_containers/glass/bucket,/obj/item/reagent_containers/glass/bucket,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acE" = (/obj/machinery/seed_extractor,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"acF" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; tag = "icon-shower (EAST)"},/obj/item/bikehorn/rubberducky,/obj/item/radio/intercom/locked/prison{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"acG" = (/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"acH" = (/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"acI" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"acJ" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"acK" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acL" = (/obj/structure/table/glass,/obj/structure/table/glass,/obj/item/reagent_containers/glass/bottle/nutrient/ez,/obj/item/reagent_containers/glass/bottle/nutrient/ez,/obj/item/reagent_containers/glass/bottle/nutrient/ez,/obj/item/reagent_containers/spray/pestspray,/obj/item/reagent_containers/spray/pestspray,/obj/item/reagent_containers/spray/pestspray,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/table/glass,/obj/item/cultivator,/obj/item/plant_analyzer,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"acK" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acL" = (/obj/structure/table/glass,/obj/structure/table/glass,/obj/item/reagent_containers/glass/bottle/nutrient/ez,/obj/item/reagent_containers/glass/bottle/nutrient/ez,/obj/item/reagent_containers/glass/bottle/nutrient/ez,/obj/item/reagent_containers/spray/pestspray,/obj/item/reagent_containers/spray/pestspray,/obj/item/reagent_containers/spray/pestspray,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/table/glass,/obj/item/cultivator,/obj/item/plant_analyzer,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"acO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"acP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
-"acQ" = (/obj/machinery/door/airlock{name = "Bathroom"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"acQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/public/glass{name = "Prison Garden"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"acR" = (/obj/machinery/door/airlock{name = "Toilet"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"acS" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig)
"acT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/syndicate)
"acU" = (/obj/machinery/porta_turret/syndicate,/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/shuttle/syndicate)
"acV" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/security/permabrig)
"acW" = (/turf/simulated/wall,/area/security/permabrig)
-"acX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/public/glass{name = "Prison Garden"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"acY" = (/obj/machinery/door/airlock/public/glass{name = "Prison Garden"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"acX" = (/obj/machinery/door/airlock/public/glass{name = "Prison Garden"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"acY" = (/obj/machinery/door/airlock{name = "Bathroom"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"acZ" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/security/permabrig)
"ada" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/security/permabrig)
-"adb" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adc" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/item/radio/intercom/locked/prison{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"adb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/twohanded/required/kirbyplants,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adc" = (/obj/machinery/computer/arcade,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"add" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/security/permabrig)
"ade" = (/obj/structure/closet/syndicate/suits,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"adf" = (/obj/effect/landmark{name = "Syndicate-Uplink"; tag = ""},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"adg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adh" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adj" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/table,/obj/machinery/kitchen_machine/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adk" = (/obj/machinery/newscaster{pixel_y = 32},/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adl" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adm" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; layer = 2.4; on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"adg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adh" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/table,/obj/machinery/kitchen_machine/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adi" = (/obj/machinery/newscaster{pixel_y = 32},/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adj" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adk" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adl" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adm" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/item/radio/intercom/locked/prison{pixel_x = 0; pixel_y = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adn" = (/obj/machinery/computer/library/public,/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"ado" = (/turf/simulated/floor/plasteel,/area/security/permabrig)
-"adp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adq" = (/obj/machinery/computer/library/public,/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"adp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/chair/stool,/obj/item/radio/intercom/locked/prison{pixel_x = -25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adq" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 4; frequency = 1443; id = "air_in"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"adr" = (/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/permabrig)
"ads" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/permabrig)
"adt" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/security/permabrig)
@@ -183,16 +183,16 @@
"adA" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate)
"adB" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "smindicate"; name = "Outer Airlock"; opacity = 0},/obj/machinery/door_control{id = "smindicate"; name = "External Door Control"; pixel_x = -26; pixel_y = -2; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; roundstart_move = "syndicate_away"; width = 18},/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_nw"; name = "northwest of station"; width = 18},/turf/simulated/shuttle/plating,/area/shuttle/syndicate)
"adC" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate)
-"adD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/chair/stool,/obj/item/radio/intercom/locked/prison{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adE" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 4; frequency = 1443; id = "air_in"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adF" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adH" = (/obj/structure/chair/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adI" = (/obj/structure/table,/obj/item/dice/d20,/obj/item/instrument/harmonica,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adJ" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/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/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"adD" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adF" = (/obj/structure/chair/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adG" = (/obj/structure/table,/obj/item/dice/d20,/obj/item/instrument/harmonica,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adH" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; layer = 2.4; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/machinery/gameboard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adL" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"adN" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/permabrig)
"adO" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/permabrig)
"adP" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/security/permabrig)
@@ -203,25 +203,25 @@
"adU" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"adV" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"adW" = (/obj/machinery/atmospherics/unary/tank/air{dir = 2},/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/shuttle/syndicate)
-"adX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/machinery/gameboard,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adY" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"adZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aea" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aec" = (/obj/structure/chair/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aed" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aee" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aef" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"adX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"adZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aea" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/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/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeb" = (/obj/structure/chair/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aec" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aed" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aee" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aef" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeh" = (/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/permabrig)
"aei" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall,/area/security/permabrig)
"aej" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/security/permabrig)
"aek" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; on = 1},/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/security/permabrig)
-"ael" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"ael" = (/obj/machinery/camera{c_tag = "Prison West"; dir = 1; network = list("SS13")},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aem" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/security/permabrig)
-"aen" = (/obj/machinery/camera{c_tag = "Prison West"; dir = 1; network = list("SS13")},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"aen" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/security/permabrig)
-"aep" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"aep" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeq" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/security/permabrig)
"aer" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/security/permabrig)
"aes" = (/obj/machinery/door/window{dir = 4; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
@@ -230,19 +230,19 @@
"aev" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"aew" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1331; id_tag = "synd_airlock"; pixel_x = 25; req_access_txt = "150"; tag_airpump = "synd_pump"; tag_chamber_sensor = "synd_sensor"; tag_exterior_door = "synd_outer"; tag_interior_door = "synd_inner"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "synd_sensor"; pixel_x = 25; pixel_y = 12; req_access_txt = "150"},/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"aex" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_nw"; name = "northwest of SS13"; width = 19},/turf/space,/area/space)
-"aey" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aez" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeD" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeE" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeF" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeG" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeH" = (/obj/machinery/camera{c_tag = "Prison East"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeI" = (/obj/machinery/door/airlock/public/glass{name = "Prison Basketball Court"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"aey" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aez" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/item/twohanded/required/kirbyplants,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeD" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeE" = (/obj/machinery/camera{c_tag = "Prison East"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeG" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeI" = (/obj/machinery/door/airlock/public/glass{name = "Prison Basketball Court"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeJ" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "co2_in"; pixel_y = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/security/permabrig)
-"aeK" = (/obj/machinery/vending/sustenance,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"aeK" = (/obj/machinery/vending/sustenance,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeL" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/holofloor,/area/security/permabrig)
"aeM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeN" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/holofloor,/area/security/permabrig)
@@ -253,33 +253,33 @@
"aeS" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"aeT" = (/obj/machinery/camera{c_tag = "Prison Basketball Court"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/security/permabrig)
"aeU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel,/area/security/permabrig)
-"aeV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"aeY" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Lockdown 1"; name = "Prison Lockdown Door"; opacity = 0},/obj/machinery/door/airlock/public/glass{name = "Cell Door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"aeV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"aeY" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Lockdown 1"; name = "Prison Lockdown Door"; opacity = 0},/obj/machinery/door/airlock/public/glass{name = "Cell Door"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aeZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/security/permabrig)
-"afa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Lockdown 2"; name = "Prison Lockdown Door"; opacity = 0},/obj/machinery/door/airlock/public/glass{name = "Cell Door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afb" = (/obj/machinery/flasher{id = "permaflash1"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Lockdown 3"; name = "Prison Lockdown Door"; opacity = 0},/obj/machinery/door/airlock/public/glass{name = "Cell Door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afd" = (/obj/machinery/flasher{id = "permaflash2"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afe" = (/obj/machinery/flasher{id = "permaflash3"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"afa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Lockdown 2"; name = "Prison Lockdown Door"; opacity = 0},/obj/machinery/door/airlock/public/glass{name = "Cell Door"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afb" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Lockdown 3"; name = "Prison Lockdown Door"; opacity = 0},/obj/machinery/door/airlock/public/glass{name = "Cell Door"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afc" = (/obj/machinery/vending/sustenance,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afe" = (/obj/machinery/flasher{id = "permaflash1"; pixel_x = 28; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"aff" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/permabrig)
"afg" = (/obj/item/radio/intercom/syndicate{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"afh" = (/obj/machinery/vending/sustenance,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"afh" = (/obj/machinery/flasher{id = "permaflash2"; pixel_x = 28; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afi" = (/obj/machinery/flasher{id = "permaflash3"; pixel_x = 28; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"afj" = (/obj/item/clothing/mask/gas/clown_hat,/turf/simulated/floor/plating/airless,/area/space)
"afk" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/security/permabrig)
"afl" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/security/permabrig)
"afm" = (/obj/structure/grille,/obj/structure/sign/securearea{pixel_x = -30},/turf/simulated/floor/plating/airless,/area/space)
-"afn" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison 1"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afo" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison 2"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison 3"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"afn" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afo" = (/obj/structure/bed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison 1"; req_access_txt = "2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"afq" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "Brig Secure Armory Exterior East"; dir = 4; network = list("SS13")},/turf/space,/area/security/permabrig)
"afr" = (/obj/machinery/camera{c_tag = "Brig Secure Armory Exterior North"; dir = 2; network = list("SS13")},/obj/structure/lattice,/turf/space,/area/security/permabrig)
"afs" = (/obj/machinery/door_control{id = "Prison Lockdown 1"; name = "Cell 1 Lockdown"; pixel_x = -3; pixel_y = 24; range = 5; req_access_txt = "2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; on = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
"aft" = (/obj/machinery/door_control{id = "Prison Lockdown 2"; name = "Cell 2 Lockdown"; pixel_x = -3; pixel_y = 24; range = 5; req_access_txt = "2"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
"afu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "south bump Important Area"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig)
-"afv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"afv" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison 2"; req_access_txt = "2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"afw" = (/obj/machinery/flasher_button{id = "permaflash1"; pixel_x = 0; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig)
"afx" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/security/permabrig)
"afy" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_ne"; name = "northeast of station"; width = 18},/turf/space,/area/space)
@@ -296,8 +296,8 @@
"afJ" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/security/permabrig)
"afK" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
"afL" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
-"afM" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"afN" = (/obj/structure/bed,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"afM" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison 3"; req_access_txt = "2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
+"afN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"afO" = (/turf/simulated/floor/plating/airless,/area/space)
"afP" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
"afQ" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
@@ -323,10 +323,10 @@
"agk" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent{filled = 0.2},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/permabrig)
"agl" = (/obj/machinery/computer/area_atmos/area,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
"agm" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/obj/structure/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
-"agn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"agn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"ago" = (/obj/machinery/camera{c_tag = "Prison Air Control"; dir = 6; network = list("Prison","SS13")},/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
"agp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/light_switch{pixel_y = 25},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
-"agq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"agq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"agr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
"ags" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig)
"agt" = (/turf/simulated/wall/r_wall,/area/security/armoury)
@@ -352,7 +352,7 @@
"agN" = (/obj/machinery/atmospherics/binary/valve{dir = 4},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig)
"agO" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig)
"agP" = (/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig)
-"agQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"agQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/permabrig)
"agR" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/storage/box/buck{pixel_x = -3; pixel_y = 3},/obj/item/storage/box/buck,/obj/item/storage/box/buck{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury)
"agS" = (/obj/structure/rack,/obj/item/gun/projectile/shotgun/riot{pixel_x = -3; pixel_y = 3},/obj/item/gun/projectile/shotgun/riot,/obj/item/gun/projectile/shotgun/riot{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury)
"agT" = (/turf/simulated/wall,/area/security/vacantoffice{name = "\improper Security Toilet"})
@@ -434,11 +434,11 @@
"air" = (/obj/effect/decal/warning_stripes/west,/obj/effect/decal/warning_stripes/east,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/securearmoury)
"ais" = (/obj/machinery/door/airlock{name = "Toilet"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/vacantoffice{name = "\improper Security Toilet"})
"ait" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/permabrig)
-"aiu" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
+"aiu" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/security/permabrig)
"aiv" = (/turf/simulated/wall/r_wall,/area/security/securearmoury)
"aiw" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "west bump Important Area"; pixel_x = -24; shock_proof = 0},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/camera{c_tag = "Brig Armory"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/armoury)
"aix" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/security/armoury)
-"aiy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury)
+"aiy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/armoury)
"aiz" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/armoury)
"aiA" = (/obj/effect/decal/warning_stripes/east,/obj/effect/decal/warning_stripes/west,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/motion{c_tag = "Secure Armory"; dir = 4; network = list("SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/securearmoury)
"aiB" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/armor/laserproof{pixel_x = 0; pixel_y = 0},/obj/item/gun/energy/ionrifle,/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury)
@@ -473,11 +473,11 @@
"aje" = (/obj/item/skeleton/r_arm,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox)
"ajf" = (/obj/structure/bed,/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/execution{name = "\improper Prisoner Transfer Center"})
"ajg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/permabrig)
-"ajh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury)
-"aji" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury)
+"ajh" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/armoury)
+"aji" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/permabrig)
"ajj" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/securearmoury)
"ajk" = (/obj/vehicle/secway,/obj/item/key/security,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/armoury)
-"ajl" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury)
+"ajl" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/armoury)
"ajm" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/hardsuit/security,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/security,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury)
"ajn" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/security/armoury)
"ajo" = (/obj/effect/decal/warning_stripes/east,/obj/effect/decal/warning_stripes/west,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/securearmoury)
@@ -527,8 +527,8 @@
"akg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"})
"akh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"})
"aki" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/permabrig)
-"akj" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig)
-"akk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury)
+"akj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/armoury)
+"akk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/armoury)
"akl" = (/obj/machinery/door/airlock/security{name = "Warden's office"; req_access = null; req_access_txt = "3"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/armoury)
"akm" = (/obj/effect/decal/warning_stripes/northwestcorner,/obj/effect/decal/warning_stripes/northeastcorner,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/securearmoury)
"akn" = (/obj/machinery/space_heater,/obj/machinery/light_switch{pixel_x = -25},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/security/podbay)
@@ -567,7 +567,7 @@
"akU" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/security/glass{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/permabrig)
"akV" = (/obj/structure/chair{dir = 8},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"})
"akW" = (/turf/simulated/wall,/area/security/range)
-"akX" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/range)
+"akX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/armoury)
"akY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"})
"akZ" = (/turf/simulated/wall/r_wall,/area/security/prisonlockers)
"ala" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"})
@@ -599,7 +599,7 @@
"alA" = (/obj/item/clothing/head/bearpelt,/obj/item/xenos_claw,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox)
"alB" = (/turf/simulated/floor/plasteel,/area/security/range)
"alC" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/hos)
-"alD" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/range)
+"alD" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"alE" = (/obj/structure/closet/secure_closet/brig,/turf/simulated/floor/plasteel,/area/security/prisonlockers)
"alF" = (/obj/structure/chair{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/plasteel,/area/security/main)
"alG" = (/obj/machinery/vending/cigarette,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel,/area/security/main)
@@ -636,7 +636,7 @@
"aml" = (/obj/item/stack/spacecash/c50,/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox)
"amm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/main)
"amn" = (/obj/structure/table/reinforced,/obj/item/folder/red{pixel_y = 3},/obj/item/book/manual/sop_legal,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel,/area/security/main)
-"amo" = (/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/range)
+"amo" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"amp" = (/obj/structure/chair{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Brig Briefing Room East"; dir = 8; network = list("SS13")},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/plasteel,/area/security/main)
"amq" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main)
"amr" = (/obj/structure/chair/comfy/black{dir = 4},/obj/effect/landmark/start{name = "Head of Security"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
@@ -668,7 +668,7 @@
"amR" = (/obj/machinery/computer/security{network = list("SS13","Research Outpost","Mining Outpost")},/obj/machinery/camera{c_tag = "Brig Pod Pilot's Office"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
"amS" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/security/hos)
"amT" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command/glass{name = "Head of Security"; req_access_txt = "58"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
-"amU" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"amU" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"amV" = (/obj/structure/sign/nosmoking_2,/turf/simulated/wall/r_wall,/area/security/podbay)
"amW" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space)
"amX" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/security/hos)
@@ -687,7 +687,7 @@
"ank" = (/obj/structure/closet/secure_closet/brig,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel,/area/security/prisonlockers)
"anl" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/prisonlockers)
"anm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/permabrig)
-"ann" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury)
+"ann" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"ano" = (/obj/machinery/sleeper{dir = 2; icon_state = "sleeper"; tag = "icon-sleeper (NORTH)"},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/security/medbay)
"anp" = (/obj/structure/closet/secure_closet/brigdoc,/obj/item/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/security/medbay)
"anq" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/bed/roller,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/security/medbay)
@@ -706,7 +706,7 @@
"anD" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/door/window/brigdoor{dir = 8; name = "Warden's Desk"; req_access_txt = "3"},/turf/simulated/floor/plasteel,/area/security/warden)
"anE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkred"},/area/security/warden)
"anF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/security/seceqstorage)
-"anG" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"anG" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
"anH" = (/turf/simulated/wall/r_wall,/area/security/main)
"anI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel,/area/security/seceqstorage)
"anJ" = (/turf/simulated/floor/plasteel,/area/security/seceqstorage)
@@ -762,7 +762,7 @@
"aoH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/security/main)
"aoI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/security/main)
"aoJ" = (/turf/simulated/floor/plasteel,/area/security/main)
-"aoK" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"aoK" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"aoL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Security Office"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/main)
"aoM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/main)
"aoN" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/main)
@@ -791,7 +791,7 @@
"apk" = (/obj/machinery/computer/security{network = list("SS13","Research Outpost","Mining Outpost")},/turf/simulated/floor/plasteel{dir = 6; icon_state = "darkred"},/area/security/warden)
"apl" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/security/seceqstorage)
"apm" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/security/main)
-"apn" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"apn" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
"apo" = (/obj/structure/grille/broken,/turf/space,/area/space)
"app" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
"apq" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
@@ -802,7 +802,7 @@
"apv" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/trade/sol)
"apw" = (/obj/structure/window/full/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/trade/sol)
"apx" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/trade/sol)
-"apy" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"apy" = (/obj/effect/decal/warning_stripes/northwest,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/range)
"apz" = (/obj/structure/table/reinforced,/obj/machinery/magnetic_controller{autolink = 1; name = "Firing Range Control Console"; path = "w;e;e;w;s;n;n;s"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel,/area/security/range)
"apA" = (/obj/machinery/vending/wallmed1{dir = 2; name = "Emergency NanoMed"; pixel_x = -27; pixel_y = 0; req_access_txt = "0"},/obj/structure/table/reinforced,/obj/item/stack/medical/bruise_pack/advanced,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Brig Security Equipment South"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/seceqstorage)
"apB" = (/obj/structure/rack,/obj/item/reagent_containers/spray/pepper{pixel_x = -2; pixel_y = -2},/obj/item/reagent_containers/spray/pepper{pixel_x = -4; pixel_y = -4},/obj/item/reagent_containers/spray/pepper{pixel_y = -4},/obj/effect/decal/warning_stripes/red/hollow,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/seceqstorage)
@@ -833,7 +833,7 @@
"aqa" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/security/podbay)
"aqb" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/security/podbay)
"aqc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/security/podbay)
-"aqd" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"aqd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/range)
"aqe" = (/obj/structure/grille,/obj/structure/sign/securearea,/turf/simulated/floor/plating/airless,/area/security/podbay)
"aqf" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_l"},/turf/space,/area/shuttle/trade/sol)
"aqg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/trade/sol)
@@ -843,7 +843,7 @@
"aqk" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/shuttle/floor,/area/shuttle/trade/sol)
"aql" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/trade/sol)
"aqm" = (/obj/structure/chair,/turf/simulated/shuttle/floor,/area/shuttle/trade/sol)
-"aqn" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"aqn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/range)
"aqo" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/trade/sol)
"aqp" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space)
"aqq" = (/obj/machinery/door/airlock/security{name = "Execution Room"; req_access = null; req_access_txt = "1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"})
@@ -882,9 +882,9 @@
"aqX" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkredcorners"},/area/security/brig)
"aqY" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/camera{c_tag = "Brig Main Hall West"; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkredcorners"},/area/security/brig)
"aqZ" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
-"ara" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
-"arb" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
-"arc" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"ara" = (/obj/effect/decal/warning_stripes/west,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/range)
+"arb" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"arc" = (/obj/effect/decal/warning_stripes/southwest,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/range)
"ard" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion"},/turf/space,/area/shuttle/trade/sol)
"are" = (/obj/machinery/door/airlock/external{frequency = 1450; icon_state = "door_locked"; id_tag = "trade_sol_inner"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "160"},/turf/simulated/shuttle/plating,/area/shuttle/trade/sol)
"arf" = (/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; req_access_txt = "160"},/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 11; id = "trade_sol"; name = "sol trade shuttle"; roundstart_move = "trade_sol_base"; width = 5},/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 11; id = "trade_sol_offstation"; lock_shuttle_doors = 1; name = "northwest of Cyberiad"; width = 5},/turf/simulated/shuttle/floor,/area/shuttle/trade/sol)
@@ -919,16 +919,16 @@
"arI" = (/obj/structure/closet/secure_closet/security,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/spacepod_equipment/weaponry/laser,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
"arJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
"arK" = (/obj/machinery/magnetic_module,/obj/structure/target_stake,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/range)
-"arL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/range)
-"arM" = (/obj/effect/decal/warning_stripes/west,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/range)
-"arN" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/range)
+"arL" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"arM" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"arN" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
"arO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/security/range)
"arP" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/range)
"arQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/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/plasteel{icon_state = "dark"},/area/security/brig)
"arR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Firing Range"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/security/range)
"arS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
"arT" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"arU" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"arU" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
"arV" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_r"},/turf/space,/area/shuttle/trade/sol)
"arW" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1450; master_tag = "trade_sol"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "160"},/turf/simulated/shuttle/floor,/area/shuttle/trade/sol)
"arX" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport)
@@ -971,13 +971,13 @@
"asI" = (/obj/structure/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Security Pod Pilot"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
"asJ" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/trade/sol)
"asK" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/trade/sol)
-"asL" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
-"asM" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
-"asN" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
-"asO" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1450; master_tag = "dorms_maint"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"asL" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"asM" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"asN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/radio/intercom/department/security{pixel_x = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
+"asO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"asP" = (/obj/machinery/door/window/eastright{dir = 1; name = "Security Delivery"; req_access_txt = "1"},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel,/area/security/processing)
-"asQ" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_3)
-"asR" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"asQ" = (/obj/machinery/camera{c_tag = "Brig Labor Camp Airlock North"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
+"asR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"asS" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/siberia)
"asT" = (/obj/structure/grille,/obj/structure/window/full/shuttle{dir = 10; icon_state = "9"},/turf/simulated/floor/plating,/area/shuttle/siberia)
"asU" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "window4"},/turf/simulated/floor/plating,/area/shuttle/siberia)
@@ -1019,7 +1019,7 @@
"atE" = (/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"; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkredcorners"},/area/security/brig)
"atF" = (/obj/structure/cable,/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport)
"atG" = (/turf/simulated/wall/r_wall,/area/maintenance/fsmaint)
-"atH" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"atH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"atI" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/siberia)
"atJ" = (/obj/structure/table,/obj/item/folder/red,/obj/item/restraints/handcuffs,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/siberia)
"atK" = (/obj/machinery/computer/shuttle/labor,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/siberia)
@@ -1055,9 +1055,9 @@
"auo" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkredcorners"},/area/security/prison/cell_block/B)
"aup" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/emcloset,/obj/machinery/camera{c_tag = "Security Pod"; dir = 2; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"auq" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/pod_3)
-"aur" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"aur" = (/obj/machinery/power/treadmill{dir = 4},/obj/machinery/treadmill_monitor{id = "Cell 4"; pixel_y = -32},/obj/structure/cable/yellow,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison/cell_block/B)
"aus" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/pod_3)
-"aut" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access_txt = "13"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
+"aut" = (/obj/machinery/hologram/holopad,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"auu" = (/obj/machinery/mineral/labor_claim_console{machinedir = 2; pixel_x = 30; pixel_y = 30},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/siberia)
"auv" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/shuttle/siberia)
"auw" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/siberia)
@@ -1067,7 +1067,7 @@
"auA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkredcorners"},/area/security/prison/cell_block/B)
"auB" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/security/prisonershuttle)
"auC" = (/turf/simulated/floor/plating,/area/security/prisonershuttle)
-"auD" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
+"auD" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"auE" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/security/processing)
"auF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/security/glass{id_tag = "Brig"; name = "Prisoner Processing"; req_access_txt = "63"},/turf/simulated/floor/plasteel,/area/security/processing)
"auG" = (/obj/structure/closet,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/evidence)
@@ -1084,7 +1084,7 @@
"auR" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel,/area/security/range)
"auS" = (/obj/structure/table/reinforced,/obj/machinery/syndicatebomb/training,/turf/simulated/floor/plasteel,/area/security/range)
"auT" = (/obj/structure/table/reinforced,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel,/area/security/range)
-"auU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/radio/intercom/department/security{pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
+"auU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"auV" = (/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"auW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkred"},/area/security/courtroomdandp)
"auX" = (/obj/machinery/camera{c_tag = "Brig Security Courtroom Hall"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkred"},/area/security/courtroomdandp)
@@ -1128,7 +1128,7 @@
"avJ" = (/obj/structure/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
"avK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/carpet,/area/security/detectives_office)
"avL" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/requests_console{name = "Detective Requests Console"; pixel_x = 30},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
-"avM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
+"avM" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1450; master_tag = "dorms_maint"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"avN" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"avO" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkred"},/area/security/courtroomdandp)
"avP" = (/obj/machinery/light{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkredcorners"},/area/security/prison/cell_block/A)
@@ -1152,7 +1152,7 @@
"awh" = (/obj/structure/chair{dir = 8},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/processing)
"awi" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/processing)
"awj" = (/obj/structure/chair{dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/processing)
-"awk" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_3)
+"awk" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_3)
"awl" = (/turf/simulated/wall,/area/maintenance/fsmaint)
"awm" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/pod_3)
"awn" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/processing)
@@ -1183,9 +1183,9 @@
"awM" = (/obj/machinery/computer/security/wooden_tv{network = list("SS13","Research Outpost","Mining Outpost")},/obj/item/radio/intercom/department/security{pixel_x = 28},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
"awN" = (/obj/structure/table,/obj/item/storage/box/prisoner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"awO" = (/obj/structure/closet/emcloset,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
-"awP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
-"awQ" = (/obj/machinery/camera{c_tag = "Brig Labor Camp Airlock North"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
-"awR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
+"awP" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"awQ" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"awR" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"awS" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"awT" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkred"},/area/security/courtroomdandp)
"awU" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkredcorners"},/area/security/prison/cell_block/A)
@@ -1210,7 +1210,7 @@
"axn" = (/obj/structure/lattice,/obj/item/stack/cable_coil,/turf/space,/area/space)
"axo" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/siberia)
"axp" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison/cell_block/B)
-"axq" = (/obj/machinery/power/treadmill{dir = 4},/obj/machinery/treadmill_monitor{id = "Cell 4"; pixel_y = -32},/obj/structure/cable/yellow,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison/cell_block/B)
+"axq" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access_txt = "13"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxport)
"axr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkredcorners"},/area/security/prison/cell_block/B)
"axs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/radio/intercom{pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkredcorners"},/area/security/prison/cell_block/B)
"axt" = (/obj/structure/table,/obj/item/storage/box/evidence,/turf/simulated/floor/plasteel,/area/security/processing)
@@ -1233,7 +1233,7 @@
"axK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"axL" = (/turf/simulated/floor/plasteel,/area/security/lobby)
"axM" = (/obj/machinery/computer/prisoner{req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
-"axN" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
+"axN" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_3)
"axO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Courtroom Prosecution and Defense"; req_access_txt = "63"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/courtroomdandp)
"axP" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkredcorners"},/area/security/prison/cell_block/A)
"axQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkredcorners"},/area/security/prison/cell_block/A)
@@ -1276,7 +1276,7 @@
"ayB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"ayC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"ayD" = (/obj/machinery/computer/secure_data,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
-"ayE" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prisonershuttle)
+"ayE" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
"ayF" = (/obj/item/flag/nt,/obj/item/radio/intercom/department/security{pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/courtroomdandp)
"ayG" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/courtroomdandp)
"ayH" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/courtroomdandp)
@@ -1299,7 +1299,7 @@
"ayY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"ayZ" = (/obj/machinery/computer/shuttle/labor,/turf/simulated/floor/plasteel,/area/security/prisonershuttle)
"aza" = (/obj/structure/chair,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/courtroomdandp)
-"azb" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/auxstarboard)
+"azb" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"azc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/turf/simulated/floor/plasteel,/area/security/courtroomdandp)
"azd" = (/obj/structure/chair,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/security/courtroomdandp)
"aze" = (/obj/structure/chair{dir = 4},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
@@ -1400,7 +1400,7 @@
"aAV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/lobby)
"aAW" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/security/lobby)
"aAX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/lobby)
-"aAY" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"aAY" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aAZ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/light,/turf/simulated/floor/plasteel,/area/security/lobby)
"aBa" = (/obj/structure/chair{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/lobby)
"aBb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/lobby)
@@ -1491,7 +1491,7 @@
"aCI" = (/obj/item/radio/intercom{pixel_x = 28},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkredcorners"},/area/security/prison/cell_block/A)
"aCJ" = (/obj/structure/bed,/obj/machinery/flasher{id = "Cell 3"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison/cell_block/A)
"aCK" = (/obj/machinery/power/treadmill{dir = 4},/obj/structure/cable/yellow,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/treadmill_monitor{id = "Cell 3"; pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/prison/cell_block/A)
-"aCL" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_1)
+"aCL" = (/obj/machinery/recharge_station,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aCM" = (/obj/item/shard,/obj/item/stack/rods,/obj/item/airlock_electronics,/turf/simulated/floor/plating{dir = 9; icon_regular_floor = "escape"},/area/maintenance/abandonedbar)
"aCN" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall,/area/maintenance/abandonedbar)
"aCO" = (/obj/machinery/vending/autodrobe,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
@@ -1500,7 +1500,7 @@
"aCR" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "escape"},/area/maintenance/abandonedbar)
"aCS" = (/obj/item/lighter/random,/turf/simulated/floor/wood{broken = 1; icon_state = "wood-broken"},/area/maintenance/abandonedbar)
"aCT" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
-"aCU" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/pod_1)
+"aCU" = (/obj/item/stack/sheet/mineral/plasma{amount = 10},/obj/item/stack/rods{amount = 50},/obj/structure/rack,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil{amount = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aCV" = (/obj/structure/table/wood,/obj/item/trash/plate,/turf/simulated/floor/wood,/area/maintenance/abandonedbar)
"aCW" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/bottle/patron,/obj/item/storage/fancy/cigarettes/cigpack_shadyjims,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
"aCX" = (/obj/machinery/door/airlock/external{id_tag = "s_docking_airlock"; name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "syndicate_elite"; name = "Side Hull Door"; opacity = 0; req_access_txt = "150"},/obj/docking_port/mobile{dir = 8; dwidth = 3; height = 5; id = "sst"; name = "SST shuttle"; roundstart_move = "sst_away"; width = 11},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "sst_home"; name = "northwest of station"; width = 11},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
@@ -1557,7 +1557,7 @@
"aDW" = (/obj/structure/door_assembly,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
"aDX" = (/obj/item/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating{dir = 4; icon_regular_floor = "escape"},/area/maintenance/abandonedbar)
"aDY" = (/obj/item/stack/tile/plasteel,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
-"aDZ" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_2)
+"aDZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aEa" = (/obj/structure/table/wood,/obj/item/trash/can,/turf/simulated/floor/wood{broken = 1; icon_state = "wood-broken"},/area/maintenance/abandonedbar)
"aEb" = (/obj/machinery/computer/pod{id_tags = list("syndicate_elite"); name = "Hull Door Control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
"aEc" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
@@ -1608,7 +1608,7 @@
"aEV" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{dir = 6; icon_state = "escape"},/area/maintenance/abandonedbar)
"aEW" = (/obj/item/stack/rods,/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/maintenance/abandonedbar)
"aEX" = (/obj/item/trash/pistachios,/obj/machinery/light_construct,/turf/simulated/floor/wood{broken = 1; icon_state = "wood-broken"},/area/maintenance/abandonedbar)
-"aEY" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/pod_2)
+"aEY" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/electrical)
"aEZ" = (/obj/machinery/light,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
"aFa" = (/obj/structure/sign/poster/contraband/random{pixel_x = 32},/turf/simulated/floor/wood{broken = 1; icon_state = "wood-broken"},/area/maintenance/abandonedbar)
"aFb" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/condiment/saltshaker,/obj/item/reagent_containers/food/condiment/peppermill,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
@@ -1709,7 +1709,7 @@
"aGS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aGT" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard)
"aGU" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aGV" = (/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/fsmaint2)
+"aGV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aGW" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aGX" = (/turf/simulated/wall,/area/maintenance/fsmaint2)
"aGY" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
@@ -1751,12 +1751,12 @@
"aHI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aHJ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aHK" = (/obj/structure/chair/stool,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aHL" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/fpmaint)
+"aHL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aHM" = (/obj/machinery/atmospherics/trinary/filter{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aHN" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aHO" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aHP" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall,/area/maintenance/fsmaint2)
-"aHQ" = (/turf/space,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/fpmaint)
+"aHQ" = (/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; tag = ""},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aHR" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air{filled = 0.1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aHS" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aHT" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
@@ -2036,10 +2036,10 @@
"aNh" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aNi" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aNj" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNk" = (/obj/machinery/recharge_station,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/electrical)
+"aNk" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aNl" = (/obj/machinery/door_control{id = "maint3"; name = "Blast Door Control C"; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aNm" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/maintenance/electrical)
-"aNn" = (/obj/item/stack/sheet/mineral/plasma{amount = 10},/obj/item/stack/rods{amount = 50},/obj/structure/rack,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/electrical)
+"aNn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/electrical)
"aNo" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/maintenance/electrical)
"aNp" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aNq" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/maintenance/electrical)
@@ -2113,11 +2113,11 @@
"aOG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aOH" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aOI" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aOJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/electrical)
-"aOK" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/electrical)
+"aOJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/electrical)
+"aOK" = (/obj/structure/table,/obj/item/clothing/gloves/color/fyellow,/obj/item/storage/toolbox/electrical,/obj/item/multitool,/obj/item/radio/intercom{pixel_x = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aOL" = (/turf/simulated/floor/plating,/area/maintenance/electrical)
-"aOM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/electrical)
-"aON" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = 27},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/electrical)
+"aOM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/electrical)
+"aON" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_1)
"aOO" = (/obj/structure/mirror{icon_state = "mirror_broke"; pixel_y = 28},/obj/machinery/iv_drip,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aOP" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
"aOQ" = (/turf/simulated/floor/plating,/area/hallway/secondary/entry)
@@ -2171,14 +2171,14 @@
"aPM" = (/obj/structure/chair{dir = 8},/turf/simulated/floor/plasteel,/area/crew_quarters/fitness)
"aPN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint3"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aPO" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/electrical)
-"aPP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/turf/simulated/floor/plating,/area/maintenance/electrical)
+"aPP" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/pod_1)
"aPQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aPR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aPS" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump Engineering"; pixel_x = 0; pixel_y = 24; shock_proof = 1},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aPT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/maintenance/electrical)
-"aPU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/electrical)
+"aPU" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_2)
"aPV" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/space,/area/space)
-"aPW" = (/obj/structure/table,/obj/item/clothing/gloves/color/fyellow,/obj/item/storage/toolbox/electrical,/obj/item/multitool,/obj/item/radio/intercom{pixel_x = 25},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/electrical)
+"aPW" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/pod_2)
"aPX" = (/obj/machinery/optable,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aPY" = (/obj/machinery/door/airlock/public/glass{name = "Vacant Office"},/obj/machinery/door/firedoor,/turf/simulated/floor/wood,/area/security/vacantoffice)
"aPZ" = (/obj/machinery/door/airlock/external{name = "Escape Pod"},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
@@ -2229,7 +2229,7 @@
"aQS" = (/obj/machinery/door/airlock/engineering{name = "Electrical Maintenance"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aQT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aQU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor/plating,/area/maintenance/electrical)
-"aQV" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/electrical)
+"aQV" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/fpmaint)
"aQW" = (/obj/structure/table,/obj/item/camera_assembly,/obj/item/camera_assembly,/obj/item/assembly/prox_sensor{pixel_x = -5; pixel_y = 5},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aQX" = (/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 11; id = "trade_dock"; name = "port bay 4 at Cyberiad"; width = 5},/turf/space,/area/space)
"aQY" = (/obj/structure/chair/stool,/turf/simulated/floor/plating,/area/maintenance/electrical)
@@ -2254,7 +2254,7 @@
"aRr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aRs" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aRt" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aRu" = (/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; tag = ""},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/fsmaint2)
+"aRu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/electrical)
"aRv" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness)
"aRw" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
"aRx" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
@@ -2284,7 +2284,7 @@
"aRV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Holodeck Door"},/turf/simulated/floor/plasteel,/area/crew_quarters/fitness)
"aRW" = (/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"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aRX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aRY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating,/area/maintenance/electrical)
+"aRY" = (/turf/space,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless/catwalk,/area/maintenance/fpmaint)
"aRZ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aSa" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry)
"aSb" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "sol_inner"; locked = 1; name = "Arrivals External Access"; req_access = null; req_access_txt = "0"},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
@@ -2348,7 +2348,7 @@
"aTh" = (/obj/machinery/computer/mob_battle_terminal/blue,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness)
"aTi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aTj" = (/obj/machinery/power/terminal,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/electrical)
-"aTk" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/electrical)
+"aTk" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/electrical)
"aTl" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aTm" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/electrical)
"aTn" = (/obj/machinery/power/terminal,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/electrical)
@@ -2455,7 +2455,7 @@
"aVk" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/nuke_storage)
"aVl" = (/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/plasteel{icon_state = "vault"; dir = 10},/area/security/nuke_storage)
"aVm" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{pixel_y = 23},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/nuke_storage)
-"aVn" = (/obj/structure/closet/fireaxecabinet{step_x = 0},/turf/simulated/wall/r_wall,/area/security/nuke_storage)
+"aVn" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/filingcabinet,/obj/item/folder/documents,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/nuke_storage)
"aVo" = (/obj/machinery/gateway{dir = 10},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 4},/area/gateway)
"aVp" = (/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/gateway)
"aVq" = (/obj/machinery/gateway{dir = 6},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 1},/area/gateway)
@@ -2483,7 +2483,7 @@
"aVM" = (/obj/machinery/light/small,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel,/area/crew_quarters/fitness)
"aVN" = (/obj/machinery/atmospherics/binary/valve,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aVO" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
-"aVP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/grille/broken,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/fsmaint2)
+"aVP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/grille/broken,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aVQ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint1"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aVR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint1"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aVS" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/arrival/station)
@@ -2666,7 +2666,7 @@
"aZn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/construction{name = "\improper Garden"})
"aZo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 10},/area/security/nuke_storage)
"aZp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "vault"},/area/security/nuke_storage)
-"aZq" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/nuke_storage)
+"aZq" = (/obj/structure/safe,/obj/machinery/light_switch{pixel_y = -23},/obj/item/clothing/head/bearpelt,/obj/item/twohanded/fireaxe,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"aZr" = (/obj/structure/table,/obj/machinery/light{dir = 4},/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/plasteel,/area/storage/primary)
"aZs" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel,/area/gateway)
"aZt" = (/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/plasteel,/area/gateway)
@@ -2696,7 +2696,7 @@
"aZR" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/crew_quarters/bar)
"aZS" = (/obj/machinery/cryopod/robot,/turf/simulated/floor/plasteel,/area/assembly/chargebay)
"aZT" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
-"aZU" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
+"aZU" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/filingcabinet/chestdrawer/autopsy,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"aZV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aZW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aZX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
@@ -3895,7 +3895,7 @@
"bwU" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"bwV" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/dresser,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"bwW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/northeastcorner,/obj/effect/decal/warning_stripes/southeastcorner,/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 4},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
-"bwX" = (/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "qm_warehouse"; name = "Warehouse Shutters"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bwX" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion"; tag = "icon-propulsion (EAST)"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/transport)
"bwY" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
"bwZ" = (/obj/machinery/atmospherics/unary/tank/air{dir = 4},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plating,/area/maintenance/port)
"bxa" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/port)
@@ -3968,11 +3968,11 @@
"byp" = (/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"byq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"byr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
-"bys" = (/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{dir = 9},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"byt" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/stack/sheet/cardboard,/obj/item/stack/rods{amount = 50},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"byu" = (/obj/machinery/hologram/holopad,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"byv" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"byw" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/apc_electronics,/obj/item/stock_parts/cell{maxcharge = 2000},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bys" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion"; tag = "icon-propulsion (EAST)"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/transport)
+"byt" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/stack/sheet/cardboard,/obj/item/stack/rods{amount = 50},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"byu" = (/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{dir = 9},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"byv" = (/obj/machinery/hologram/holopad,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"byw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"byx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/quartermaster/office)
"byy" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/office)
"byz" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/quartermaster/office)
@@ -4029,9 +4029,9 @@
"bzy" = (/obj/machinery/washing_machine,/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"bzz" = (/obj/structure/table,/obj/structure/bedsheetbin{pixel_x = -1; pixel_y = 2},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
"bzA" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker)
-"bzB" = (/obj/structure/closet/crate,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bzC" = (/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bzD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bzB" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/apc_electronics,/obj/item/stock_parts/cell{maxcharge = 2000},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bzC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bzD" = (/obj/structure/closet/crate,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bzE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/quartermaster/office)
"bzF" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/quartermaster/office)
"bzG" = (/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/quartermaster/office)
@@ -4115,9 +4115,9 @@
"bBg" = (/obj/structure/closet/emcloset,/obj/machinery/camera{c_tag = "Arrivals Auxiliary Docking South"; dir = 4; network = list("SS13")},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry)
"bBh" = (/obj/item/cigbutt,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/port)
"bBi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/port)
-"bBj" = (/obj/item/radio/intercom{dir = 0; name = "station intercom (General)"; pixel_x = -28},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bBk" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bBl" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bBj" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bBk" = (/obj/item/radio/intercom{dir = 0; name = "station intercom (General)"; pixel_x = -28},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bBl" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bBm" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/assembly/chargebay)
"bBn" = (/turf/simulated/floor/plasteel,/area/quartermaster/office)
"bBo" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/quartermaster/office)
@@ -4178,12 +4178,12 @@
"bCr" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port)
"bCs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/port)
"bCt" = (/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/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port)
-"bCu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bCv" = (/obj/item/stack/sheet/cardboard,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bCu" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bCv" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bCw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/poster/contraband/random{pixel_x = -32},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port)
"bCx" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
-"bCy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bCz" = (/obj/machinery/camera{c_tag = "Cargo Bay Storage"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bCy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bCz" = (/obj/item/stack/sheet/cardboard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bCA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bCB" = (/obj/machinery/camera{c_tag = "Cargo Delivery Office"; dir = 4; network = list("SS13")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/telepad_cargo,/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office)
"bCC" = (/obj/item/folder/blue,/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
@@ -4253,15 +4253,15 @@
"bDO" = (/obj/structure/cable{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},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/port)
"bDP" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/port)
"bDQ" = (/obj/structure/disposalpipe/segment{dir = 4},/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/maintenance/port)
-"bDR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bDS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bDT" = (/obj/structure/closet/crate/internals,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bDR" = (/obj/machinery/camera{c_tag = "Cargo Bay Storage"; dir = 8; network = list("SS13")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bDS" = (/obj/structure/closet/crate/medical,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bDT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bDU" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/quartermaster/office)
"bDV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; name = "Sci R&D"; sortType = 12},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east)
"bDW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/blood/oil/streak,/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,/turf/simulated/floor/plating,/area/maintenance/port)
"bDX" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office)
"bDY" = (/obj/machinery/camera{c_tag = "Locker Room Toilets"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
-"bDZ" = (/obj/structure/closet/crate/medical,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bDZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bEa" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bEb" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office)
"bEc" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/bridge/meeting_room)
@@ -4269,7 +4269,7 @@
"bEe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
"bEf" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 4},/area/quartermaster/office)
"bEg" = (/obj/structure/table/wood,/obj/item/folder/blue,/obj/item/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bEh" = (/obj/structure/safe{knownby = list("captain")},/obj/machinery/light_switch{pixel_y = -23},/obj/item/clothing/head/bearpelt,/obj/item/folder/documents,/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,/obj/item/lighter/zippo/nt_rep,/obj/item/storage/fancy/cigarettes/cigpack_robustgold,/obj/item/stack/spacecash/c1000{amount = 100000},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 4},/area/security/nuke_storage)
+"bEh" = (/obj/structure/table/wood,/obj/item/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bEi" = (/obj/structure/table/wood,/obj/item/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bEj" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
"bEk" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/captain)
@@ -4283,7 +4283,7 @@
"bEs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bEt" = (/obj/machinery/optable,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"bEu" = (/turf/simulated/wall,/area/medical/morgue)
-"bEv" = (/obj/structure/table/wood,/obj/item/paper/safe_code{owner = "captain"},/obj/item/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain)
+"bEv" = (/obj/structure/table/wood,/obj/item/pinpointer,/obj/item/disk/nuclear,/obj/item/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bEw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/se)
"bEx" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue)
"bEy" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area/medical/reception)
@@ -4323,15 +4323,15 @@
"bFg" = (/obj/structure/disposalpipe/segment,/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/plating,/area/maintenance/port)
"bFh" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
"bFi" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/port)
-"bFj" = (/obj/structure/sign/poster/contraband/random{pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bFk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bFj" = (/obj/structure/closet/crate/internals,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bFk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light_switch{pixel_x = -24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bFl" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/port)
"bFm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/quartermaster/storage)
"bFn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/port)
"bFo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/port)
-"bFp" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "31"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bFq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light_switch{pixel_x = -24},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
-"bFr" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/storage)
+"bFp" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "31"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bFq" = (/obj/structure/sign/poster/contraband/random{pixel_y = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"bFr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bFs" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; name = "Sci RD Office 1"; sortType = 13},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east)
"bFt" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/quartermaster/office)
"bFu" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office)
@@ -4439,7 +4439,7 @@
"bHs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/engine/gravitygenerator)
"bHt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/space,/area/space)
"bHu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/gravitygenerator)
-"bHv" = (/obj/structure/table/wood,/obj/item/pinpointer,/obj/item/disk/nuclear,/turf/simulated/floor/wood,/area/crew_quarters/captain)
+"bHv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/rack,/obj/item/tank/emergency_oxygen/double,/obj/item/tank/jetpack/oxygen/captain,/obj/item/clothing/suit/space/captain,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/capspace,/obj/item/radio/intercom/private{pixel_x = -28},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bHw" = (/obj/machinery/computer/card,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bHx" = (/obj/structure/table/wood,/obj/machinery/recharger{pixel_y = 4},/obj/item/melee/chainofcommand,/obj/item/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bHy" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain)
@@ -4482,7 +4482,7 @@
"bIj" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor,/obj/item/folder/white,/obj/item/reagent_containers/spray/cleaner,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/reception)
"bIk" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/medical/research{name = "Research Division"})
"bIl" = (/obj/structure/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
-"bIm" = (/obj/machinery/camera{c_tag = "Research Robotics Lab"; dir = 2; network = list("Research","SS13")},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics)
+"bIm" = (/obj/machinery/camera{c_tag = "Research Robotics Lab"; dir = 2; network = list("Research","SS13")},/obj/structure/reagent_dispensers/oil,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics)
"bIn" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
"bIo" = (/obj/machinery/computer/guestpass{pixel_y = 30},/obj/machinery/photocopier,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bIp" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
@@ -4616,7 +4616,7 @@
"bKN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 8},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 8},/turf/simulated/floor/plasteel,/area/hallway/primary/central/se)
"bKO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel,/area/quartermaster/office)
"bKP" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 0},/obj/machinery/conveyor/south{id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bKQ" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/conveyor/east{id = "packageExternal"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/office)
+"bKQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bKR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/central/west)
"bKS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
"bKT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/bridge/meeting_room)
@@ -4689,7 +4689,7 @@
"bMi" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"bMj" = (/obj/machinery/light{dir = 8},/obj/machinery/computer/rdconsole/core,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/toxins/lab)
"bMk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bMl" = (/obj/structure/plasticflaps{opacity = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/conveyor/east{id = "packageExternal"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/office)
+"bMl" = (/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "qm_warehouse"; name = "Warehouse Shutters"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"bMm" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bMn" = (/obj/machinery/light/small,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bMo" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/supply)
@@ -4816,7 +4816,7 @@
"bOF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering/glass{name = "Engineering"; req_access_txt = "10"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/gravitygenerator)
"bOG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/space,/area/space)
"bOH" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/engine/gravitygenerator)
-"bOI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/rack,/obj/item/tank/emergency_oxygen/double,/obj/item/tank/jetpack/oxygen/captain,/obj/item/clothing/suit/space/captain,/obj/item/clothing/mask/gas,/obj/item/radio/intercom/private{pixel_x = -28},/obj/item/crowbar/red,/obj/item/clothing/head/helmet/space/capspace,/turf/simulated/floor/wood,/area/crew_quarters/captain)
+"bOI" = (/turf/simulated/floor/carpet,/area/crew_quarters/captain/bedroom)
"bOJ" = (/obj/structure/table/wood,/obj/item/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/captain/bedroom)
"bOK" = (/turf/simulated/wall,/area/crew_quarters/captain/bedroom)
"bOL" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/captain/bedroom)
@@ -5114,7 +5114,7 @@
"bUr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Medbay Hall"; sortType = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2)
"bUs" = (/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"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Med Chemistry"; sortType = 11},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2)
"bUt" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bUu" = (/obj/structure/table/glass,/obj/item/bonegel{pixel_x = 6; pixel_y = 6},/obj/item/cautery,/obj/item/FixOVein{pixel_x = -6; pixel_y = 6},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1; in_use = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/surgery1)
+"bUu" = (/obj/item/bonegel{pixel_x = 6; pixel_y = 6},/obj/item/cautery,/obj/item/FixOVein{pixel_x = -6; pixel_y = 6},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1; in_use = 1},/obj/structure/table/tray,/obj/item/scalpel,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/surgery1)
"bUv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j1"; tag = "icon-pipe-j1 (EAST)"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/medical/genetics_cloning)
"bUw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical/glass{id_tag = "CloningDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/medical/genetics_cloning)
"bUx" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/genetics)
@@ -5560,9 +5560,9 @@
"ccV" = (/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 250; oxygen = 0; temperature = 0},/area/toxins/server_coldroom)
"ccW" = (/obj/machinery/camera{c_tag = "Research Server Room"; dir = 2; network = list("Research","SS13"); pixel_x = 22},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server)
"ccX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; initialize_directions = 10},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server)
-"ccY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/area_atmos,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"ccZ" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"cda" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/structure/sign/nosmoking_2{pixel_x = 28},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"ccY" = (/obj/structure/plasticflaps{opacity = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/conveyor/east{id = "packageExternal"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/office)
+"ccZ" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/conveyor/east{id = "packageExternal"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/office)
+"cda" = (/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/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"cdb" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 73; dir = 2; on = 1},/obj/item/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server)
"cdc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"cdd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
@@ -5644,8 +5644,8 @@
"ceB" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 10},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 250; oxygen = 0; temperature = 0},/area/toxins/server_coldroom)
"ceC" = (/obj/structure/chair/office/light,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server)
"ceD" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server)
-"ceE" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"ceF" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"ceE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
+"ceF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/area_atmos,/obj/effect/decal/warning_stripes/yellow/hollow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"ceG" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server)
"ceH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"ceI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
@@ -5694,17 +5694,17 @@
"cfz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/hallway/primary/central/se)
"cfA" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/door_control{id = "surgeryobs1"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/surgery1)
"cfB" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/hallway/primary/central/se)
-"cfC" = (/obj/structure/table/glass,/obj/item/hemostat{pixel_x = 6},/obj/item/retractor{pixel_x = -6; pixel_y = 6},/obj/item/scalpel,/obj/item/stack/medical/bruise_pack/advanced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/surgery1)
+"cfC" = (/obj/structure/table/glass,/obj/item/hemostat{pixel_x = 6},/obj/item/retractor{pixel_x = -6; pixel_y = 6},/obj/item/stack/medical/bruise_pack/advanced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/surgery1)
"cfD" = (/obj/structure/chair{dir = 8},/obj/machinery/camera{c_tag = "Medbay Surgery Observation"; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkblue"},/area/medical/ward)
"cfE" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "open"; id_tag = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgery1)
"cfF" = (/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/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/ward)
"cfG" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/ward)
"cfH" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "open"; id_tag = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgery2)
"cfI" = (/obj/structure/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkblue"},/area/medical/ward)
-"cfJ" = (/obj/structure/table/glass,/obj/item/hemostat{pixel_x = 6},/obj/item/retractor{pixel_x = -6; pixel_y = 6},/obj/item/scalpel,/obj/machinery/alarm{pixel_y = 25},/obj/item/stack/medical/bruise_pack/advanced,/turf/simulated/floor/plasteel{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/surgery2)
+"cfJ" = (/obj/structure/table/glass,/obj/item/hemostat{pixel_x = 6},/obj/item/retractor{pixel_x = -6; pixel_y = 6},/obj/machinery/alarm{pixel_y = 25},/obj/item/stack/medical/bruise_pack/advanced,/turf/simulated/floor/plasteel{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/surgery2)
"cfK" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/door_control{id = "surgeryobs2"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/surgery2)
"cfL" = (/obj/structure/table/glass,/obj/item/circular_saw,/obj/item/bonesetter{pixel_x = 5; pixel_y = 5},/obj/item/surgicaldrill,/turf/simulated/floor/plasteel{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/surgery2)
-"cfM" = (/obj/structure/table/glass,/obj/item/bonegel{pixel_x = 6; pixel_y = 6},/obj/item/cautery,/obj/item/FixOVein{pixel_x = -6; pixel_y = 6},/obj/machinery/light{dir = 1; in_use = 1},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/surgery2)
+"cfM" = (/obj/item/bonegel{pixel_x = 6; pixel_y = 6},/obj/item/cautery,/obj/item/FixOVein{pixel_x = -6; pixel_y = 6},/obj/machinery/light{dir = 1; in_use = 1},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/tray,/obj/item/scalpel,/turf/simulated/floor/plasteel{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/surgery2)
"cfN" = (/obj/structure/table,/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/masks,/obj/item/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"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/medical/surgery2)
"cfO" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre Storage"; req_access_txt = "45"},/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/plasteel{icon_state = "showroomfloor"},/area/medical/surgery2)
"cfP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/medical/surgery2)
@@ -5814,8 +5814,8 @@
"chP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/server)
"chQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/toxins/server_coldroom)
"chR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/turf/simulated/wall/r_wall,/area/toxins/server)
-"chS" = (/mob/living/simple_animal/mouse/white,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"chT" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"chS" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
+"chT" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/structure/sign/nosmoking_2{pixel_x = 28},/obj/effect/decal/warning_stripes/yellow/hollow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"chU" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Research Toxins Storage Room"; dir = 4; network = list("Research","SS13"); pixel_y = -22},/turf/simulated/floor/plasteel,/area/toxins/storage)
"chV" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sign/poster/official/random{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"chW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/engine/break_room)
@@ -5838,7 +5838,7 @@
"cin" = (/obj/structure/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining)
"cio" = (/obj/machinery/door/window/brigdoor/westleft{color = "#d70000"; req_access_txt = "104"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration)
"cip" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
-"ciq" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/item/ore/iron,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
+"ciq" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/item/stack/ore/iron,/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"cir" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"cis" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"cit" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
@@ -5896,7 +5896,7 @@
"cjt" = (/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"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cju" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkblue"},/area/medical/surgery1)
"cjv" = (/obj/structure/closet/wardrobe/medic_white,/obj/item/clothing/head/surgery/blue,/obj/item/clothing/head/surgery/blue,/obj/item/clothing/head/surgery/green,/obj/item/clothing/head/surgery/green,/obj/item/clothing/head/surgery/purple,/obj/item/clothing/head/surgery/purple,/obj/item/clothing/suit/storage/fr_jacket,/obj/item/clothing/suit/storage/fr_jacket,/obj/item/clothing/suit/storage/fr_jacket,/obj/item/clothing/under/rank/medical/blue,/obj/item/clothing/under/rank/medical/green,/obj/item/clothing/under/rank/medical/purple,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/medical/medbreak)
-"cjw" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = -5},/obj/machinery/holosign_switch{pixel_x = -23; pixel_y = 4},/turf/simulated/floor/plasteel{dir = 10; icon_state = "darkblue"},/area/medical/surgery1)
+"cjw" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = -5},/obj/machinery/holosign_switch{id = "surgery1"; pixel_x = -23; pixel_y = 4},/turf/simulated/floor/plasteel{dir = 10; icon_state = "darkblue"},/area/medical/surgery1)
"cjx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/surgery1)
"cjy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "darkblue"},/area/medical/surgery1)
"cjz" = (/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; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/ward)
@@ -5912,9 +5912,9 @@
"cjJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/explab_chamber)
"cjK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/storage)
"cjL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
-"cjM" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"cjN" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"cjO" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"cjM" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
+"cjN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
+"cjO" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/mouse/white,/turf/simulated/floor/plasteel,/area/toxins/storage)
"cjP" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel,/area/toxins/storage)
"cjQ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"cjR" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/engine/break_room)
@@ -5994,8 +5994,8 @@
"cln" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"clo" = (/obj/effect/landmark{name = "blobstart"},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"clp" = (/turf/simulated/wall/r_wall,/area/toxins/explab_chamber)
-"clq" = (/obj/item/cigbutt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"clr" = (/obj/effect/decal/warning_stripes/yellow,/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"clq" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
+"clr" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"cls" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"clt" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"clu" = (/obj/machinery/atmospherics/binary/valve,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing)
@@ -6013,7 +6013,7 @@
"clG" = (/obj/structure/table,/obj/item/storage/lockbox/mindshield,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration)
"clH" = (/obj/machinery/camera{c_tag = "Research Toxins Test Chamber North"; network = list("Toxins","Research","SS13")},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel/airless,/area/toxins/test_area)
"clI" = (/obj/structure/table,/obj/item/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/storage/box/trackimp,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration)
-"clJ" = (/obj/item/ore/silver,/obj/item/ore/silver,/obj/structure/closet/crate,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
+"clJ" = (/obj/item/stack/ore/silver,/obj/item/stack/ore/silver,/obj/structure/closet/crate,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"clK" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/wall,/area/quartermaster/miningdock)
"clL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"clM" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 8},/obj/structure/closet/emcloset,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
@@ -6071,13 +6071,13 @@
"cmM" = (/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"cmN" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/blood/AMinus,/obj/item/reagent_containers/blood/APlus,/obj/item/reagent_containers/blood/BMinus,/obj/item/reagent_containers/blood/BPlus,/obj/item/reagent_containers/blood/OPlus,/obj/item/reagent_containers/blood/OMinus,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/medical/surgery1)
"cmO" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
-"cmP" = (/obj/effect/decal/cleanable/blood/oil,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"cmP" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"cmQ" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"cmR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel,/area/engine/break_room)
-"cmS" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
+"cmS" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/warning_stripes/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"cmT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"cmU" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
-"cmV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
+"cmU" = (/obj/item/cigbutt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
+"cmV" = (/obj/effect/decal/warning_stripes/yellow,/obj/machinery/portable_atmospherics/canister/toxins,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"cmW" = (/obj/structure/closet/wardrobe/toxins_white,/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whitepurple"},/area/toxins/mixing)
"cmX" = (/obj/structure/rack,/obj/item/extinguisher,/obj/item/clothing/mask/gas,/obj/machinery/light{dir = 1; in_use = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing)
"cmY" = (/obj/structure/closet/wardrobe/toxins_white,/obj/machinery/camera{c_tag = "Research Toxins Mixing West"; dir = 2; network = list("Research","SS13"); pixel_x = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing)
@@ -6141,14 +6141,14 @@
"coe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitegreencorner"},/area/medical/virology/lab{name = "\improper Virology Lobby"})
"cof" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/nosmoking_2{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology/lab{name = "\improper Virology Lobby"})
"cog" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/toxins/explab)
-"coh" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"coh" = (/obj/effect/decal/cleanable/blood/oil,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"coi" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "telescienceblast"; name = "test chamber blast doors"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/engine,/area/toxins/explab)
-"coj" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"coj" = (/obj/effect/decal/warning_stripes/southwestcorner,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
"cok" = (/obj/item/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"col" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
-"com" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
-"con" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
-"coo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
+"col" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
+"com" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/warning_stripes/southeastcorner,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
+"con" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
+"coo" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"cop" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurple"},/area/toxins/mixing)
"coq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing)
"cor" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Mixing Room"; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/toxins/mixing)
@@ -6237,16 +6237,16 @@
"cpW" = (/obj/machinery/computer/rdconsole/experiment,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/explab)
"cpX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/toxins/explab)
"cpY" = (/obj/structure/closet/emcloset,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/toxins/explab)
-"cpZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
-"cqa" = (/obj/machinery/light_switch{pixel_y = -23},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
+"cpZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
+"cqa" = (/obj/effect/decal/warning_stripes/west,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
"cqb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cqc" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"cqd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/medical/research{name = "Research Division"})
-"cqe" = (/obj/effect/decal/warning_stripes/northwestcorner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
+"cqe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
"cqf" = (/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"cqg" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/warning_stripes/northeastcorner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
+"cqg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/east,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
"cqh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/mixing)
-"cqi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/mixing)
+"cqi" = (/obj/machinery/light_switch{pixel_y = -23},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
"cqj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing)
"cqk" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing)
"cql" = (/obj/structure/closet/bombcloset,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurple"},/area/toxins/mixing)
@@ -6587,8 +6587,8 @@
"cwI" = (/turf/simulated/floor/plating,/area/maintenance/consarea)
"cwJ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cwK" = (/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cwL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cwM" = (/obj/item/camera_assembly,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cwL" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/storage)
+"cwM" = (/obj/effect/decal/warning_stripes/northwestcorner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
"cwN" = (/obj/structure/table,/obj/item/apc_electronics,/obj/item/airlock_electronics,/turf/simulated/floor/plating,/area/storage/tech)
"cwO" = (/turf/simulated/floor/plating,/area/storage/tech)
"cwP" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/storage/tech)
@@ -6602,7 +6602,7 @@
"cwX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plating,/area/storage/tech)
"cwY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
"cwZ" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"cxa" = (/obj/effect/decal/warning_stripes/yellow/partial,/obj/effect/decal/warning_stripes/arrow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cxa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
"cxb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"cxc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/engine/controlroom)
"cxd" = (/obj/structure/chair{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/engine/controlroom)
@@ -7189,7 +7189,7 @@
"cIm" = (/turf/simulated/floor/wood,/area/maintenance/asmaint)
"cIn" = (/obj/machinery/vending/cigarette,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cIo" = (/obj/structure/table/wood,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cIp" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/asmaint)
+"cIp" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/warning_stripes/northeastcorner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/toxins/mixing)
"cIq" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/genetics)
"cIr" = (/obj/structure/chair/stool,/turf/simulated/floor/plating,/area/maintenance/genetics)
"cIs" = (/obj/structure/bed,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/genetics)
@@ -7249,7 +7249,7 @@
"cJu" = (/obj/effect/spawner/random_spawners/blood_maybe,/turf/simulated/floor/carpet,/area/maintenance/asmaint)
"cJv" = (/turf/simulated/floor/wood{tag = "icon-wood-broken"; icon_state = "wood-broken"},/area/maintenance/asmaint)
"cJw" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/machinery/kitchen_machine/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cJx" = (/obj/effect/spawner/random_spawners/blood_maybe,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/asmaint)
+"cJx" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cJy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/atmos/control)
"cJz" = (/obj/machinery/chem_heater,/turf/simulated/floor/plating,/area/maintenance/genetics)
"cJA" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/storage/belt/utility,/obj/item/storage/belt/utility,/obj/item/stock_parts/cell/high,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -7287,7 +7287,7 @@
"cKg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft)
"cKh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
"cKi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{icon_state = "door_locked"; locked = 1; name = "Assembly Line Maintenance"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cKj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cKj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cKk" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"cKl" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
"cKm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; name = "Eng Atmospherics"; sortType = 6},/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
@@ -7353,19 +7353,19 @@
"cLu" = (/obj/item/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/obj/machinery/computer/rdconsole/mechanics,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/mechanic_workshop)
"cLv" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/assembly_line)
"cLw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cLx" = (/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 8},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cLx" = (/obj/item/camera_assembly,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cLy" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cLz" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cLz" = (/obj/effect/decal/warning_stripes/yellow/partial,/obj/effect/decal/warning_stripes/arrow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cLA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cLB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 4},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cLC" = (/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cLD" = (/obj/structure/computerframe,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cLE" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cLB" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cLC" = (/obj/structure/table,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/item/storage/belt/utility,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cLD" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cLE" = (/obj/structure/computerframe,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cLF" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
-"cLG" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cLH" = (/obj/structure/closet/crate,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cLI" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Assembly Line East"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cLJ" = (/obj/structure/table,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/item/storage/belt/utility,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cLG" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cLH" = (/obj/structure/closet/crate,/obj/machinery/light_switch{pixel_x = 27},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cLI" = (/obj/item/stack/cable_coil,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cLJ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cLK" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; name = "Eng Chief Engineer's Office"; sortType = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
"cLL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"cLM" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/engine/break_room)
@@ -7401,18 +7401,18 @@
"cMq" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft)
"cMr" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft)
"cMs" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall/r_wall,/area/maintenance/asmaint2)
-"cMt" = (/obj/item/stack/cable_coil,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cMt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cMu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/test_chamber)
"cMv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cMw" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion"; tag = "icon-propulsion (EAST)"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/transport)
-"cMx" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cMy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cMw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/paper,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cMx" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cMy" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cMz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cMA" = (/obj/structure/chair/stool,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cMB" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cMC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/paper,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cMA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering/glass{icon_state = "door_locked"; locked = 1; name = "Assembly Line (KEEP OUT)"; req_access_txt = "32"; req_one_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cMB" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cMC" = (/obj/effect/landmark{name = "blobstart"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cMD" = (/obj/item/mounted/frame/apc_frame,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cME" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering/glass{icon_state = "door_locked"; locked = 1; name = "Assembly Line (KEEP OUT)"; req_access_txt = "32"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cME" = (/obj/machinery/hologram/holopad,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cMF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
"cMG" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"cMH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
@@ -7456,7 +7456,7 @@
"cNt" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio7"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/toxins/xenobiology)
"cNu" = (/obj/item/radio/beacon,/turf/simulated/floor/engine,/area/toxins/test_chamber)
"cNv" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/engine,/area/toxins/test_chamber)
-"cNw" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion"; tag = "icon-propulsion (EAST)"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/transport)
+"cNw" = (/obj/item/paper,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cNx" = (/obj/effect/spawner/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio7"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/toxins/xenobiology)
"cNy" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio7"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/xenobiology)
"cNz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/sparker{id = "testigniter"; name = "Test Igniter"; pixel_x = -25},/turf/simulated/floor/engine,/area/toxins/test_chamber)
@@ -7464,12 +7464,12 @@
"cNB" = (/turf/simulated/floor/plating,/area/maintenance/aft)
"cNC" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft)
"cND" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/aft)
-"cNE" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cNE" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cNF" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/port)
"cNG" = (/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cNH" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cNI" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cNJ" = (/obj/item/paper,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cNH" = (/obj/item/pen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cNI" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cNJ" = (/obj/machinery/conveyor_switch{id = "Skynet_heavy"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cNK" = (/obj/structure/barricade/wooden,/obj/structure/grille,/turf/simulated/floor/plating,/area/assembly/assembly_line)
"cNL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
"cNM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/port)
@@ -7485,7 +7485,7 @@
"cNW" = (/obj/effect/decal/warning_stripes/east,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cNX" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d1 = 0; d2 = 8; icon_state = "0-8"},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cNY" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cNZ" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cNZ" = (/obj/machinery/constructable_frame/machine_frame,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cOa" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cOb" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/engineering,/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cOc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -7510,13 +7510,13 @@
"cOv" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/engine,/area/toxins/test_chamber)
"cOw" = (/obj/effect/spawner/window/reinforced,/turf/simulated/wall,/area/maintenance/aft)
"cOx" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/aft)
-"cOy" = (/obj/item/pen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cOz" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cOA" = (/obj/machinery/conveyor_switch{id = "Skynet_heavy"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cOB" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cOy" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/barricade/wooden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cOz" = (/obj/structure/closet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cOA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
+"cOB" = (/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 8},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cOC" = (/obj/structure/rack{dir = 1},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cOD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/engine,/area/toxins/test_chamber)
-"cOE" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/barricade/wooden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cOE" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/decal/warning_stripes/yellow/partial{icon_state = "3"; dir = 4},/obj/effect/decal/warning_stripes/arrow{icon_state = "4"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cOF" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/extinguisher,/obj/item/extinguisher,/obj/item/extinguisher,/obj/item/extinguisher,/obj/item/extinguisher,/obj/item/extinguisher,/turf/simulated/floor/plasteel,/area/atmos)
"cOG" = (/turf/simulated/floor/plating{desc = " There is some old writing on this floor. You are barely able to read out a few lines from a tangled scribble. In a chamber a great mirror lies, cut away it solemn cries. Travel bold as thou might, piercing vastness as a kite. HONK! "; name = "Old Note #6"},/area/assembly/assembly_line)
"cOH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plating,/area/assembly/assembly_line)
@@ -7528,7 +7528,7 @@
"cON" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/chair/comfy/black{dir = 8},/turf/simulated/floor/plasteel,/area/engine/break_room)
"cOO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel,/area/engine/break_room)
"cOP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cOQ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
+"cOQ" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Assembly Line East"; dir = 1; network = list("SS13")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cOR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/engine/break_room)
"cOS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cOT" = (/turf/simulated/wall/r_wall,/area/atmos/distribution)
@@ -7559,7 +7559,7 @@
"cPs" = (/obj/machinery/light{dir = 1; in_use = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cPt" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera{c_tag = "Xenobiology Module North-East"; dir = 8; network = list("Research","SS13"); pixel_y = -22},/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cPu" = (/obj/structure/chair,/turf/simulated/floor/plating,/area/maintenance/aft)
-"cPv" = (/obj/structure/closet,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cPv" = (/obj/structure/table,/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cPw" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cPx" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating/airless/catwalk,/area/space)
"cPy" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/engine,/area/toxins/test_chamber)
@@ -7572,7 +7572,7 @@
"cPF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cPG" = (/turf/space,/obj/machinery/power/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cPH" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
-"cPI" = (/obj/structure/table,/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
+"cPI" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cPJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"cPK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/engine/break_room)
"cPL" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/aft)
@@ -7590,7 +7590,7 @@
"cPX" = (/obj/machinery/camera{c_tag = "Engineering SMES"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cPY" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/vending/cigarette,/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel,/area/engine/break_room)
"cPZ" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/atmos/distribution)
-"cQa" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cQa" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cQb" = (/obj/machinery/particle_accelerator/control_box,/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/engine/engineering)
"cQc" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/firecloset,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cQd" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/pipedispenser,/turf/simulated/floor/plasteel,/area/atmos)
@@ -7606,7 +7606,7 @@
"cQn" = (/turf/simulated/wall,/area/medical/virology)
"cQo" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6; level = 2},/turf/simulated/floor/plasteel,/area/atmos/distribution)
"cQp" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/space,/area/space)
-"cQq" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cQq" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cQr" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/storage/box/syringes,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cQs" = (/obj/structure/chair{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cQt" = (/obj/structure/table/reinforced,/obj/item/circular_saw{pixel_y = 0},/obj/item/scalpel,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
@@ -7646,7 +7646,7 @@
"cRb" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Singularity"; name = "Singularity Blast Doors"; opacity = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engineering)
"cRc" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10; initialize_directions = 10; level = 2},/turf/simulated/floor/plating,/area/atmos/distribution)
"cRd" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix to Gas Turbine"},/turf/simulated/floor/plasteel,/area/atmos/distribution)
-"cRe" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cRe" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cRf" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Singularity"; name = "Singularity Blast Doors"; opacity = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 32; pixel_y = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engineering)
"cRg" = (/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/engine/engineering)
"cRh" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_east_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engineering)
@@ -7704,7 +7704,7 @@
"cSh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage)
"cSi" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "engineering_west_pump"; tag_exterior_door = "engineering_west_outer"; frequency = 1379; id_tag = "engineering_west_airlock"; tag_interior_door = "engineering_west_inner"; pixel_x = 25; req_access_txt = "10;13"; tag_chamber_sensor = "engineering_west_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_west_sensor"; pixel_x = 25; pixel_y = 12},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engineering)
"cSj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/decal/warning_stripes/red/hollow,/obj/machinery/camera{c_tag = "Atmospherics North-West"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos)
-"cSk" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cSk" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
"cSl" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 8; name = "Mix to Filter"},/turf/simulated/floor/plasteel,/area/atmos/distribution)
"cSm" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 1; level = 2},/turf/simulated/floor/plasteel,/area/atmos/distribution)
"cSn" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/grille,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos)
@@ -7788,14 +7788,14 @@
"cTN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/computer/camera_advanced/xenobio,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cTO" = (/obj/item/extinguisher,/obj/item/extinguisher{pixel_x = 4; pixel_y = 4},/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sign/deathsposal{pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cTP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
-"cTQ" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
+"cTQ" = (/obj/effect/spawner/random_spawners/blood_maybe,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/asmaint)
"cTR" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/port)
-"cTS" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1450; master_tag = "south_maint"; name = "exterior access button"; pixel_x = -25; pixel_y = 8; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"cTT" = (/turf/space,/obj/machinery/access_button/airlock_exterior{master_tag = "atmospherics_south"; pixel_x = -25; pixel_y = -8},/turf/simulated/floor/plating/airless/catwalk,/area/space)
-"cTU" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
-"cTV" = (/turf/space,/obj/structure/transit_tube{icon_state = "E-W-Pass"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cTS" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
+"cTT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/effect/landmark/burnturf,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
+"cTU" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"cTV" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/decal/cleanable/cobweb,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light_switch{pixel_y = 27},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"cTW" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
-"cTX" = (/turf/space,/obj/item/wrench,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cTX" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10; level = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"cTY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cTZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cUa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -7826,7 +7826,7 @@
"cUz" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage)
"cUA" = (/obj/structure/table,/obj/machinery/requests_console{department = "Engineering"; departmentType = 3; name = "Engineering Requests Console"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage)
"cUB" = (/obj/machinery/door_control{id = "Singularity"; name = "Singularity Blast Doors"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/engine/engineering)
-"cUC" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cUC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"cUD" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
"cUE" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
"cUF" = (/obj/structure/grille,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
@@ -7860,7 +7860,7 @@
"cVh" = (/obj/machinery/computer/security/engineering,/obj/machinery/light_switch{pixel_x = -27},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cVi" = (/obj/structure/chair{dir = 1},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cVj" = (/turf/simulated/floor/plasteel,/area/engine/engineering)
-"cVk" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "ai_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "75;13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cVk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/turbine)
"cVl" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cVm" = (/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1; network = list("SS13")},/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump Engineering"; pixel_y = -24; shock_proof = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cVn" = (/obj/structure/closet/wardrobe/black,/obj/machinery/camera{c_tag = "Aft Port Solar Access"; dir = 1; network = list("SS13")},/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -7883,7 +7883,7 @@
"cVE" = (/turf/simulated/wall,/area/atmos/distribution)
"cVF" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage)
"cVG" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/engine/engineering)
-"cVH" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cVH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_y = 32},/obj/structure/disposalpipe/trunk,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/turbine)
"cVI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/atmos)
"cVJ" = (/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plasteel,/area/atmos)
"cVK" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/atmos/distribution)
@@ -7925,7 +7925,7 @@
"cWu" = (/turf/simulated/floor/plasteel,/area/engine/hardsuitstorage)
"cWv" = (/obj/structure/table,/obj/item/toy/plushie/octopus,/obj/machinery/camera{c_tag = "Departure Lounge East"; dir = 8; network = list("SS13")},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
"cWw" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/toxins/xenobiology)
-"cWx" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"cWx" = (/obj/machinery/power/smes{capacity = 9e+006; charge = 10000},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"cWy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cWz" = (/obj/item/radio/intercom{name = "station intercom (General)"; pixel_x = -28; pixel_y = 0},/obj/machinery/computer/monitor{name = "Grid Power Monitoring Computer"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cWA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
@@ -7966,7 +7966,7 @@
"cXj" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "purplecorner"},/area/hallway/secondary/exit)
"cXk" = (/obj/item/flag/nt,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
"cXl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
-"cXm" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cXm" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"cXn" = (/obj/machinery/camera{c_tag = "Departure Lounge West"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit)
"cXo" = (/obj/structure/chair{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit)
"cXp" = (/obj/structure/chair,/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hallway/secondary/exit)
@@ -8012,7 +8012,7 @@
"cYd" = (/obj/structure/chair,/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hallway/secondary/exit)
"cYe" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hallway/secondary/exit)
"cYf" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/engine/n20,/area/atmos)
-"cYg" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cYg" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Mix to MiniSat"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"cYh" = (/obj/structure/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit)
"cYi" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cYj" = (/obj/structure/chair/stool,/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -8030,7 +8030,7 @@
"cYv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
"cYw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
"cYx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
-"cYy" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"cYy" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"cYz" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_se"; name = "southeast of SS13"; width = 19},/turf/space,/area/space)
"cYA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cYB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
@@ -8131,7 +8131,7 @@
"das" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"dat" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/escapepodbay)
"dau" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"dav" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dav" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"daw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering)
"dax" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/decal/cleanable/generic,/obj/machinery/camera{c_tag = "Engineering Shuttle Access"; dir = 8; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"day" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -8231,24 +8231,24 @@
"dco" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central/ne)
"dcp" = (/obj/machinery/porta_turret{dir = 1},/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior)
"dcq" = (/obj/machinery/door/airlock/external{aiControlDisabled = 0; frequency = 1379; hackProof = 0; icon_state = "door_locked"; id_tag = "atmospherics_south_outer"; locked = 1; name = "Atmospherics External Access"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/engine/engineering)
-"dcr" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dcr" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"dcs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/fungus,/turf/simulated/wall/r_wall,/area/engine/engineering)
"dct" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel,/area/atmos)
-"dcu" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dcu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"dcv" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plasteel,/area/atmos)
"dcw" = (/obj/structure/closet/radiation,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/engine/engineering)
-"dcx" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_4)
-"dcy" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1450; master_tag = "sci_maint"; name = "exterior access button"; pixel_x = 8; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/space)
-"dcz" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_4)
-"dcA" = (/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/maintenance/asmaint)
+"dcx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"dcy" = (/obj/machinery/atmospherics/unary/tank/toxins{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"dcz" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"dcA" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4; initialize_directions = 11; level = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"dcB" = (/obj/structure/chair/comfy/black{dir = 4},/obj/effect/landmark/start{name = "Life Support Specialist"},/turf/simulated/floor/plasteel,/area/engine/break_room)
"dcC" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/medical/virology)
"dcD" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dcE" = (/obj/structure/chair/comfy/black{dir = 8},/obj/effect/landmark/start{name = "Life Support Specialist"},/turf/simulated/floor/plasteel,/area/engine/break_room)
-"dcF" = (/turf/space,/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/plating/airless/catwalk,/area/solar/starboard)
+"dcF" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/mouse,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"dcG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/engine/break_room)
-"dcH" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
-"dcI" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dcH" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"dcI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"dcJ" = (/obj/structure/table,/obj/item/flashlight/lamp,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"dcK" = (/obj/structure/chair/stool,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"dcL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel,/area/atmos)
@@ -8257,25 +8257,46 @@
"dcO" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 1; name = "Gas filter (Toxins tank)"; on = 1},/turf/simulated/floor/plasteel,/area/atmos)
"dcP" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/secure)
"dcQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/secure)
-"dcR" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dcR" = (/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister,/obj/structure/sign/nosmoking_2{pixel_x = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"dcS" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space)
"dcT" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "tox_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
"dcU" = (/obj/machinery/door/airlock/external{id_tag = "engineering_home"; name = "Engineering Dock Airlock"; req_access_txt = "0"; req_one_access_txt = "10;24"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
-"dcV" = (/turf/space,/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dcV" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"dcW" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{id_tag = "Secure Storage"; name = "Secure Storage Blast Doors"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/secure)
"dcX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel,/area/engine/engineering)
"dcY" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/conveyor/west{id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage)
"dcZ" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate)
-"dda" = (/obj/structure/safe/floor{knownby = list("captain")},/obj/item/clothing/mask/cigarette/cigar/havana,/obj/item/lighter/zippo/nt_rep,/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium,/obj/item/toy/figure/captain,/obj/item/gun/projectile/revolver/russian,/turf/simulated/floor/carpet,/area/crew_quarters/captain/bedroom)
+"dda" = (/obj/machinery/atmospherics/binary/valve,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"ddb" = (/obj/structure/particle_accelerator/end_cap,/turf/simulated/floor/plating,/area/engine/engineering)
+"ddc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"dde" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddf" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/pen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddh" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddi" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddj" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/binary/valve{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddl" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4; initialize_directions = 11; level = 2},/obj/machinery/meter,/obj/machinery/light{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"ddm" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel,/area/atmos)
+"ddn" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/storage/toolbox/emergency,/obj/item/radio/intercom{pixel_y = -30},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddo" = (/obj/structure/reagent_dispensers/watertank,/obj/item/extinguisher,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddp" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/computer/turbine_computer{id = "incineratorturbine"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddq" = (/obj/machinery/hologram/holopad,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"ddr" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/machinery/door/airlock/external{name = "Engineering Escape Pod"; req_access = null; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engine/engineering)
"dds" = (/obj/machinery/portable_atmospherics/pump,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/atmos)
"ddt" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Port to Filter"; on = 0},/turf/simulated/floor/plasteel,/area/atmos)
"ddu" = (/obj/structure/chair/stool,/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/obj/item/wrench,/obj/machinery/light/small{dir = 8},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"ddv" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door_control{id = "auxiliaryturbinevent"; name = "Auxiliary Vent"; pixel_x = 6; pixel_y = -24; req_access_txt = "32"},/obj/machinery/door_control{id = "turbinevent"; name = "Turbine Vent"; pixel_x = -6; pixel_y = -24; req_access_txt = "32"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
"ddw" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"ddx" = (/obj/machinery/camera{c_tag = "Atmospherics Central"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel,/area/atmos)
+"ddy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddz" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/embedded_controller/radio/airlock/access_controller{frequency = 1449; id_tag = "turbine_control"; name = "Turbine Access Console"; pixel_x = 6; pixel_y = -26; req_access_txt = "12"; tag_exterior_door = "gas_turbine_exterior"; tag_interior_door = "gas_turbine_interior"},/obj/machinery/ignition_switch{id = "gasturbine"; pixel_x = -6; pixel_y = -24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/turbine)
+"ddA" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1450; master_tag = "south_maint"; name = "exterior access button"; pixel_x = -25; pixel_y = 8; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"ddB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
+"ddC" = (/turf/space,/obj/machinery/access_button/airlock_exterior{master_tag = "atmospherics_south"; pixel_x = -25; pixel_y = -8},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"ddD" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddE" = (/turf/space,/obj/structure/transit_tube{icon_state = "E-W-Pass"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
"ddF" = (/obj/structure/sign/biohazard{pixel_y = 32},/turf/space,/area/space)
"ddG" = (/obj/machinery/field/generator,/turf/simulated/floor/plating,/area/storage/secure)
"ddH" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -8283,10 +8304,27 @@
"ddJ" = (/obj/structure/table,/obj/item/paper_bin,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"ddK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"ddL" = (/obj/structure/lattice,/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "sit_engshuttle"; name = "Cyberiad Eng Shuttle"; width = 11},/turf/space,/area/space)
+"ddM" = (/turf/space,/obj/item/wrench,/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"ddN" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddO" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "ai_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "75;13"},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"ddP" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddQ" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/space)
+"ddR" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"ddS" = (/obj/structure/particle_accelerator/fuel_chamber,/turf/simulated/floor/plating,/area/engine/engineering)
+"ddT" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddU" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddV" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddW" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddX" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"ddY" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_4)
"ddZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering)
"dea" = (/obj/machinery/space_heater,/turf/simulated/floor/plasteel,/area/atmos)
+"deb" = (/turf/space,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1450; master_tag = "sci_maint"; name = "exterior access button"; pixel_x = 8; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/space)
"dec" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/plasteel,/area/atmos)
+"ded" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_4)
+"dee" = (/turf/space,/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/plating/airless/catwalk,/area/solar/starboard)
+"def" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"deg" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
"deh" = (/obj/machinery/space_heater,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/atmos)
"dei" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor/plasteel,/area/atmos)
"dej" = (/obj/machinery/atmospherics/pipe/simple/visible/green{level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; name = "CO2 to Pure"; on = 0},/turf/simulated/floor/plasteel,/area/atmos)
@@ -8294,6 +8332,9 @@
"del" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space)
"dem" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
"den" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
+"deo" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"dep" = (/turf/space,/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk,/area/solar/starboard)
+"deq" = (/obj/machinery/computer/guestpass,/turf/simulated/wall,/area/medical/reception)
"der" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"des" = (/obj/machinery/light/small{dir = 8},/obj/machinery/field/generator,/turf/simulated/floor/plating,/area/storage/secure)
"deu" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/engine/engineering)
@@ -8395,7 +8436,6 @@
"dgY" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/obj/item/reagent_containers/food/snacks/donkpocket,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dgZ" = (/obj/item/c_tube,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dha" = (/obj/structure/mopbucket,/obj/item/caution,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"dhb" = (/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/maintenance/asmaint2)
"dhc" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space)
"dhd" = (/obj/machinery/computer/shuttle/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite)
"dhf" = (/obj/structure/closet/radiation,/turf/simulated/floor/plating,/area/storage/secure)
@@ -8418,15 +8458,9 @@
"dhJ" = (/obj/machinery/camera{c_tag = "Atmospherics South-East"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/binary/valve/digital/open{name = "Mixed Air Outlet Valve"},/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 6},/area/atmos)
"dhL" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/wall/r_wall,/area/maintenance/turbine)
"dhM" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5; tag = "icon-intact-y (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/turbine)
-"dhN" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10; level = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dhO" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/decal/cleanable/cobweb,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"dhP" = (/obj/structure/grille/broken,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dhQ" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dhR" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/asmaint2)
-"dhS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/maintenance/turbine)
-"dhT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dhU" = (/obj/machinery/power/smes{capacity = 9e+006; charge = 10000},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dhV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_y = 32},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/maintenance/turbine)
"dhW" = (/obj/structure/chair{dir = 4},/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite)
"dhX" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite)
"dhY" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -8439,9 +8473,6 @@
"dif" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite)
"dij" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9},/turf/simulated/floor/plating,/area/atmos)
"dik" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 6},/turf/simulated/floor/plating,/area/atmos)
-"dil" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dim" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"din" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"dio" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/atmos)
"dip" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/yellow{level = 2},/turf/simulated/floor/plating,/area/atmos)
"diq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/maintenance/asmaint)
@@ -8449,10 +8480,6 @@
"dis" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/aisat{name = "\improper AI Satellite Hallway"})
"dit" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{level = 2},/turf/simulated/floor/plating,/area/atmos)
"diu" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6; level = 2},/obj/structure/lattice,/turf/space,/area/space)
-"div" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"diw" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Mix to MiniSat"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dix" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"diy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"diz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"diA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"diB" = (/obj/structure/chair,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -8460,7 +8487,6 @@
"diD" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"diE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/wall,/area/maintenance/asmaint2)
"diF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/wall,/area/maintenance/asmaint2)
-"diG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/maintenance/asmaint2)
"diH" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"diI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"diJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -8484,11 +8510,6 @@
"djb" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/structure/lattice,/turf/space,/area/space)
"djc" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/obj/structure/lattice,/turf/space,/area/space)
"djd" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/space,/area/space)
-"dje" = (/obj/machinery/atmospherics/unary/tank/toxins{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"djf" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"djh" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/mob/living/simple_animal/mouse,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dji" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"djk" = (/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister,/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"djl" = (/obj/structure/table,/obj/item/cartridge/medical,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"djm" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"djo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -8496,17 +8517,12 @@
"djr" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"djs" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/storage/secure)
"djv" = (/obj/item/multitool,/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"djw" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4; initialize_directions = 11; level = 2},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"djx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"djy" = (/obj/structure/lattice,/obj/item/wirecutters,/turf/space,/area/space)
"djz" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/obj/item/latexballon,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"djA" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"djB" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/grille,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos)
"djC" = (/obj/machinery/camera{c_tag = "Aft Starboard Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"djE" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space)
-"djF" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"djG" = (/obj/machinery/atmospherics/binary/valve,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"djJ" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"djK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/turbine)
"djM" = (/obj/item/shard,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"djN" = (/obj/structure/disposalpipe/segment,/obj/item/cigbutt/roach,/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -8515,8 +8531,6 @@
"djS" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/grille,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/wall/r_wall,/area/atmos)
"djT" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space)
"djU" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/grille,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/wall/r_wall,/area/atmos)
-"djV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"djW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"djX" = (/obj/structure/disposalpipe/segment,/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"djY" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/asmaint)
"djZ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering)
@@ -8527,10 +8541,6 @@
"dki" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "on"; id = "n2_in"; on = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
"dkj" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/turbine)
"dkk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
-"dkl" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dkm" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dkn" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dko" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"dkp" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
"dkq" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "on"; id = "o2_in"; on = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
"dkr" = (/obj/machinery/portable_atmospherics/canister,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -8540,20 +8550,14 @@
"dkv" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"dkw" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "on"; id = "o2_in"; on = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
"dkx" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"dky" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/pen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"dkz" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plating/airless,/area/space)
"dkA" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating/airless,/area/space)
"dkB" = (/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plating/airless,/area/space)
"dkC" = (/obj/item/crowbar,/turf/space,/area/space)
-"dkD" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4; initialize_directions = 11; level = 2},/obj/machinery/meter,/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dkE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/binary/valve{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"dkF" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/maintenance/asmaint2)
"dkG" = (/obj/machinery/door/airlock/maintenance{name = "Biohazard Disposals"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dkH" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"dkI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump Engineering"; pixel_x = -24; shock_proof = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
-"dkJ" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/storage/toolbox/emergency,/obj/item/radio/intercom{pixel_y = -30},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dkK" = (/obj/structure/reagent_dispensers/watertank,/obj/item/extinguisher,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dkL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/computer/turbine_computer{id = "incineratorturbine"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"dkM" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"dkO" = (/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
"dkP" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -8561,9 +8565,6 @@
"dkS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dkT" = (/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
"dkV" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"dkW" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door_control{id = "auxiliaryturbinevent"; name = "Auxiliary Vent"; pixel_x = 6; pixel_y = -24; req_access_txt = "32"},/obj/machinery/door_control{id = "turbinevent"; name = "Turbine Vent"; pixel_x = -6; pixel_y = -24; req_access_txt = "32"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dkX" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/embedded_controller/radio/airlock/access_controller{frequency = 1449; id_tag = "turbine_control"; name = "Turbine Access Console"; pixel_x = 6; pixel_y = -26; req_access_txt = "12"; tag_exterior_door = "gas_turbine_exterior"; tag_interior_door = "gas_turbine_interior"},/obj/machinery/ignition_switch{id = "gasturbine"; pixel_x = -6; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
-"dkY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine)
"dkZ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "gas pump"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dla" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dlb" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1450; master_tag = "south_maint"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -8942,68 +8943,68 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTabIabIabIabIabQacIabVacJacUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNabNacaabYaccabNabNaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQadeabVabVadfabQacIabVacJabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNacgachaciachacjabNaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQadeabVadyadzabQacIabVacJabQabIadBadAadCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoacpachaciachacpacoaaaaaaaaaaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQadSabVabVadTabQadUabVacfadWadVadVadVabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuactacwacvacwacxacyaaaaaaaaaabNabNabNabNabNaabaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQadSabVabVadTabQadUabVacfadWadVadVadVabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuactacvacwacvacxacyaaaaaaaaaabNabNabNabNabNaabaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQadeabVabVabVaesabVabVaetaeuaevaevaewabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaababNacBacCacDachacEabNaaaaaaaababNacFacHacGabNabNabNaaaaaaaabaabaabafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQadeabVabVabVaePabVabVabVaeQaeRaeRaeSabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaabNacKacLacDacMacNabNaaaaabaababNacbacPacOacRacSabNaaaaabaabafOaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTabIabIabIabIabIabIafgabVabVabIabIabIabIabIabIadCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafOabNacoabNacVacWacXacYacWabNacZadaabPabNacWacQacWacWacWabNabNabNabNabNabNabNabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQafzafzafAafBafCabQafDabVabVabQafEafFafGafHafIabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababNadgadhacKadhacDadiadjadkaciadlachadmadbaddadcadqadradsacWaduadtadwadvadxabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQabVabVabVadyabVafPabVabVabVafQabVadyabVadyafRabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaabNadDadEadFadoacDadGachachadHadIadladJadnadpadladladNadOacWadPadPadQadRadRacoaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZagbagaagcaaaaaaaaaafZaaaaaaaaaagcaaaaaaaaaafZagdageagcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQagfabVabVabVabVaggabVabVabVaghabVabVabVabVagiabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNadXacwadYacwadZadLadKaeaadMaecaebaeeaedaegaefacwaehaehaeiaejaemaekaeoaeraeqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwagyagxagwaaaaaaafZagwagzagBagAagwagcaaaaaaagwagCagDagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQagEabVagFahvagGabQagHagIagHabQagJagKabVabVabVabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNadlaenaelaeAaeBaeCaeDaeAaeAaeEaepaeGaeHaeAaeyaeFaezaezaeIaeJaeLaeNaeLadRaeOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwagXagYagwaaaafZagZahaahbahcahdahaagZagcaaaagwaheahfagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQabVabVahgabQabIabQabVahhahiabQabIabQabVabVabVabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNabNabNaeKaeWaeVaeXacWaeYaeYacWafaafaacWafcafcabNabNabNabNaeTaeMaeZaeUadRaffaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwahmahlahnaaaahoahpahaahaahqahaahaahpahraaaahsahtahuagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQahwdcZahxabQaaaabQahyahyahyabQaaaabQahzahAahBabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababNafhachafiadiacWachafbacWachafdacWachafeabNafjafOabNaflafkafkafkafxabNafmafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZahIagZaaaaaaahJahpahaahKahLahaahaahpahMaaaaaaagZahIagZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQahyahyahyabQaaaacqahNahOahPacsaaaabQahyahyahyabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNafJacWafKafLacWafMafNacWafMafNacWafMafNabNaabafOabNabNabNabNabNabNabNafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZahIagZagZagZagZagZagZagZahZagZagZagZagZagZagZagZahIagZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqahNahOahPacsaaaaaaaaaaaaaaaaaaaaaacqahNahOahPacsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNabNabNabNafJacWafSafTacWafnafnacWafoafoacWafpafpabNafqaabaabaabaabaaaaaaafraabafOafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahoahIailailailailailailagwaimagwailailailailailailahIahraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNagkagjagmaglagoagnagqagpagragrafsagsagsaftagsagvabNaabaabaabaabaabaaaaaaaaaaabaaaafOafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiCaiDaiEaiFaiGaiHagwahZagZahZagZahZagwaiIaiJaiKaiLaiDaiMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNagMagLagNagOagPagQafvafuafUafwafUafVafYafWagPagWabNaaaaaaaabaaaaabaabaivaivaivaivaaaafOafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahJaiDahaahaahaajdagwahaahaahaahaahaagwahaahaajeahaaiDahMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTabIabIabIabIabIabIafgabVabVabIabIabIabIabIabIadCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafOabNacoabNacVacWacQacXacWabNacZadaabPabNacWacYacWacWacWabNabNabNabNabNabNabNabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQafzafzafAafBafCabQafDabVabVabQafEafFafGafHafIabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababNadbadcacKadcacDadgadhadiaciadjachadkadladdadmadnadradsacWaduadtadwadvadxabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQabVabVabVadyabVafPabVabVabVafQabVadyabVadyafRabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaabNadpadqadDadoacDadEachachadFadGadjadHadIadJadjadjadNadOacWadPadPadQadRadRacoaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZagbagaagcaaaaaaaaaafZaaaaaaaaaagcaaaaaaaaaafZagdageagcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQagfabVabVabVabVaggabVabVabVaghabVabVabVabVagiabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNadKacvadLacvadMadXadYadZaeaaebaecaedaeeaefaegacvaehaehaeiaejaemaekaeoaeraeqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwagyagxagwaaaaaaafZagwagzagBagAagwagcaaaaaaagwagCagDagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQagEabVagFahvagGabQagHagIagHabQagJagKabVabVabVabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNadjaelaenaepaeyaezaeAaepaepaeBaeCaeDaeEaepaeFaeGaeHaeHaeIaeJaeLaeNaeLadRaeOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwagXagYagwaaaafZagZahaahbahcahdahaagZagcaaaagwaheahfagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQabVabVahgabQabIabQabVahhahiabQabIabQabVabVabVabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNabNabNaeKaeVaeWaeXacWaeYaeYacWafaafaacWafbafbabNabNabNabNaeTaeMaeZaeUadRaffaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwahmahlahnaaaahoahpahaahaahqahaahaahpahraaaahsahtahuagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQahwdcZahxabQaaaabQahyahyahyabQaaaabQahzahAahBabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababNafcachafdadgacWachafeacWachafhacWachafiabNafjafOabNaflafkafkafkafxabNafmafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZahIagZaaaaaaahJahpahaahKahLahaahaahpahMaaaaaaagZahIagZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQahyahyahyabQaaaacqahNahOahPacsaaaabQahyahyahyabQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNafJacWafKafLacWafnafoacWafnafoacWafnafoabNaabafOabNabNabNabNabNabNabNafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZahIagZagZagZagZagZagZagZahZagZagZagZagZagZagZagZahIagZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqahNahOahPacsaaaaaaaaaaaaaaaaaaaaaacqahNahOahPacsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNabNabNabNafJacWafSafTacWafpafpacWafvafvacWafMafMabNafqaabaabaabaabaaaaaaafraabafOafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahoahIailailailailailailagwaimagwailailailailailailahIahraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNagkagjagmaglagoafNagnagpagragrafsagsagsaftagsagvabNaabaabaabaabaabaaaaaaaaaaabaaaafOafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiCaiDaiEaiFaiGaiHagwahZagZahZagZahZagwaiIaiJaiKaiLaiDaiMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNagMagLagNagOagPagqagQafuafUafwafUafVafYafWagPagWabNaaaaaaaabaaaaabaabaivaivaivaivaaaafOafXafXafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahJaiDahaahaahaajdagwahaahaahaahaahaagwahaahaajeahaaiDahMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNabNabNabNabNabNahjahkabNabNabNabNabNabNabNagtagtagtagtagtagtagtaaaaguaivagSagRaivaguaaaafOafXafXagUagTagTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwajzajAajBajCajDagwajEahaahaahaajFagwajGahaajHajIajzagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNagVahDahCabNahEaigacWahFahFahFahFahFahFagtahHahRagtahTahSagtaaaaivahUahVahVahWaivaaaaaaafOafXagTahXahYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwajYajYagZagZagZagwajZahaahaahaakaagwagZagZagZajYajYagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNaiaaicaibaieaidaitabNahFahFahFahFahFahFagtaifaijahGainaikagtaaaaivaioaiqaipairaivaaaaaaaaaagTagTaisagTagTagTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsakpakpahnaaaaaaagwakqahaahaahaakragwaaaaaaahsakpakpahnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahQahQahQahQahQahQaiiaigaiuahFahFahFahFahFahFagtaiwaiyaixannaizagtaivaivaiAaiNaiBaiOaivaivaaaaabagTaiQaiPaiSaiRanAaaaanHaiTaiVaiUanHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwakAahaahaahaakragwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahQahQahQahQaiZaiXajfajaahQajgaolakjahFahFahFahFahFahFalealgajiajhajlajkajnajmajpajoajrajqajLajKaivaaaajMagTajOajNajQajPanAanHanHajRajTajSanHanHaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwakRakPahZakRakPagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajWajUakcakbakeakdakhakgahQakiaitalcahFahFahFahFahFahFajnaYmanWakkannanWaklajjajjakmajjaksakwaktaivaabaabagTakCakxakEakDanAakvakFaoJaoJakGakIakHakJakKakMakLakNaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvalvalvalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwalxalyahaalzalAagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajWakOakSakQakVakTalaakYaldalbaitaleahFahFahFahFahFahFagtalfalgakkalialhajnaljallalkalnalmakfakuaivanHanHanAanAanAanAaloanAalpalralqalualtalFalCakHaiYaiYaiYalHaihaihaaaaaaaaaajbajbajbajbajbajbajbalIalJaaaabpaaaaaaalvaaaaabaaaamhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwamiamjahaamkamlagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajWalKalMalLalOalNalQalPahQalRalSabNahFahFahFahFahFahFagtagtalUalTapPagtagtalValWaivalYalXalZaivaivanHambamaamdamcamfameanAalGaoJamgamnammalFampalCamvajVamsamuamtaihaaaaaaaaaajbajsajtajvajuajwajxajyaaaaaaaaaaaaaaaamWaabamUaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsagZamYamZanaagZahnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahQahQaqqahQahQahQahQahQahQamwaigapFapFapFapFapFapFapFapFamxamzamyamzamAamCamBamEamDamGamFamIamHamJauiaoJamKamKamKamKamLamqaoJamMamramOamNamQamPamTamSanbamXandancaneaaaaaaaabajbajXajwajwajwajwajxajyaaaaaaaaaaaaamWalvaaaanGaaaalvamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsagZagZagZahnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfangaomanianhankanjanlajJanmapGanpanoanranqantansapFanuanwanvanzanyanCanBanEanDanIanFanJanJanJanKaoJanLanNanManPanOanRanQanQanSanUanTalFanVaofajVajVanXanZanYaoaaaaaabaabajbaknajwakoajwajwajxajyaaaaaaaaaaaaamWaabaabanGaabaabaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfangaomaocaobaoeaodaohaogaitapGaojaoiaonaokaopaooapFaoqaosaoraouaotaowaovaoxalWaozaoyaoBaoAaoDaoCaoJaoEaoGaoFaoFaoHaoLaoIaoIaoMaoPaoNalFaofaoQaiYaiYaiYaoTaoSaihaqIaqIaqIajbakyajwajwajwajwakzajyaaaaaaaaaaaaamWaaaaaaaoKaaaaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfaoUaomaoValEaoXaoWanlajJaigapGaoZaoYapbapaapdapcapFapeapgapfaphamyapjapiapkapSapAaplapCapBapEapDapIapHapJapJapLapKapmaoRapMaoJapNaoJapOaoQapQaiYapVapUapXapWaihaZJaZMaZLajbapYaqaapZaqcaqbajbalIaqeaaaaaaaaaamWaabappapnapqaabaabamWamWamWamWamWamWaqpamWamWamWamWamWamWamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapsaprapuaptapwapraprapxapraprapvaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabapyaabalvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBakBakBakBaslakWakZaomaomaomaomakUaqsapFapGapGapGaqtaquapGapFaqvalUaqwaqwalTaqxaqxapPapSapSaqyaqzapSapSapSanAaqAaqCaqBanxanAanAaqAapRanxaqDapTanxanAaqGaqGaqGaqGaqHaihaihaqIaucaqIaqIajbalsaqJaqKalsajbaabaaaaaaaaaaaaamWaaaappaqdapqaaaaaaaabaabaabaabaabaabaabaabaqLaabaabaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqfaqhaqiaqgaqkaqlaqlaqlaqmaqjaqoaaaaaaaaaalwalwalwalvalvaabaabaaaaqnaaaaabaabalvalvalwalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBakXaqraqMaqNaqraqOapzaqQaqPakWaqRaqSaqXaqVaqUaqXaqWariaqYarjaqXaqXaqXaqXarkaqXaqXaqXarlarnarmarparoarrarqarsarsarsartarsaruarwarvarxaqXaryaqWaqXarzarBarAarCaqXariaqXaqXarDarEaqVaqXarFarHarGarJarIajbaabaaaaaaaaaaaaamWaaaappaqdapqaaaaaaaabaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaardaqhareargaqlarharharharharharfaaaaaaaaaalwaaaaaaaabaaaaabaaaaaaaqnaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBalDarKalDarLalDarNarMarParOarRaqTarSarQasdascaseaseasfaseasgaseaseaseasiashasiasjasiasiassaskasnasmaspasoasoasoasoasqasoasoasoasrastasAasvasuasxaswaszasyasAasAasCasBasBasDasEasEasEasFasHasGasIamRamVaaaaaaaaaaaaaaaamWaabappaqdapqaaaaaaaabaqZaabaaaaaaaabaqZaabaabaaaaaaaqZaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarVaqharWarYarharharharharZasaaqoaaaaaaaaaalwaabarXarXarXarXarXaaaaraaaaarXarXarXarXarXaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBamoasYasXasZasYasYataatbalBakWaryatgatgatgatfatiathatkatjatmatlatnatjatpatoatratqatratsatuattatwatvatyatxatAatzatCatBatEatDatAatOatRatQaFLaFLaFLaFLaFLaFLaFLaxeatSatSatSatTatSatSatSarFatVatUatXatWajbaaaaaaaaaaaaaabamWaaaappaqdapqaabaabappapnapqaabaabappapnapqaabaabappapnapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasJaprapraprapwapraprapxapraprasKaaaaaaaaaalwaaaarbarcarcarcarcarUasbasLasMasMasMasMasNaaaalwaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaakBakBakBakBakBakBakBatYauaatZakWaubaudapFaxTaufawKaugauhawKawKawKawKaujaukaucatdaulatdaucaunaumawHawHawHawHauAauoawVauEauEawXauEauFauEauEaFLauGauHaFLauHauIaFLauJauLauKauNauMauPauOauQajbajbajbajbajbajbaaaaaaaaaaaaaaaamWaaaappaqdapqaaaaaaappaqdapqaaaaaaappaqdapqaaaaaaappaqdapqaabaqpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaabatFatFatFatFatFaaaasbaaaatFatFatFatFatFaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBauRauTauSakWauUauVapGauXauWaucauYavaauZavcavbauZavdavfaveavhavgaviaveavjaAzavlavkavmavlavoavnavzavravBavAaAFavCaCyavDaFLauIavFavEavFauIaFLavGavHayVayVavIavKavJavLaHEaaaaabaaaaaaaaaaaaaaaaaaaaaaaaamWaaaappaqdapqaaaaaaappaqdapqaaaaaaappaqdapqaaaaaaappaqdapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaaaaaaaabaaaaaaaaaasbaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasSasUasTasWasVaaaaaaawBawBaudaudaudaudavMavNaucavOauWaucavPavRavQavTavSavUavdavfavVavXavWavZavYavjaAzawbawaawdawcawfaweawgaCyawhavAaAFawiawnawjaFLawAawDawCawEawAaFLawFawGayVawJawIawLawGawMaHEaabaabaaaaaaaaaaaaaaaaaaaaaaaaamWaaaappaqdapqaabaabappaqdapqaabaabappaqdapqaabaabappaqdapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaabarXarXarXarXarXaaaasbaaaarXarXarXarXarXaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIatKatLatJatIatMatNatPawOawNawQawPawSawRauVaucawTauWaucawUawYawWaxaawZawWavdavfaxbaxdaxcaxfavYavjaAzaxpaxgaxqaxpaxsaxraxvaxtavBaxwaxyaxxaxAaxzaxCaxBaxEaxDaxFavFaxGawGawGawGaHEaHEaxIaxHaHEaHEaabaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabappaqdapqaaaaaaappaqdapqaaaaaaappaqdapqaaaaaaappaqdapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawoawqawpawsawraaaawtawvawuawxawwapoaaaarbarcarcarcarcarUasbasLasMasMasMasMasNaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauvauwauxauuauzauyauBauyaxKaxJaxNaxMaudaudaudawKaxOaueawKaxPaxQawKaxSaxRawKayLavfaxUaxWaxVaxYaxXavjayMawHayaayeawHaygayfawVaynavBaypayqaCyaysayraFLaytayvayuayxaywaFLayyayAayzaHEaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabamWaaaaabaoKaabaaaaaaappaqdapqaaaaaaappaqdapqaaaaaaappaqdapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaxjaxjaxjaxiaaaaxkaxlaxlaxlaxkalwaxnatFatFatFatFatFaaaasbaaaatFatFatFatFatFaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIavvavyavxatIatMatNatNayCayBayEayDaudayFayGaxuayIayHawKauYayJauZavcayKauZavdayOaxZayNaxZazuaxZazwaAzavlayPavmavlayQavnavzaAFavAayRayTaySayWayUaFLaFLaFLaFLaFLaFLaFLaxeaHEaHEaHEatGaxhaxhaxhdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaqZaabaabaabappaqdapqaabaabappaqdapqaabaabappaqdapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiayjayjayjaxiaaaaxkaykaylaykaxkalwaaaaaaaaaaabaaaaaaaaaasbaaaaaaaaaaabaaaaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIawzawzawyatIaaaaaaayXayYauDauVayZaudazaazdazcazmazlawKazoazqazpavTaztazvaAsazyaxLavdaxLaAzaxLaAqazxazAazzawdazBazDazCazFazEazHazGazGazHazJazIawlazKazMazLawlaybaDRaycawlazNazPazOazRazQazTasOaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaqZaqZaqZaabaaaaaaaoKaabaabaabaabaoKaabaabaabaabaoKaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahQahQahQahQahQahQaiiaigaiuahFahFahFahFahFahFagtaiwaiyaixajhaizagtaivaivaiAaiNaiBaiOaivaivaaaaabagTaiQaiPaiSaiRanAaaaanHaiTaiVaiUanHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwakAahaahaahaakragwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahQahQahQahQaiZaiXajfajaahQajgaolajiahFahFahFahFahFahFalealgajlakjakkajkajnajmajpajoajrajqajLajKaivaaaajMagTajOajNajQajPanAanHanHajRajTajSanHanHaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwakRakPahZakRakPagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajWajUakcakbakeakdakhakgahQakiaitalcahFahFahFahFahFahFajnaYmanWakXajhanWaklajjajjakmajjaksakwaktaivaabaabagTakCakxakEakDanAakvakFaoJaoJakGakIakHakJakKakMakLakNaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvalvalvalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwalxalyahaalzalAagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajWakOakSakQakVakTalaakYaldalbaitaleahFahFahFahFahFahFagtalfalgakXalialhajnaljallalkalnalmakfakuaivanHanHanAanAanAanAaloanAalpalralqalualtalFalCakHaiYaiYaiYalHaihaihaaaaaaaaaajbajbajbajbajbajbajbalIalJaaaabpaaaaaaalvaaaaabaaaamhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagwamiamjahaamkamlagwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajWalKalMalLalOalNalQalPahQalRalSabNahFahFahFahFahFahFagtagtalUalTapPagtagtalValWaivalYalXalZaivaivanHambamaamdamcamfameanAalGaoJamgamnammalFampalCamvajVamsamuamtaihaaaaaaaaaajbajsajtajvajuajwajxajyaaaaaaaaaaaaaaaamWaabalDaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsagZamYamZanaagZahnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahQahQaqqahQahQahQahQahQahQamwaigapFapFapFapFapFapFapFapFamxamzamyamzamAamCamBamEamDamGamFamIamHamJauiaoJamKamKamKamKamLamqaoJamMamramOamNamQamPamTamSanbamXandancaneaaaaaaaabajbajXajwajwajwajwajxajyaaaaaaaaaaaaamWalvaaaamoaaaalvamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsagZagZagZahnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfangaomanianhankanjanlajJanmapGanpanoanranqantansapFanuanwanvanzanyanCanBanEanDanIanFanJanJanJanKaoJanLanNanManPanOanRanQanQanSanUanTalFanVaofajVajVanXanZanYaoaaaaaabaabajbaknajwakoajwajwajxajyaaaaaaaaaaaaamWaabaabamoaabaabaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfangaomaocaobaoeaodaohaogaitapGaojaoiaonaokaopaooapFaoqaosaoraouaotaowaovaoxalWaozaoyaoBaoAaoDaoCaoJaoEaoGaoFaoFaoHaoLaoIaoIaoMaoPaoNalFaofaoQaiYaiYaiYaoTaoSaihaqIaqIaqIajbakyajwajwajwajwakzajyaaaaaaaaaaaaamWaaaaaaamUaaaaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfaoUaomaoValEaoXaoWanlajJaigapGaoZaoYapbapaapdapcapFapeapgapfaphamyapjapiapkapSapAaplapCapBapEapDapIapHapJapJapLapKapmaoRapMaoJapNaoJapOaoQapQaiYapVapUapXapWaihaZJaZMaZLajbapYaqaapZaqcaqbajbalIaqeaaaaaaaaaamWaabappannapqaabaabamWamWamWamWamWamWaqpamWamWamWamWamWamWamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapsaprapuaptapwapraprapxapraprapvaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabanGaabalvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBakBakBakBaslakWakZaomaomaomaomakUaqsapFapGapGapGaqtaquapGapFaqvalUaqwaqwalTaqxaqxapPapSapSaqyaqzapSapSapSanAaqAaqCaqBanxanAanAaqAapRanxaqDapTanxanAaqGaqGaqGaqGaqHaihaihaqIaucaqIaqIajbalsaqJaqKalsajbaabaaaaaaaaaaaaamWaaaappaoKapqaaaaaaaabaabaabaabaabaabaabaabaqLaabaabaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqfaqhaqiaqgaqkaqlaqlaqlaqmaqjaqoaaaaaaaaaalwalwalwalvalvaabaabaaaapnaaaaabaabalvalvalwalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBapyaqraqMaqNaqraqOapzaqQaqPakWaqRaqSaqXaqVaqUaqXaqWariaqYarjaqXaqXaqXaqXarkaqXaqXaqXarlarnarmarparoarrarqarsarsarsartarsaruarwarvarxaqXaryaqWaqXarzarBarAarCaqXariaqXaqXarDarEaqVaqXarFarHarGarJarIajbaabaaaaaaaaaaaaamWaaaappaoKapqaaaaaaaabaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaardaqhareargaqlarharharharharharfaaaaaaaaaalwaaaaaaaabaaaaabaaaaaaapnaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBaqdarKaqdaqdaqdaqnaraarParOarRaqTarSarQasdascaseaseasfaseasgaseaseaseasiashasiasjasiasiassaskasnasmaspasoasoasoasoasqasoasoasoasrastasAasvasuasxaswaszasyasAasAasCasBasBasDasEasEasEasFasHasGasIamRamVaaaaaaaaaaaaaaaamWaabappaoKapqaaaaaaaabaqZaabaaaaaaaabaqZaabaabaaaaaaaqZaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarVaqharWarYarharharharharZasaaqoaaaaaaaaaalwaabarXarXarXarXarXaaaarbaaaarXarXarXarXarXaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBarcasYasXasZasYasYataatbalBakWaryatgatgatgatfatiathatkatjatmatlatnatjatpatoatratqatratsatuattatwatvatyatxatAatzatCatBatEatDatAatOatRatQaFLaFLaFLaFLaFLaFLaFLaxeatSatSatSatTatSatSatSarFatVatUatXatWajbaaaaaaaaaaaaaabamWaaaappaoKapqaabaabappannapqaabaabappannapqaabaabappannapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasJaprapraprapwapraprapxapraprasKaaaaaaaaaalwaaaarLarMarMarMarMarNasbarUasLasLasLasLasMaaaalwaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaakBakBakBakBakBakBakBatYauaatZakWaubaudapFaxTaufawKaugauhawKawKawKawKaujaukaucatdaulatdaucaunaumawHawHawHawHauAauoawVauEauEawXauEauFauEauEaFLauGauHaFLauHauIaFLauJauLauKauNauMauPauOauQajbajbajbajbajbajbaaaaaaaaaaaaaaaamWaaaappaoKapqaaaaaaappaoKapqaaaaaaappaoKapqaaaaaaappaoKapqaabaqpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaabatFatFatFatFatFaaaasbaaaatFatFatFatFatFaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakBauRauTauSakWasNauVapGauXauWaucauYavaauZavcavbauZavdavfaveavhavgaviaveavjaAzavlavkavmavlavoavnavzavravBavAaAFavCaCyavDaFLauIavFavEavFauIaFLavGavHayVayVavIavKavJavLaHEaaaaabaaaaaaaaaaaaaaaaaaaaaaaaamWaaaappaoKapqaaaaaaappaoKapqaaaaaaappaoKapqaaaaaaappaoKapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaaaaaaaabaaaaaaaaaasbaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasSasUasTasWasVaaaaaaawBawBaudaudaudaudasOavNaucavOauWaucavPavRavQavTavSavUavdavfavVavXavWavZavYavjaAzawbawaawdawcawfaweawgaCyawhavAaAFawiawnawjaFLawAawDawCawEawAaFLawFawGayVawJawIawLawGawMaHEaabaabaaaaaaaaaaaaaaaaaaaaaaaaamWaaaappaoKapqaabaabappaoKapqaabaabappaoKapqaabaabappaoKapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaabarXarXarXarXarXaaaasbaaaarXarXarXarXarXaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIatKatLatJatIatMatNatPawOawNasQasRawSatHauVaucawTauWaucawUawYawWaxaawZawWavdavfaxbaxdaxcaxfavYavjaAzaxpaxgauraxpaxsaxraxvaxtavBaxwaxyaxxaxAaxzaxCaxBaxEaxDaxFavFaxGawGawGawGaHEaHEaxIaxHaHEaHEaabaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabappaoKapqaaaaaaappaoKapqaaaaaaappaoKapqaaaaaaappaoKapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawoawqawpawsawraaaawtawvawuawxawwapoaaaarLarMarMarMarMarNasbarUasLasLasLasLasMaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauvauwauxauuauzauyauBauyaxKaxJautaxMaudaudaudawKaxOaueawKaxPaxQawKaxSaxRawKayLavfaxUaxWaxVaxYaxXavjayMawHayaayeawHaygayfawVaynavBaypayqaCyaysayraFLaytayvayuayxaywaFLayyayAayzaHEaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabamWaaaaabamUaabaaaaaaappaoKapqaaaaaaappaoKapqaaaaaaappaoKapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaxjaxjaxjaxiaaaaxkaxlaxlaxlaxkalwaxnatFatFatFatFatFaaaasbaaaatFatFatFatFatFaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIavvavyavxatIatMatNatNayCayBauDayDaudayFayGaxuayIayHawKauYayJauZavcayKauZavdayOaxZayNaxZazuaxZazwaAzavlayPavmavlayQavnavzaAFavAayRayTaySayWayUaFLaFLaFLaFLaFLaFLaFLaxeaHEaHEaHEatGaxhaxhaxhdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaqZaabaabaabappaoKapqaabaabappaoKapqaabaabappaoKapqaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiayjayjayjaxiaaaaxkaykaylaykaxkalwaaaaaaaaaaabaaaaaaaaaasbaaaaaaaaaaabaaaaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIawzawzawyatIaaaaaaayXayYauUauVayZaudazaazdazcazmazlawKazoazqazpavTaztazvaAsazyaxLavdaxLaAzaxLaAqazxazAazzawdazBazDazCazFazEazHazGazGazHazJazIawlazKazMazLawlaybaDRaycawlazNazPazOazRazQazTavMaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaqZaqZaqZaabaaaaaaamUaabaabaabaabamUaabaabaabaabamUaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiazeazgazhaxiaaaaxkazfazjaziaxkalwaabarXarXarXarXarXaaaasbaaaarXarXarXarXarXaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauvaxoawzaxmatIatMatNazVauyawBaudaudaudaznazXazWazsazrawKazYazZawWaAcaAaawWaAdaAraxLaABaAtaATaxLaAqaBIaxpaAuaAvaxpaAwavnaxvaAyaACaAAaAEaADaAHasPawlaAIaAKaAJawlavqavqaIjaIqaydavqavqaxhaxhaxhdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqZazUaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaaaaaaamWaaaaAfaAfaAgaAgaAgaAgaAgaAgaAfaAfaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaAhazgazhaxiaaaaxkaAiaykaykaxkalwaaaarbarcarcarcarcarUasbasLasMasMasMasMasNaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIaymawzawzayhauyayoaAMauCaAmaAnaAlaAnaApaApaANaApaAoaElaAOaAPawKaxSaARawKaBKaDhaAUaAVaxLaAXaAWaHraBaawHaBiayeawHaBraBpaBsaBsaBsaBsaBsawVaBuaBtawlaBvaBRaBvawlaBwavqavqavqavqavqaIsatGaupasQauqauqausaaaaaaaaaaaaaaaaaaaaaaabaabaabaqZasRatHaabaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaamWaAfaAfaBdaBcaBeaBgaBhaBfaBjaBeaAfaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaAhazgazhaxiaaaaxkaBkaykaBlaxkaabaBmatFatFatFatFatFaaaasbaaaatFatFatFatFatFaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIazkazkazkatIatMaBAaBzaBBaAmaCaaAnaAnaBCaApaBDaBqaBoaElaBEaBFauZavcaBGauZaAdaxLaxLaBbaAZaBHaxLaxLazxavlaBLavmavlaBNaBMaBPaBOaBSaBQaBsaCcaCfaCeaZIaCgavqaSPavqavqavqavqavqavqavqavqavsavqavtavpavuavwaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabauraabaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaAfaAfaAfaAfaBUaBgaBVaBgaBVaBXaBgaBgaBgaBWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiazgazgazgaBYaaaaxkaBkaykaBlaxkalwaaaaaaaabaaaaabaaaaaaautaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaAkaAkaAkaAjaaaaaaaaaaaaaBnaAnaAnaAnaCiaCkaCjaCdaCbaElavPaCmaClavTaCnaCoavdaxLaEBaBJaEBaCpaEBaxLaAzazAaCrawdaCsateaCtaBsaCvaCxaCwaBsaCzaCBaCAaCCaZIaZIaCgavqavqaChawlbWpaIYbWpbWpatGavqawkauqauqawmaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabazbaabaabaaaaaaaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaAfaCNaCOaCPaCMaCRaCQaCSaBgaBgazSaCVaBgaCWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaAhazgazhaxiaaaaxkaAiaykaykaxkalwaaaarLarMarMarMarMarNasbarUasLasLasLasLasMaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIaymawzawzayhauyayoaAMauCaAmaAnaAlaAnaApaApaANaApaAoaElaAOaAPawKaxSaARawKaBKaDhaAUaAVaxLaAXaAWaHraBaawHaBiayeawHaBraBpaBsaBsaBsaBsaBsawVaBuaBtawlaBvaBRaBvawlaBwavqavqavqavqavqaIsatGaupawkauqauqausaaaaaaaaaaaaaaaaaaaaaaabaabaabaqZawPawQaabaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaamWaAfaAfaBdaBcaBeaBgaBhaBfaBjaBeaAfaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaAhazgazhaxiaaaaxkaBkaykaBlaxkaabaBmatFatFatFatFatFaaaasbaaaatFatFatFatFatFaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIazkazkazkatIatMaBAaBzaBBaAmaCaaAnaAnaBCaApaBDaBqaBoaElaBEaBFauZavcaBGauZaAdaxLaxLaBbaAZaBHaxLaxLazxavlaBLavmavlaBNaBMaBPaBOaBSaBQaBsaCcaCfaCeaZIaCgavqaSPavqavqavqavqavqavqavqavqavsavqavtavpavuavwaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabawRaabaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaAfaAfaAfaAfaBUaBgaBVaBgaBVaBXaBgaBgaBgaBWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiazgazgazgaBYaaaaxkaBkaykaBlaxkalwaaaaaaaabaaaaabaaaaaaaxqaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaAkaAkaAkaAjaaaaaaaaaaaaaBnaAnaAnaAnaCiaCkaCjaCdaCbaElavPaCmaClavTaCnaCoavdaxLaEBaBJaEBaCpaEBaxLaAzazAaCrawdaCsateaCtaBsaCvaCxaCwaBsaCzaCBaCAaCCaZIaZIaCgavqavqaChawlbWpaIYbWpbWpatGavqaxNauqauqawmaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabayEaabaabaaaaaaaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaAfaCNaCOaCPaCMaCRaCQaCSaBgaBgazSaCVaBgaCWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaCTazgazgaCXaaaaxkaCYaykaykaCZalwalwalwaabaabaabaabaDbaDaaDbaabaabaabaabalwalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBnaDdaDcaCEaCDaCGaCFaCHaDiaElauYaCIawWaCKaCJawWaDeaDfaEBaCqaFFaDgaEBaDkaDjaxpaDlaDmaxpaDoaDnaBsaDpaDraDqaBsaDsaDNaDNaDNaDNaDPaDPaDPaDPaDPaDPcXKcXHaJccYNatGatGatGatGaaaaaaaaaabpaabaabaabaaaaabaaaaabaabaDSaDKaDSaabaabaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaAfaDUaDTaDWaDVaDYaDXaBgaBgaBgaAbaEaaBgaEcaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaEbazgaEeaxiaaaaxkaEfaykaykaxkaabaaaaabaaaaaaaabaaaaDbaEgaEdaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaEiaEiaEiaEiaEiaEiaAmaElaElaElaDtaElaElaElaDuaAmaAxaAxaAxaAxaAxaAxaEBaEBaDvaCqaFFaDgaDvaDvaDvaEpaEpaEpaEpaDxaDwaBsaDyaDAaDzaBsaDsaDNaELaEMaEKaDPaENaDBaEOaEQaDPaJlcXHcXHcXHaJnaJmaJobWvaaaaaaaaaaabaabaaaaabaabaabaabaabaaaaDSaERaDSaaaaabaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaAfaETaESaCPaEUaEWaEVaEXaBgaEZaALaFbaFaaAfaFdaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFeaFfaFcaFfaFgaaaaFiaFhaykaFkaFiaabaaaaabaaaaaaaabaDbaDbaFjaFmaDbaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaFlaFoaDCaDDaFvaFwaFsaDFaDEaDDaDGaFvaFvaDIaDHaFBaFAaFyaFyaFyaFyaFyaFyaFyaDJaDLaGraDMaEjaDOavqavqavqavqavqaBsaDQaEkaEhaEnaEmaBsaEoaDNaFTaFUaFPaDPaFVaEqaFWaFYaDPaJEaJpaJFcXHcXHcXHcXHbWraaaaaaaabaabaaaaaaaaaaaaaaaaabaabaDSaDSaFZaDSaDSaabaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaAfaGbaGaaCPaAfaCPaCPaGdaGcaAfaAfaAfaAfaAfaAfaaaaabaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaFeaGfaFgaaaaaaaGgaFiaGeaFiaGhaabaaaaabaaaaaaaabaGjaGiaGlaGkaGjaGnaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaGmaEraGpaEtaEsaEuaEsaEvaEsaExaEwaGraGraEzaEyaGraGraGraGraGraGraGraGraGraECaEEaEDaEGaEFaEHaAQaASaEIaASaAQaBsaEJaFnaEPaFnaFnaBsaDsaDNaFpaGNaFqaDPaFraGRaGQaEQaDPaJGcXHaKycXHcXHbYecWGbWraaaaabaabaaaaaaaaaaaaaaaaaaaaaaabaGTaGUaGSaGWaGTaabaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaGXaAfaCPaAfaCPaGYaGVaHbaMzaGYaGYaGYaIEaGYajcaMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaFeaGfaFgaaaaaaaGgaFiaGeaFiaGhaabaaaaabaaaaaaaabaGjaGiaGlaGkaGjaGnaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaGmaEraGpaEtaEsaEuaEsaEvaEsaExaEwaGraGraEzaEyaGraGraGraGraGraGraGraGraGraECaEEaEDaEGaEFaEHaAQaASaEIaASaAQaBsaEJaFnaEPaFnaFnaBsaDsaDNaFpaGNaFqaDPaFraGRaGQaEQaDPaJGcXHaKycXHcXHbYecWGbWraaaaabaabaaaaaaaaaaaaaaaaaaaaaaabaGTaGUaGSaGWaGTaabaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaGXaAfaCPaAfaCPaGYaAYaHbaMzaGYaGYaGYaIEaGYajcaMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaGnaGnaGnaGnaGnaGnaGnaGnaabaabaGjaHcaHaaGZaGjaHdaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaHearTaHfaFuaFtaFxaHnaFzaHnaFCaHqaHnaHnaFEaFDaHnaHnaHnaHnaHnaHnaHnaFHaFJaFIaFKaHvaHxaEjaFMaAQaFNaASaFOaAQaBsaBsaBsaBsaBsaBsaBsaFQaDNaHCaFUaFRaDPaFSaHGaFWaHHaDPbZQbYeaKBcXHcXHcXHcXIbWraabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaGTaHKaHIaHJaGTaabaaaaabaaaaaaaabaaaaaaaGXaHNaGXaHNaGXaHbaGYaGYaGYaGYaGYaGYaGYaGYaGYaHOaGXaGYaJOaMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadmoaAYdmoaaaaaaaaaaGnaHSaHTaHSaHRaHMaHUaGnaaaaaaaGjaHVaHXaHWaIaaHSaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIbaIcaIcaIeaIeaFXaLAaIhaIhaGqaLAaGsaIlaIiaIiaIlaGtaIlaIoaIoaIoaIoaIoaIoaImaIoaIoaInaIraIpaEjaGuavqaAQaAQaAQavqavqavqaydaGvaGwavqavqaGxaDNaIwaFUaGyaDPaGzaGRaGQaEQaDPcXIcXHaLYaKPcXHbYebZQbWvaabaabaaaaaaaaaaaadmoaBxdmoaaaaabaGTaIBaIAaICaGTaIFaIFaIFaIFaIFaHNaHNaHNaGXaIDaGYaHOaHPaMzaGYaMqaMqaMqaMqaMqaMqaMqaMqaMqaGXaMraMraMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaIIaIGaIIaaaaaaaabaGnaIHaILaHSaHSaIJaHSaGnaIIaIIaGjaGjaIMaIKaIaaHSaGnaGnaIIaIIaIIaGnaGnaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaIbaIPaGAaGCaGBaGDaLAaGFaGEaGGaLAaGHaIlaIWaIZaGJaGIaHgaJaaJdaLZaJfaJeaJhaJgaJjaJiaJkaFFaFGaEjaGKavqavqavqavqavqavqavqavqavqavqavqavqaGLaGOaGMaHhaGPaDPaHiaHjaJyaJBaDPcWGbYeaMbaMaaODaODaODaODaODaODaODaaaaaaaaaaHNaJCaHNaaaaIFaGTaGTaJDaJHaGTaJIaGYaGYaGYaMzaJJaGYaJMaGXaGYaGYaGYaJKaMzaGYaMqaNkaNnaNmaMqaNpaNoaNqaMqaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJPaJSaJQaaaaJRaJVaJTaabaabaIIaHSaIIaaaaaaaabaGnaJXaJYaJZaJWaJUaKaaGnaKbaHSaKdaKcaKfaKeaKeaKeaKeaKeaKeaKeaKeaKgaGnaaaaKhaaaaaaaaaaaaaaaaaaaaaaaaaIbaKkaHkaKmaKnaHlaLAaHmaKraHoaLAaGHaIlaKtaHYaKvaGIaHgaKqaKsaKsaKsaKsaKsaJgaKwaJiaFyaFFaFGaEjaFMaLPaLPaLPaLPaLPaHpaKOaKOaKOaKOaKOaKOaKOaDNaDNaLVaDNaDPaDPaHsaDPaDPaDPaMhaMeaMjcYKaODaKQaKQaKQaKQaKQaODaaaaaaaaaaHNaKJaKMaaaaIFaKRaKTaKSaKWaGYaGYaGYaMzaGYaMzaKXaGYaGYaGXaGYaKVaKUaKXaIEaGYaMqaOKaOLaOLaMqaOMaOJaONaMqaMraMraMraMraabaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLaaLbaLaaLdaLeaLfaLeaLdaabaIIaLgaLhaaaaaaaGnaGnaGnaGnaGnaLkaLiaLlaLjaLnaLmaLmaLoaLraLraLqaLpaGnaHSaGnaGnaGnaLsaGnaaaaabaaaaaaaaaaaaaaaaaaaabaabaIbaLuaLtaLwaLvaLxaLAaKraLyaHtaLAaGHaIlaLCaLEaHwaHuaHzaHyaHAaLHaKsaLIaLIaJgaKsaJiaFyaFFaLJaEjaHBaLPaHFaHDaLNaLPaMwaAGaMIaMHaMLaMJaIdaHZaIkaIgaIyaIvaIUaITaNcaNbaIXaKObWrbWraNUaKOaODaKQaKQaKQaKQaKQaODaabaabaKOaHNaMfaMgaHNaIFaMiaGYaMkaGYaHbaGYaGXaGXaMmaGXaGXaMnaMzaMzaKXaMoaMlaGYaGXaGYaPOaMqaPPaPTaPSaPUaOKaPWaMqaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaLaaMpaLaaMsaLeaMtaLeaMsaGnaIIaMuaEAaIIaIIaGnaHSaHSaHSaHSaHSaHSaHSaLkaLsaGnaGnaGnaGnaGnaMxaGnaGnaHSaMyaGnaMvaLsaGnaGnaGnaaaaaaaaaaaaaaaaMAaMAaMAaMAaMAaMAaMAaMAaMAaLAaItaMCaIuaLAaGHaIlaIxaJbaINaJvaHgaMMaIQaIOaMPaMOaMRaMQaMSaJiaFyaFFaFGaEjaFMaLPaISaIRaLNaLPaKuaMVaMVaMVaMVaMVaMVaMVaLQaKxaLRaOiaOiaOiaLSaOiaPAaOuaOAaOzaOBaJqaODaKQaKQaKQaKQaKQaODaKOaKOaKOaGYaNfaNgaJIaMzaMoaKXaMkaGYaNhaGVaNlaIEaGYaGYaGYaGYaNiaGYaGYaMoaNjaGYaMnaPRaPQaQSaQQaQUaQTaQVaQYaQWaMqaMraMraMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaCLaNtaCUaMsaDZaNyaEYaNwaNxaHSaNzaNCaNAaMyaNBaHSaGnaGnaGnaGnaGnaGnaGnaLsaGnaByafOaBTaGnaNEaNFaNHaHSaNBaGnaNAaNIaKeaKgaIIaaaaaaaaaaaaaaaaHLaNJaNMaNLaNOaNNaNPaMAaiWaLAaJraNQaIVaLAaJsaIlaJuaJtaJwaLTaHgaNWaJzaJxaKiaJAaKlaKjaKoaJiaFyaFFaFGaEjaFMaLPaOjaKpaLNaLPaLUaMVaMNaMNaMNaMVaMVaMVaMVaMVaMTaOoaMUaMUaOsaMVaSQaMVaMVaRRaMVaPvaRVaKQaKQaKQaKQaKQaRVaTbaTdaTcaXiaTeaOCaGYaMzaOFaGYaOEaOGaOGaOGaOGaOHaOGaOIaGYaGYaGYaGYaGYaGYaGYaGYaMzaRuaPOaMqaRSaRYaOLaOLaOLaRZaMqaJNaJLaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaOPaOQaORaMsaOPaOQaORaNwaKaaHSaOSaHSaHSaHSaHSaHSaGnaOTaOOaOVaOUaOWaGnaLsaGnafOaOXaByaOYaPaaOZaGnaPcaGnaGnaGnaGnaPcaLsaIIaaadmodmodmodmoaHQaNJaPeaPbaPfaPhaPiaPjaMAaLAaLAaLAaLAaLAaJsaIlaIlaIlaIlaIlaIlaKzaKAaIoaIoaIoaIoaIoaIoaIoaPraFFaPwaEjaFMaLPaOnaKpaLNaLPaKuaMNaMWaMWaMXaMNaMVaMVaMYaMVaNaaMZaNdaNdaNeaMVaSQaMVaMVaMVaMVaKCaODaKQaKQaKQaKQaKQaODaPLaPMaKOaGYaVJaMzaMzaMzaHPaHPaGXaGXaGXaMzaMzaMzaGXaPNaPKaGXaMzaMzaGXaMzaMzaGXaGXaRTaMqaTjaQRaTlaTkaTmaQRaTnaMqaKZaKYaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadmoazbdmoaaaaaaaaaaGnaHSaHTaHSaHRaHMaHUaGnaaaaaaaGjaHVaHXaHWaIaaHSaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIbaIcaIcaIeaIeaFXaLAaIhaIhaGqaLAaGsaIlaIiaIiaIlaGtaIlaIoaIoaIoaIoaIoaIoaImaIoaIoaInaIraIpaEjaGuavqaAQaAQaAQavqavqavqaydaGvaGwavqavqaGxaDNaIwaFUaGyaDPaGzaGRaGQaEQaDPcXIcXHaLYaKPcXHbYebZQbWvaabaabaaaaaaaaaaaadmoaBxdmoaaaaabaGTaIBaIAaICaGTaIFaIFaIFaIFaIFaHNaHNaHNaGXaIDaGYaHOaHPaMzaGYaMqaMqaMqaMqaMqaMqaMqaMqaMqaGXaMraMraMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaIIaIGaIIaaaaaaaabaGnaIHaILaHSaHSaIJaHSaGnaIIaIIaGjaGjaIMaIKaIaaHSaGnaGnaIIaIIaIIaGnaGnaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaIbaIPaGAaGCaGBaGDaLAaGFaGEaGGaLAaGHaIlaIWaIZaGJaGIaHgaJaaJdaLZaJfaJeaJhaJgaJjaJiaJkaFFaFGaEjaGKavqavqavqavqavqavqavqavqavqavqavqavqaGLaGOaGMaHhaGPaDPaHiaHjaJyaJBaDPcWGbYeaMbaMaaODaODaODaODaODaODaODaaaaaaaaaaHNaJCaHNaaaaIFaGTaGTaJDaJHaGTaJIaGYaGYaGYaMzaJJaGYaJMaGXaGYaGYaGYaJKaMzaGYaMqaCLaCUaNmaMqaNpaNoaNqaMqaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJPaJSaJQaaaaJRaJVaJTaabaabaIIaHSaIIaaaaaaaabaGnaJXaJYaJZaJWaJUaKaaGnaKbaHSaKdaKcaKfaKeaKeaKeaKeaKeaKeaKeaKeaKgaGnaaaaKhaaaaaaaaaaaaaaaaaaaaaaaaaIbaKkaHkaKmaKnaHlaLAaHmaKraHoaLAaGHaIlaKtaHYaKvaGIaHgaKqaKsaKsaKsaKsaKsaJgaKwaJiaFyaFFaFGaEjaFMaLPaLPaLPaLPaLPaHpaKOaKOaKOaKOaKOaKOaKOaDNaDNaLVaDNaDPaDPaHsaDPaDPaDPaMhaMeaMjcYKaODaKQaKQaKQaKQaKQaODaaaaaaaaaaHNaKJaKMaaaaIFaKRaKTaKSaKWaGYaGYaGYaMzaGYaMzaKXaGYaGYaGXaGYaKVaKUaKXaIEaGYaMqaDZaOLaEYaMqaGVaHLaNkaMqaMraMraMraMraabaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLaaLbaLaaLdaLeaLfaLeaLdaabaIIaLgaLhaaaaaaaGnaGnaGnaGnaGnaLkaLiaLlaLjaLnaLmaLmaLoaLraLraLqaLpaGnaHSaGnaGnaGnaLsaGnaaaaabaaaaaaaaaaaaaaaaaaaabaabaIbaLuaLtaLwaLvaLxaLAaKraLyaHtaLAaGHaIlaLCaLEaHwaHuaHzaHyaHAaLHaKsaLIaLIaJgaKsaJiaFyaFFaLJaEjaHBaLPaHFaHDaLNaLPaMwaAGaMIaMHaMLaMJaIdaHZaIkaIgaIyaIvaIUaITaNcaNbaIXaKObWrbWraNUaKOaODaKQaKQaKQaKQaKQaODaabaabaKOaHNaMfaMgaHNaIFaMiaGYaMkaGYaHbaGYaGXaGXaMmaGXaGXaMnaMzaMzaKXaMoaMlaGYaGXaGYaPOaMqaNnaPTaPSaOJaDZaOKaMqaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaLaaMpaLaaMsaLeaMtaLeaMsaGnaIIaMuaEAaIIaIIaGnaHSaHSaHSaHSaHSaHSaHSaLkaLsaGnaGnaGnaGnaGnaMxaGnaGnaHSaMyaGnaMvaLsaGnaGnaGnaaaaaaaaaaaaaaaaMAaMAaMAaMAaMAaMAaMAaMAaMAaLAaItaMCaIuaLAaGHaIlaIxaJbaINaJvaHgaMMaIQaIOaMPaMOaMRaMQaMSaJiaFyaFFaFGaEjaFMaLPaISaIRaLNaLPaKuaMVaMVaMVaMVaMVaMVaMVaLQaKxaLRaOiaOiaOiaLSaOiaPAaOuaOAaOzaOBaJqaODaKQaKQaKQaKQaKQaODaKOaKOaKOaGYaNfaNgaJIaMzaMoaKXaMkaGYaNhaAYaNlaIEaGYaGYaGYaGYaNiaGYaGYaMoaNjaGYaMnaPRaPQaQSaQQaQUaQTaOMaQYaQWaMqaMraMraMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaONaNtaPPaMsaPUaNyaPWaNwaNxaHSaNzaNCaNAaMyaNBaHSaGnaGnaGnaGnaGnaGnaGnaLsaGnaByafOaBTaGnaNEaNFaNHaHSaNBaGnaNAaNIaKeaKgaIIaaaaaaaaaaaaaaaaQVaNJaNMaNLaNOaNNaNPaMAaiWaLAaJraNQaIVaLAaJsaIlaJuaJtaJwaLTaHgaNWaJzaJxaKiaJAaKlaKjaKoaJiaFyaFFaFGaEjaFMaLPaOjaKpaLNaLPaLUaMVaMNaMNaMNaMVaMVaMVaMVaMVaMTaOoaMUaMUaOsaMVaSQaMVaMVaRRaMVaPvaRVaKQaKQaKQaKQaKQaRVaTbaTdaTcaXiaTeaOCaGYaMzaOFaGYaOEaOGaOGaOGaOGaOHaOGaOIaGYaGYaGYaGYaGYaGYaGYaGYaMzaHQaPOaMqaRSaRuaOLaOLaEYaRZaMqaJNaJLaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaOPaOQaORaMsaOPaOQaORaNwaKaaHSaOSaHSaHSaHSaHSaHSaGnaOTaOOaOVaOUaOWaGnaLsaGnafOaOXaByaOYaPaaOZaGnaPcaGnaGnaGnaGnaPcaLsaIIaaadmodmodmodmoaRYaNJaPeaPbaPfaPhaPiaPjaMAaLAaLAaLAaLAaLAaJsaIlaIlaIlaIlaIlaIlaKzaKAaIoaIoaIoaIoaIoaIoaIoaPraFFaPwaEjaFMaLPaOnaKpaLNaLPaKuaMNaMWaMWaMXaMNaMVaMVaMYaMVaNaaMZaNdaNdaNeaMVaSQaMVaMVaMVaMVaKCaODaKQaKQaKQaKQaKQaODaPLaPMaKOaGYaVJaMzaMzaMzaHPaHPaGXaGXaGXaMzaMzaMzaGXaPNaPKaGXaMzaMzaGXaMzaMzaGXaGXaRTaMqaTjaQRaTlaTkaTmaQRaTnaMqaKZaKYaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPVaSdaSdaLdaMsaPZaQaaLdaMsaPZaQaaLdaGnaLkaGnaGnaGnaGnaGnaHSaGnaHSaQbaPXaHSaHSaGnaLsaGnaByaabaBZaGnaJYaOZaGnaQeaQcaGnaNAaKaaGnaLsaMAaMAaQgaQgaQgaQgaQgaQgaQgaQgaQgaPiaPiaPjaQhaQiaQjaQkaQlaQdaKEaKDaKFaKFaKFaKFaKFaKGaKIaKHaKFaKFaKFaKKaKKaKLaLzaKNaLBaEjaHBaLPaQzaKpaLNaLPaKuaMNaMWaNRaNSaMNaMVaMVaMVaMVaNTaMZaNdaNdaNeaMVaSQaMVaMVaMVaMVaKCaODaKQaKQaKQaKQaKQaODaQHaPMaKOaGYaVJaGYaQBaMzaQCaHOaQLaQJaHbaGXaOFaHbaGXaQKaGYaGXaQMaGYaGXaQOaQNaQPaOGaRWaMqaUgaQRaUiaUhaUiaQRaUjaMqaMzaMzaGXaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQXaRbaoOaSbaMcaMdaMdaRaaMdaMdaMdaRdaRcaReaReaReaReaRfaGnaHSaGnaRhaRgaRiaHSaRjaPcaLsaGnaGnaGnaGnaGnaGnaPcaGnaHSaRiaLkaHSaHSaHSaRkaRmaRlaRnaRnaRnaRnaRoaRnaRnaRpaRqaRlaRsaRraRraRraRraRraRraRraRtaRwaRwaRwaRwaRxaRwaRwaLDaRwaRwaRxaRwaRwaRwaRwaRzaLFaLKaLGaLLaLPaRDaLMaLWaLOaNVaMNaNYaNXaOeaMNaMVaMVaMVaMVaMTaRMaOpaOpaRGaMVaVLaVKaMVaMVaMVaPvaRVaKQaKQaKQaKQaKQaRVaVMaYwaVObfQaZzbafbafbafbafbbYaOGaOGaOGaOGaOGaOGaOGaKSaGYaGYaGYaGYaMnaGYaGYaMkaGYaRXaUYaUYaMqaMqaMqaMqaMqaMqaUfaQIaOFaJMaGXaabafOaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZPaSdaSdaMBaSfaMDaMEaSiaSjaQZaSaaSjaSeaScaSjaSjaSnaGnaHSaGnaSoaHSaHSaSpaSqaGnaNIaKgaHSaHSaHSaHSaHSaHSaPcaSsaHSaGnaNxaNxaGnaSraMAaSuaSwaSvaSvaSvaSxaSvaSvaSvaSyaSuaSzaSAaSAaSAaSAaSAaSAaSAaPiaRwaSBaSCaSEaSgaSkaShaSmaSlaSJaSDaSLaSCaSMaRwaSNaFFaSOaEjaMFaLPaSRaMGaSTaSSaOqaWHaOyaOraOraPkaPBbhiaPCbgsbhhbhibhibhibhibhibhjaMVaMVaMVaMVaThaODaKQaKQaKQaKQaKQaKOaKOaKOaKOaHbaMzaMzaIEaGXaGXbBOaMzaGXaTgaMzaGXaIEaGXaMkaQIaMzaGXaIEaGXaKXaUUaMkaGYaTiaGXaHOaHbaGYaGYaVTaVhaVUaVUaWZaGYaGYaGXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaMsaSdaRUaSdaToaSfaSfaTpaSdaRUaSdaTqaTsaTraTtaGnaHSaPcaPcaGnaGnaGnaTuaTuaTuaIfaTuaTuaTuaTuaTuaHSaGnaGnaGnaGnaGnaGnaGnaSraKbaStaaaaabaaaaabaaaaabaaaaabaaaaSuaSzaSAaTwaTvaTyaTxaTAaSAaPiaRwaTzaTzaTCaTBaTEaTDaTFaTDaMKaTGaTIaTzaTzaRwatcaFFaTJaEjaMFaLPaOnaKpaLNaLPaPDbhkbhtbhpaPFaPEaQAbhzbitbisbiTbiubjkbjcbjXaYvbkKbkIaQEaOvaOwaKOaODaKQaKQaKQaKQaKQaKOaTXaUaaMzaGXaMzaLcaGYaGXaLcbBOaGXaTZaGYaGXaUbaGYaMzaUdaUcaGXaUeaGYaMzaIEaIEaMkaGYaXbaXaaXaaXaaXaaXaaXdaGYaGYaGYaXeaGYaGYaIFaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaLdaLdaSdaOQaSdaUlaUkaUnaUmaSdaOQaSdaSdaLdaUoaUpaGnaHSaHSaHSaHSaHSaHSaTuaUuaUvaUqaUxaUsaUzaUuaTuaUwaUAaUyaUyaUyaUyaUyaUyaUBaNxaStaabaUEaUEaUEaUEaUEaUEaUEaabaSuaSzaSAaUFaUCaUHaUDaUFaSAaPiaRwaUJaUJaUJaUGaULaSCaUIaSCaULaUKaUJaUJaUJaRwaSNaFFaUMaEjaMFaLPaOjaKpaLNaLPaQFbuMaUQaUQaUQaUQaUQaUQaUQaNZaUQaUSaUSaUSaUSaUSaOaaGXaPGaPIaPIbJUaODaKQaKQaKQaKQaKQaKOaURaUaaMzaUTaGXaGYaGYaGXbJVbLCaMzaGYaGYaGXaGYaGYaMzaMkaGVaGXaGYaGYaMzaUWaGYaMkaGYaXgaQLbazbazbazbazbazaYPaYPaYPaQDaYPaYPaYPaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdaRUaSdaSdaSdaSdaSdaSdaRUaSdaUZaLdaUVaUXaVcaVcaVcaVcaVcaVcaVaaTuaUuaVeaUqaVfaVeaVeaUuaTuaVgaVbaViaViaViaViaViaViaViaViaVjaaaaUEaVkaVdaVmaVlaZqaVnaaaaSuaSzaSAaVpaVoaVraVqaUFaSAaPiaRwaVsaVsaTCaVtaVuaTDaTFaTDaVuaVvaVwaTzaTzaRwaSNaFFaSOaEjaObaLPaOdaOcaLNaLPaQGbuMaUQaVzaVAaVCaVCaUQaVBaOfaVDaUSbxyaVFaVHaUSaOgaGXaPGaPIaPHaPJaKOaKOaKOaKOaKOaKOaKOaVNbLGaMzaMzaGXaGXaMzaMzbLHaVPaMzaGXaHPaGXaGXaMzaMzaVRaVQaGXaGXaGXaQLaUWaGYaMkaGYaRXaGYbazaXjaXoaXkaYxaYPaYAaYzaYCaYBaYGaYFaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaLdaLdaSdaOQaSdaUlaUkaUnaUmaSdaOQaSdaSdaLdaUoaUpaGnaHSaHSaHSaHSaHSaHSaTuaUuaUvaUqaUxaUsaUzaUuaTuaUwaUAaUyaUyaUyaUyaUyaUyaUBaNxaStaabaUEaUEaUEaUEaUEaUEaUEaabaSuaSzaSAaUFaUCaUHaUDaUFaSAaPiaRwaUJaUJaUJaUGaULaSCaUIaSCaULaUKaUJaUJaUJaRwaSNaFFaUMaEjaMFaLPaOjaKpaLNaLPaQFbuMaUQaUQaUQaUQaUQaUQaUQaNZaUQaUSaUSaUSaUSaUSaOaaGXaPGaPIaPIbJUaODaKQaKQaKQaKQaKQaKOaURaUaaMzaUTaGXaGYaGYaGXbJVbLCaMzaGYaGYaGXaGYaGYaMzaMkaAYaGXaGYaGYaMzaUWaGYaMkaGYaXgaQLbazbazbazbazbazaYPaYPaYPaQDaYPaYPaYPaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdaRUaSdaSdaSdaSdaSdaSdaRUaSdaUZaLdaUVaUXaVcaVcaVcaVcaVcaVcaVaaTuaUuaVeaUqaVfaVeaVeaUuaTuaVgaVbaViaViaViaViaViaViaViaViaVjaaaaUEaVkaVdaVmaVlaVnaUEaaaaSuaSzaSAaVpaVoaVraVqaUFaSAaPiaRwaVsaVsaTCaVtaVuaTDaTFaTDaVuaVvaVwaTzaTzaRwaSNaFFaSOaEjaObaLPaOdaOcaLNaLPaQGbuMaUQaVzaVAaVCaVCaUQaVBaOfaVDaUSbxyaVFaVHaUSaOgaGXaPGaPIaPHaPJaKOaKOaKOaKOaKOaKOaKOaVNbLGaMzaMzaGXaGXaMzaMzbLHaVPaMzaGXaHPaGXaGXaMzaMzaVRaVQaGXaGXaGXaQLaUWaGYaMkaGYaRXaGYbazaXjaXoaXkaYxaYPaYAaYzaYCaYBaYGaYFaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVVaVSaVXaVSaVSaVYaVZaVSaVSaVXaWaaVWaLdaToaWbaVcaWdaWcaWfaWeaWhaWgaTuaUuaVeaUqaWjaVeaVeaUuaTuaWkaWlaWiaWnaWmaWoaWqaWraWpaWtaVjaabaUEaWuaWsaWwaWvaWxaUEaabaSuaSzaSAaWzaWAaWyaWCaWBaSAaPiaRwaSBaSCaWEaWDaULaSCaWFaSCaULaWGaSLaSCaSMaRwaSNaFFaWJaEjaMFaLPaISaOhaLNaLPaRvbuUaUQaWKaVEaVEaVEaWLaOlaOkaOmaUSaWQaWPaOxaOtaPgaGXaRPaRQaRQaRIaGXaJMaGXaGYaQIaHPaLcaWUaWXaWWaWYaGXaNhaGYaQIbBOaGYaGXaaaaGXaGYaGYaYEbbIaYIbbIaYKaYJaYJaYJaYJaYJbamaYObapbanbarbaqbatbasbawaYPbaAbayaYCbaBbaCbaCaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVVaWaaVSaXmaXraXsaXtaXuaXvaXwaXxaXyaXzaXpaXnaSdaToaXqaVcaXBaXAaXFaXGaXFaXCaTuaXIaVeaXDaXHaXEaXHaXJaXLaXKaXMaXQaXQaXQaXQaXQaXQaXNaXSaVjaaaaUEaXOaWsaXPaWvaXRaUEaaaaSuaSzaSAaXTaXXaXVaXUaYaaSAaPiaRwaXWaXWaTCaXYaVuaTDaXZaTDaVuaYbaTIaTzaTzaRwaYcaIraYhaEjaMFaLPaLPaLPaLPaLPaPlaRJaPnaPmaPoaUQaUQaUQaUQaUQaUQaUSaPpaZVaPqaUSaOgaGXaGXaGXaGXaGXaGXaGYaGXaGYaHPaHPaGXaGXaGXaYnaGXaGXaGXaGXaGYbBOaWVaHNaabaHNaGYaYsbdHaYuaYybaDbaEbaubaubaubauaGXbaFaGXbazbazbazbazbazbaIbazbazbazbaybcgaXcbaMaXhaYRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXpaYMaYLaYNaXzaYZaXsaYZaXsaYZaXsaYZaXzaYVaYTaSdaToaYWaVcaYYaYXaZfaZaaZhaZbaTuaZjaUraZcaZlaZmaZnaZdaTuaZeaZgaXQaXQaXQaXQaXQaXQaXNaZraVjaabaUEaZkaZiaZpaZobEhaUEaabaSuaSzaSAaZsaZyaZtaZAaZuaSAaPiaRwaUJaUJaUJaYpaULaSCaUIaSCaULaZvaUJaUJaUJaRwaZxaZFaZGaEjaPtaPsaPsaPsaPsaPuaPxaPvaUQaPyaPzaUQaQmaQfaQnaUQaQoaUSaZDaZVaZEaUSaQpaZKaQqaZNaZNaZKaZXaZWaZWaZWaZWaZWaQxaZYaZWbaabacbabbaebadbagbMgbaibahbajbahbalbakaVJaGXbaubaubcmbaubavbaobaxaGXbcnaHObazbcqbcwbcubcAbcxbcCbcBbazbcFbdZbdYbegbedaXlaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXpaYMaYLaYNaXzaYZaXsaYZaXsaYZaXsaYZaXzaYVaYTaSdaToaYWaVcaYYaYXaZfaZaaZhaZbaTuaZjaUraZcaZlaZmaZnaZdaTuaZeaZgaXQaXQaXQaXQaXQaXQaXNaZraVjaabaUEaZkaZiaZpaZoaZqaUEaabaSuaSzaSAaZsaZyaZtaZAaZuaSAaPiaRwaUJaUJaUJaYpaULaSCaUIaSCaULaZvaUJaUJaUJaRwaZxaZFaZGaEjaPtaPsaPsaPsaPsaPuaPxaPvaUQaPyaPzaUQaQmaQfaQnaUQaQoaUSaZDaZVaZEaUSaQpaZKaQqaZNaZNaZKaZXaZWaZWaZWaZWaZWaQxaZYaZWbaabacbabbaebadbagbMgbaibahbajbahbalbakaVJaGXbaubaubcmbaubavbaobaxaGXbcnaHObazbcqbcwbcubcAbcxbcCbcBbazbcFbdZbdYbegbedaXlaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaZaXsaXsaVXaXzaYZaXsaYZbbaaYZaXsaYZaXzaYVaYTaSdaTobaJaVcaVcbaKaUtaIzaUtaVcaTuaTuaTuaTubaSbaPbbhbbbaTubbjbbcbblaXQaXQbbmaXQbbebbdbbpaVjaaaaUEaUEbbqbbfbbqaUEaUEaaaaSuaSzaSAbbibbgbbkaZAbbnaSAaPiaRwaSBaSCbboaWDaULaSCaUIaSCaULaWGbbxaRwaRwaRwbbrbbzbbtbbsbbCatGatGatGbbEbbFbbvbbuaUQbbwaVEaUQbbJaUQbbKaUQbbLaQrbbBbbAbbHbbGbbUbbIaQtbbNbbQbbPbbRbbQbbQaLXbbQbbIbbTbbIaXfbbUbbIbbVbbXaSGbbZaZZbcbbcabcdbccbcfbcebfnbaubaubcobekbchbcibcsbcjaGXbaFbelbazbeqbetberbevbeubczbczbewbcDbfUbfSbfSbfSaYRaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXpbcrbcNaYNaXzaYZaXsaYZaXsaYZaXsaYZaXzaYVaYTaSdaTobcvbctaNraNsaNuaNuaSfbcGbcMbcVbcWbcXbcPbcOaVebcQaTubdbbcRbddbdebcTbdgbdhaNvaNDbdkaVjaaaaabaaabcYbcZbcYaaaaabaaaaSuaSzaSAbdcbdabdjbdfbdraSAaPiaRwbdmbdlaTCaZwbdoaTDbdpaTDbdsaZQbdzaRwbdubdtbdvbdDbdxbdwbbDbjMaaaaaabbEbdIbdBbdAaUQbdCbdEaVEaVEbdNaVEaVEaVEbdOaUSbdFaUSbdQaUSaUSaQuaUSbdTbdUbdKbdJbdMbdLbdTaNGbeabebbecbebbebbebbebbdSbeebebbefbdVbdWbeibebbdXaGYbaubtlbcpbfVbembenbeobepaGXbaFbfWbazbfXbcxbgabcxbckbczbczbggbcDbybbgibgibgRaYQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehbejaVSaXmaXzaXsbeGbesaXsaXsbexbeGaXzaXpbeyaSdaTobeEbezbeMaRKbeMbeMbeMbeMbeMbeHaSfaTubePbeQbePaTuaTubeRbeIbeRaViaViaViaVibeRbeJbeUaVjbeLbeKbeKbeNbeObeNbeKbeKbeSaSubfaaSAbeTaSAbeWbeVbfeaSAbffaRwaRwaRwaRwbfgbfhbeXbeYbeXbfhbfgaRwaRwbeZbdDbdDbdDbdDbfbbdydcobfobfpbbEbfqbdBbfiaUQaUQaUQaUQaUQaUQaUQaUSaUSbdObfsbftbfkbfjaQvaRLaSUaRNbdTbfAbfvbfCbfwbfEbdTbfxbfybfHbfzbfHbfJbfKbfMbfBbfFbfDbfIbfGbfNbfLbebbfObfQbfPbhKbfRbfVbfYbfZbeobfTaGXbhObhNbhUbhSbhXbhWbhWbhYbczbczbggbcDbcDbgibhZbgiaYQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYDaYUaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -9014,37 +9015,37 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdblBaSfblEbmSbnabnibmVbndbnibnfbnebnibnibnkbnjboNboMbnnbnnbnnbnobnnbnpbnuaMsbnvbnwbnqblMbnybnrbnAbnBbnCbnDbnsbnFbnGbnHbnIbnJblMbnKbnLblRbnxbntbnzblTbnEbnQbnMblTbnSbnTbnNbnSbnSbnSbnObgSbnPbmbaaaaaaaaaaaaaaaaaaaaabmcbnUbnRbnWbnVbnYbnXboaaYfbocaCubohbmcaaaaaaaaaaaaaaaaaaaaabmibodbhqboeaUSbokbmlbmqbmqbmqbmqbmqboSboUbmqbmqbmqbogbofbofboibonbojbopbooborboqbosbebboubotboBboAboAboBbowbovbebbdXaGYbauboFboFbcpbjNblkbcpboGboGbaubauboybauaYPbmIblnbloboJboJboJblnblobmKaYPaYRaYRaaaaabaabaabaabaabbEGbEGbEGbmPbmLbmRbEGbEGaaaaaaaaabicbikbilbeCbeCbimbinbeCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdboLboPboLboLboLboLboLboLboPboLboLboQaSfboRbgGbwxaSfbpFaSfboTboXboYboVboWaMsbnwbnwboZblMbpabnDbnDbnDbnDbnDbnsbpdbnDbnDbnDbpeblMbnKbpfblRbpbbphbpiblTbpjbpcbpgblTbplbpkbpmbppbpnbnTbnObgSbnPbmbaaaaaaaaaaaabmcbmcbmcbmcbprbpobptbpqbpubpsbpwaYgbpzbpxbpBbmcbmcbmcbmcaaaaaaaaaaaabmibodbhqbpAbpybpHbpGbpJbpIbpHbpKbqhbpMbqjbqibqkbmqbpNbpLbofbpObpPbofbpRbpQbpTbpSbofbpWbpVbpUboBboAboAboBbpXbqabebbdXaTgbaublpbcpbljbjNblkbljbcpbcpbpYbqcbcpbqdaYPbmTbmpbqgboJboJboJbmpbqgbcDbmUaYQaabaabaabaaaaaaaaaaabbEGbnZbmZbozbolboEboCbEGaaaaYDbjCbjGbjCbjCbjCbjHbjCbjJbjCbjGbjCaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLdaSdaSdaSdaSdaSdaSdaSdaSdaSdaLdaMsbgGbqqbqrbqrbqrbqrbqrbqrbqsbqrbqrbqraMsbnwbnKbqtblMbqubnDbnDbqvbqwbqxbqybqvbnDbnDbnDbqzblMbnKbnLblRbqAbqBbqCblTbqDbqEbqFblTbqGbqHbqIbqJbqKbnTbqLbqMbnPbmbbmbbqNbmcbmcbmcbqObqQbqPbqRbqSbqSbqTbqUbqSbqVaYibqWbqXbqYbqZbrbbrabmcbmcbmcbqNbmibmibodbhqbhqaUSbrfbrebqibrgbmqbrhbribmqbshbrHbqkbmqbogbofbofbrjbrlbrkbrnbrmbrpbrobofbcSbpVbrrboBboAboAbrsbrubrtbebbdXaGYbaubrwbrwbrxbjNblkbrybcpbcpbrzbcpbrAbrBaYPboHbpCboObpEboJbqebpZbqlbqfbgfaYRbEGbEGbEGbjRbjRbjRbEGbEGbrdbrcbrCbrvbrEbrDbEGaaabicbmXblubmYbmYblDbeCblCblDblAblvblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMwbrObrObrQbrObrObrObrRbrObrObrPaabaSdaUlaMEbrSbqrbrUbrVbrWbrXbrYbrTbsabrZbqrbscbsdbsbbseblMbsfbnDbnDbqvbqxbsgbsQbqvbnDbnDbsjbskblMbnKbnLblRblRbslblRblTbsibsnbsoblTbsmbqJbsqbqJbsrbnTbnObssbnPbgPbgPbspbsubdibmcbsvbptbswbqSbqSbsybsxbsAbszbsAaYjbsDbsCbsFbsEbsHbsGbmcbdPbsubsJbsLbsKbodbhqbhqbsNbmqbsZbmqbmqbmqbtnbtobmqbshbtrbqkbmqbpNbofbofbsRbsTbsSbsVbsUbsWbrobsXbebbqabrrboBboAboAboBbrubsYbebbtwbtebaubaubaubaubrFblkbthbtibcpbtjbtbbtlbrGaYPbrIbmpbqgbrJbxBbsMbmpbqgbcDaYPbEFbsPbsObtabzObtcbzObtdbEGbEGbtgbtmbtkbtpbtpbEGbEGbicbBTbDzbDzbDzbmQbeCblCbnbblAbeCbncbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMwbtvbtybtCbtDbtDbtzbtDbtDbtDbtzbrQaSdaSdaSdaToboRbqrbrUbtFbtGbrUbtBbtAbtHbtEbqrbtLbtMbtIblQblMbtObtPbtKbtJbtQbtNbtSbtRbtRbtRbtUbtTblMbnKbsdbtYbtZbtVbubblTblTblTblTblTbucbudbtWbufbugbnTbnObssbgSbgSbgSbtXbuebhBbuibuhbujbqSbunbukbumbulbupbuoburbuqbutbusbuubuhbuwbuvbuybhDbuAbuzbuEbuEbuBbhqbuCaUSbmqbuIbuNbqkbmqbuQbuRbmqbvbbuSbqkbmqbogbofbofbofboibofbuJbofbsWbrobuKbebbuPbrrboBboAboAboBbrubuLbebbvcbvgbvebtxbtqbuFbuDbuWbuVbuVbuVbuVbuVbuVbuVbuZbuYboJboJbrJboJbsMboJboJboJbuGbmmbuHbmmbmmbmmbmmbmmbmmbuTbEGbuXbvdbEGbwmbwkbwkboIboKbDzbDzbGJbGJbnbbeCblCbnbblAbeCblCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwXbrObrObrQbrObrObrObrRbrObrObrPaabaSdaUlaMEbrSbqrbrUbrVbrWbrXbrYbrTbsabrZbqrbscbsdbsbbseblMbsfbnDbnDbqvbqxbsgbsQbqvbnDbnDbsjbskblMbnKbnLblRblRbslblRblTbsibsnbsoblTbsmbqJbsqbqJbsrbnTbnObssbnPbgPbgPbspbsubdibmcbsvbptbswbqSbqSbsybsxbsAbszbsAaYjbsDbsCbsFbsEbsHbsGbmcbdPbsubsJbsLbsKbodbhqbhqbsNbmqbsZbmqbmqbmqbtnbtobmqbshbtrbqkbmqbpNbofbofbsRbsTbsSbsVbsUbsWbrobsXbebbqabrrboBboAboAboBbrubsYbebbtwbtebaubaubaubaubrFblkbthbtibcpbtjbtbbtlbrGaYPbrIbmpbqgbrJbxBbsMbmpbqgbcDaYPbEFbsPbsObtabzObtcbzObtdbEGbEGbtgbtmbtkbtpbtpbEGbEGbicbBTbDzbDzbDzbmQbeCblCbnbblAbeCbncbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwXbtvbtybtCbtDbtDbtzbtDbtDbtDbtzbrQaSdaSdaSdaToboRbqrbrUbtFbtGbrUbtBbtAbtHbtEbqrbtLbtMbtIblQblMbtObtPbtKbtJbtQbtNbtSbtRbtRbtRbtUbtTblMbnKbsdbtYbtZbtVbubblTblTblTblTblTbucbudbtWbufbugbnTbnObssbgSbgSbgSbtXbuebhBbuibuhbujbqSbunbukbumbulbupbuoburbuqbutbusbuubuhbuwbuvbuybhDbuAbuzbuEbuEbuBbhqbuCaUSbmqbuIbuNbqkbmqbuQbuRbmqbvbbuSbqkbmqbogbofbofbofboibofbuJbofbsWbrobuKbebbuPbrrboBboAboAboBbrubuLbebbvcbvgbvebtxbtqbuFbuDbuWbuVbuVbuVbuVbuVbuVbuVbuZbuYboJboJbrJboJbsMboJboJboJbuGbmmbuHbmmbmmbmmbmmbmmbmmbuTbEGbuXbvdbEGbwmbwkbwkboIboKbDzbDzbGJbGJbnbbeCblCbnbblAbeCblCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvibvjbvjbvjbvjbvjbvjbvjbvjbvjbvjbvfbvlaOQbvlaSfboRbqrbvmbrUbvnbvnbvnbvkbrUbvobqrbvqbvrbtIbvsbvsbvsbvsbvpbvsbvtbnDbvvbngbnhbnhbvubvxblMbvzbvBbvAbvDbvCbvFbvGbvHbvIbvHbvJbvJbvJbvJbvJbvKbvEbnObvLbvNbvMbvPbvObvRbhEbvTbvSbuobvUbvVbvXbvXbvXbvXbvWbvXbvZbwabwbbvYbvUbwdbwcbmcbkRbwgbwfbwibwhbwjbhqbhqbsNbmqbEabmqbmqbmqaZVbmqbmqbxAbxAbmqbmqbwlbofbofbwnbwobofbofbofbwqbwpbwrbebbqabrrboBboBboBboBbrubwsbebbAubwtbwtbwubwtbwzbwybwybwybwybwAbwybwybwBbljbvaboJboJboJbrJboJbsMboJboJboJbuGbmmbuHbmmbmmbxKbmmbxObmmbmmbmmbxXbxYbqnbjRbjRbjRbjRbqpbjCbjCbjCbjCbqobeCblCbqoblAbeCblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNwbwEbwGbwHbwIbwIbwJbwIbwIbwIbwJbrQaSdaSdaSdbvwblFaPYbrUbwMbvnbvnbvnbvkbwMbrUbqrbvybwKbtIbvsbwPbwQbwRbwSbvsbwUbwTbwVblMbrNbstbwNbwYblMbnKbxabxbbxbbxcbxbbxbbxbbxbbxebxdbxdbxdbxfbxdbxgbxhbxibxjbxkbxlbxlbxlbxlbxlbxmbxmbxnbxmbvXbvXbxobxpbxqbxrbxtbxsbxobxubvXbxvbxwbxvbxvbxvbxvbxvbxvbxvbwjbhqbhqaUSbxxbmqaVGbJQbmqbznbmqbzobxDbxCbmqbxEbdTbxFbxGbdTbdTbxHbxJbxIbxJbdTbdTbebblbbxLbxMbxMbxMbxMbxLbxNbebbKVbwvbwvbwwbxPbaubxQbxRbxSbxTbxUbxVbxWbycbxZaYPbjDbyZbyabrJboJbsMbyabzlbjDbEFbzpbAwbAjbAzbAybABbAAbACbAjbAjbADbsIbAEboIbrLbrMboIbrKbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNwbrObrObrQbrObrObrObrRbrObrObydaabaSdbwObmSbyfbqrbtFbtFbtFbrUbyhbygbyjbyibqrbwZbyebtIbvsbymbvsbynbyobvsbyqbypbyrblMbrNbstbwNbskblMbnKbxabxbbytbysbyubyvbywbxbbyybykbyxbylbyBbyBbyBbyCbyEbyDbyFbxlbyGbyHbyIbyJbyLbyKbyMbyNbvXbyObxqbxqbyPbyQbyPbxqbxqbyRbvXbySbyUbyTbyWbyVbyYbyXaZObxvbzabzbbzbbzcaUSaUSaUSaUSbAvbsNbAvbzeaUSbdRaUSaUSbdTbdTbdTbdTbzgbzfbzfbzfbzfbzhaQsbebbjBbzjbjBbzkbzkbjBbzjbjBbebbKVbwvbwvbAxbxPbaubaubaubaubaubtfbaubaubaubauaYPaYPaYPaYQbAGaYQbAHaYQaYPaYPbEFbAIbuHbAJbAKbjRbjRbjRbEFbALbmmbmmbAMbjRbjRbjRbqnbjRbicbttbeCblCblDblAbeCblCblDblAbeCbtubicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjQaLdaSdaSdaSdaMsaMsaMsaMsaMsaMsbzrbzsbqrbqrbqrbqrbqrbqrbztbqrbqrbqrbnKbnKbzwbvsbzubzvbynbzxbvsbzzbzybzAblMbrNbstbwNbnDblMbnKbxabxbbzDbzBbzCbyvbzCbxbbyybyzbzEbzFbzIbzHbzKbzJbzMbzLbyFbzRbzNbBsbzPbzQbzQbzPbzUbzSbvXbzTbxqbxqbyPbzWbyPbxqbxqbzVbwbbzXbAbbzYbzZbAabAdbzYbAcbxvbAlbAebAfbAgbAhbAicMKbAkbAkbAkbAkbAkbAkbAmbAobAnbAkbAkbAqbAkbAkbAkbAkbAkbAkbAkbAkbApbAsbArbArbArbArbArbArbAtbAicVsbvhbvhbBtbBrbBNbBrbBPbBrbBUbBQbDkbBrbDubDtbElbDxcVUcVUbEmcVUbEBcVUbENbEHbFzbFwbGjbGhbjRbwDbwCbxzbjRbGobmmbmmbGIbGsbjRbGMbGNbjRblDblAbeCblCbnbblAbeCblCbnbblAbeCblCblDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAQbARbARbARbARbASbASbARbARbATaaaaabaSdaUlaMEbAVbAUbAXbAWbAWbAWbAWbAYbAZbBablQbnwbBcbBbbvsbvsbvsbBdbyobvsblMblMblMblMbrNbuabyAbBfblMbBhbBibxbbBjbBkbyvbzCbBlbxbbyybzGbzEbzFbBnbBobBpbzJbBqbzLbyFbzRbDobCAbDsbBubBvbBwbzUbBxbvXbBybyPbxqbBAbBzbBAbxqbyPbBBbxubBCbzYbzYbzZbBDbAdbzYbBEbxvbBFbAfbAfbAgbAhbAibAkbAkbAkbAkbAkbAkbAkbBGbAkbAkbAkbAkbAkbAkbBHbBIbBIbBIbBIaQwbBIbBIbBIbBIbBIbBIaQwbBIbBIbBIaQybDVdcebIsbIzbwtbwtbwtbwtbwtbwubwtbwtbwtbwtbwtbwtbwtbwtbwtbwtbwtbMhbKubRFbNWbomcbudckcVtbjRcVVbzdbzmbjRcWhbmmbmmcWAcWvbjRcWEcWQbjRbnbblAbeCblCbnbblAbeCblCbnbblAbeCblCbnbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbCcbBZbCebCbbCbbClbCibARbATaSdaSdaSdaTobCnbCfbCgbCfbCfbCfbCfbChbCtbCjblQblQbCkbCwbvsbwPbCmbCxbzxbvsbCobCpbCoblMblMblMblMbCqblMbCrbCsbxbbCybCubzCbCvbCzbxbbyybzJbCBbzFbBnbBnbCEbzJbCFbzLbyFbzRbDybCAbDsbCGbCCbBwbzUbCDbvXbCHbCIbxqbCKbCJbCLbxqbCRbCNbCSbCMbCTbCObCPbCQbCUbzYbCVbxvbCYbCXbAfbAgbAhbAibAkbCZbAkbDAbDbbDbbDbbDbbDbbDbbDbaRybAkbAkbAkbAkbAkbDabAkaRAaRCaRBaRCaRCaRCaREaRHaRFaSFaROaSHbFsaSKaSIaTHaSVbwvbwvbwvcXfbDpbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbDrbDqcXhcXgcXjcXibmmbGhbjRbwDbwCbxzbjRbGobmmbmmcXlcXkbjRbGNbGMbjRbqoblAbeCblCbqoblAbeCblCbqoblAbeCblCbqoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbDGbCbbCbbCbbCbbCbbCbbCbbDHbDCaOQbDCaSfbDIbCfbDEbDJbDLbDKbDMbChbDObDNbDQbDQbDWbKHbvsbvsbvsbynbDYbymblQblQblQblQbDPbnKbnKbCsbnKbCrbCsbxbbDZbDRbDSbDTbyvbxbbDUbzJbEbbzFbBnbBnbEfbDXbEjbzLcXqbxlbHpbHobzPbzPbzPbzPbzUbEcbvXbEdbEebvXbvXbvXbvXbvXbvXbvXbxubxvbErbEgbEvbEibEsbEkbHvbxvbEwbEnbEnbEpbEpbEpbEpbEpbEpbEqbEybEpaTLaTKaTMbEpbNebEobEobEobEobEobEubEubEuaTNbEubEubEubEubEubEuaTObEubEubEubteaTPaTQbwvbuxbuxbEAbEAbEAbEAbEAbEJbDqbDqbDrbDqbwvbDqbDqbDqbDqbEMbEDbEDbEDbEDcXncXibmmbAJbEFbjRbjRbjRbAKbALbmmbmmbAMbjRbjRbjRbqnbjRbicbzqbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbEKbELbELbCbbELbELbELbARbERaSdaSdaSdaTobEVbCfbEYbEXbEXbEXbFcbChbnKbFfbESbETbEUbFgbvsbwPbEWbynbFhbymbFibEZbFabFbbFlbFdbFdbFebFdbFnbFobxbbFqbFpbFjbFkbFrbFmbNsbyBbFubFtbBnboxbFybvQbEjbzLcYPbxlbwebFvbJabFFbFIbFGbFMbxmbxmbFBbFCbFDbFEbFNbFEbFPbFCaaabFHbxvbFRbFJbFKbFLbEsbzYbFSbxvbFUbFObFWbEpaTTaTSaTVaTUaTYaTWaUPaUObLzbGabBLaVxaVIaVyaWOaWIaWSaWRbEuaYkaYoaYlaYraYqaZUaZTbobbbybuOaZTaZTbzibGrbGrbBJbGrbwLbwLbEAbGubGAbGwbEAbGBbGEbGBbEAbGFbDqbEMbEDbGKbGLbGKbEDbGCbGDbEDcXocXibmmbmmcXscXpcYdcXpcYebmmbmmbmmbwWbAEboIbANbrMboIbAObeCbeCbeCbeCbAPbeCbAPbeCbeCbeCbeCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGPbARbARbARbARbARbARbARbARbERaaaaaaaSdbBgbmSbHabCfbHdbCfbHebIHbHfbGQbChbHgbGSbGTbGUbFgbvsbvsbvsbvsbvsbvsbGVbGWbGXbGYbGZbxbbxbbxbbxbbxbbxbbxbbwXbxbbxbbxbbHbbxbbHcbAFbHjbBnbBnbBnbHnbDXcZfbzLcZjbxlbBebFvbxlbxlbxlbxmbHrbxmbHkbHlbHmbHubHBbHzbHDbHCbHsbHtbHFbxvbOIbzYbHwbHxbEsbHybzYbxvbHHbHAbHIbEpbCWbBMbDfbDfbDfbDfbDfbDfbDfbDebDhbDgbDjbDibSnbDlbDnbDmbEubEtbEzbExbECaZTbEEaZTbFQbEIbuObFTbFXbFVbGrbIfbFYbIgbFZbBmbIabGcbIdbIdbImbIcbIlbInbEAbIibIrbIkbEDbItbIwbIvbIobIpbIybEDcYhcXibmmbmmbmmbmmcYmcYkcYkcYkcYkcYkcYnbqnbjRbjRbjRbjRbqpbjCbBWbBVbjCbBXaYUbBXaYUbBYbBRbBSbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbwEbwGbwHbwIbwIbwJbwIbwIbwIbwJbrQaSdaSdaSdbvwblFaPYbrUbwMbvnbvnbvnbvkbwMbrUbqrbvybwKbtIbvsbwPbwQbwRbwSbvsbwUbwTbwVblMbrNbstbwNbwYblMbnKbxabxbbxbbxcbxbbxbbxbbxbbxebxdbxdbxdbxfbxdbxgbxhbxibxjbxkbxlbxlbxlbxlbxlbxmbxmbxnbxmbvXbvXbxobxpbxqbxrbxtbxsbxobxubvXbxvbxwbxvbxvbxvbxvbxvbxvbxvbwjbhqbhqaUSbxxbmqaVGbJQbmqbznbmqbzobxDbxCbmqbxEbdTbxFbxGbdTbdTbxHbxJbxIbxJbdTbdTbebblbbxLbxMbxMbxMbxMbxLbxNbebbKVbwvbwvbwwbxPbaubxQbxRbxSbxTbxUbxVbxWbycbxZaYPbjDbyZbyabrJboJbsMbyabzlbjDbEFbzpbAwbAjbAzbAybABbAAbACbAjbAjbADbsIbAEboIbrLbrMboIbrKbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbrObrObrQbrObrObrObrRbrObrObydaabaSdbwObmSbyfbqrbtFbtFbtFbrUbyhbygbyjbyibqrbwZbyebtIbvsbymbvsbynbyobvsbyqbypbyrblMbrNbstbwNbskblMbnKbxabxbbytbyubyvbywbzBbxbbyybykbyxbylbyBbyBbyBbyCbyEbyDbyFbxlbyGbyHbyIbyJbyLbyKbyMbyNbvXbyObxqbxqbyPbyQbyPbxqbxqbyRbvXbySbyUbyTbyWbyVbyYbyXaZObxvbzabzbbzbbzcaUSaUSaUSaUSbAvbsNbAvbzeaUSbdRaUSaUSbdTbdTbdTbdTbzgbzfbzfbzfbzfbzhaQsbebbjBbzjbjBbzkbzkbjBbzjbjBbebbKVbwvbwvbAxbxPbaubaubaubaubaubtfbaubaubaubauaYPaYPaYPaYQbAGaYQbAHaYQaYPaYPbEFbAIbuHbAJbAKbjRbjRbjRbEFbALbmmbmmbAMbjRbjRbjRbqnbjRbicbttbeCblCblDblAbeCblCblDblAbeCbtubicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjQaLdaSdaSdaSdaMsaMsaMsaMsaMsaMsbzrbzsbqrbqrbqrbqrbqrbqrbztbqrbqrbqrbnKbnKbzwbvsbzubzvbynbzxbvsbzzbzybzAblMbrNbstbwNbnDblMbnKbxabxbbzCbzDbBjbywbBjbxbbyybyzbzEbzFbzIbzHbzKbzJbzMbzLbyFbzRbzNbBsbzPbzQbzQbzPbzUbzSbvXbzTbxqbxqbyPbzWbyPbxqbxqbzVbwbbzXbAbbzYbzZbAabAdbzYbAcbxvbAlbAebAfbAgbAhbAicMKbAkbAkbAkbAkbAkbAkbAmbAobAnbAkbAkbAqbAkbAkbAkbAkbAkbAkbAkbAkbApbAsbArbArbArbArbArbArbAtbAicVsbvhbvhbBtbBrbBNbBrbBPbBrbBUbBQbDkbBrbDubDtbElbDxcVUcVUbEmcVUbEBcVUbENbEHbFzbFwbGjbGhbjRbwDbwCbxzbjRbGobmmbmmbGIbGsbjRbGMbGNbjRblDblAbeCblCbnbblAbeCblCbnbblAbeCblCblDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAQbARbARbARbARbASbASbARbARbATaaaaabaSdaUlaMEbAVbAUbAXbAWbAWbAWbAWbAYbAZbBablQbnwbBcbBbbvsbvsbvsbBdbyobvsblMblMblMblMbrNbuabyAbBfblMbBhbBibxbbBkbBlbywbBjbCubxbbyybzGbzEbzFbBnbBobBpbzJbBqbzLbyFbzRbDobCAbDsbBubBvbBwbzUbBxbvXbBybyPbxqbBAbBzbBAbxqbyPbBBbxubBCbzYbzYbzZbBDbAdbzYbBEbxvbBFbAfbAfbAgbAhbAibAkbAkbAkbAkbAkbAkbAkbBGbAkbAkbAkbAkbAkbAkbBHbBIbBIbBIbBIaQwbBIbBIbBIbBIbBIbBIaQwbBIbBIbBIaQybDVdcebIsbIzbwtbwtbwtbwtbwtbwubwtbwtbwtbwtbwtbwtbwtbwtbwtbwtbwtbMhbKubRFbNWbomcbudckcVtbjRcVVbzdbzmbjRcWhbmmbmmcWAcWvbjRcWEcWQbjRbnbblAbeCblCbnbblAbeCblCbnbblAbeCblCbnbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbCcbBZbCebCbbCbbClbCibARbATaSdaSdaSdaTobCnbCfbCgbCfbCfbCfbCfbChbCtbCjblQblQbCkbCwbvsbwPbCmbCxbzxbvsbCobCpbCoblMblMblMblMbCqblMbCrbCsbxbbCvbCybBjbCzbDRbxbbyybzJbCBbzFbBnbBnbCEbzJbCFbzLbyFbzRbDybCAbDsbCGbCCbBwbzUbCDbvXbCHbCIbxqbCKbCJbCLbxqbCRbCNbCSbCMbCTbCObCPbCQbCUbzYbCVbxvbCYbCXbAfbAgbAhbAibAkbCZbAkbDAbDbbDbbDbbDbbDbbDbbDbaRybAkbAkbAkbAkbAkbDabAkaRAaRCaRBaRCaRCaRCaREaRHaRFaSFaROaSHbFsaSKaSIaTHaSVbwvbwvbwvcXfbDpbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbDrbDqcXhcXgcXjcXibmmbGhbjRbwDbwCbxzbjRbGobmmbmmcXlcXkbjRbGNbGMbjRbqoblAbeCblCbqoblAbeCblCbqoblAbeCblCbqoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbDGbCbbCbbCbbCbbCbbCbbCbbDHbDCaOQbDCaSfbDIbCfbDEbDJbDLbDKbDMbChbDObDNbDQbDQbDWbKHbvsbvsbvsbynbDYbymblQblQblQblQbDPbnKbnKbCsbnKbCrbCsbxbbDSbDTbDZbFjbywbxbbDUbzJbEbbzFbBnbBnbEfbDXbEjbzLcXqbxlbHpbHobzPbzPbzPbzPbzUbEcbvXbEdbEebvXbvXbvXbvXbvXbvXbvXbxubxvbErbEgbEhbEibEsbEkbEvbxvbEwbEnbEnbEpbEpbEpbEpbEpbEpbEqbEybEpaTLaTKaTMbEpbNebEobEobEobEobEobEubEubEuaTNbEubEubEubEubEubEuaTObEubEubEubteaTPaTQbwvbuxbuxbEAbEAbEAbEAbEAbEJbDqbDqbDrbDqbwvbDqbDqbDqbDqbEMbEDbEDbEDbEDcXncXibmmbAJbEFbjRbjRbjRbAKbALbmmbmmbAMbjRbjRbjRbqnbjRbicbzqbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbEKbELbELbCbbELbELbELbARbERaSdaSdaSdaTobEVbCfbEYbEXbEXbEXbFcbChbnKbFfbESbETbEUbFgbvsbwPbEWbynbFhbymbFibEZbFabFbbFlbFdbFdbFebFdbFnbFobxbbFkbFpbFqbFrbKQbFmbNsbyBbFubFtbBnboxbFybvQbEjbzLcYPbxlbwebFvbJabFFbFIbFGbFMbxmbxmbFBbFCbFDbFEbFNbFEbFPbFCaaabFHbxvbFRbFJbFKbFLbEsbzYbFSbxvbFUbFObFWbEpaTTaTSaTVaTUaTYaTWaUPaUObLzbGabBLaVxaVIaVyaWOaWIaWSaWRbEuaYkaYoaYlaYraYqaZUaZTbobbbybuOaZTaZTbzibGrbGrbBJbGrbwLbwLbEAbGubGAbGwbEAbGBbGEbGBbEAbGFbDqbEMbEDbGKbGLbGKbEDbGCbGDbEDcXocXibmmbmmcXscXpcYdcXpcYebmmbmmbmmbwWbAEboIbANbrMboIbAObeCbeCbeCbeCbAPbeCbAPbeCbeCbeCbeCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGPbARbARbARbARbARbARbARbARbERaaaaaaaSdbBgbmSbHabCfbHdbCfbHebIHbHfbGQbChbHgbGSbGTbGUbFgbvsbvsbvsbvsbvsbvsbGVbGWbGXbGYbGZbxbbxbbxbbxbbxbbxbbxbbMlbxbbxbbxbbHbbxbbHcbAFbHjbBnbBnbBnbHnbDXcZfbzLcZjbxlbBebFvbxlbxlbxlbxmbHrbxmbHkbHlbHmbHubHBbHzbHDbHCbHsbHtbHFbxvbHvbzYbHwbHxbEsbHybzYbxvbHHbHAbHIbEpbCWbBMbDfbDfbDfbDfbDfbDfbDfbDebDhbDgbDjbDibSnbDlbDnbDmbEubEtbEzbExbECaZTbEEaZTbFQbEIbuObFTbFXbFVbGrbIfbFYbIgbFZbBmbIabGcbIdbIdbImbIcbIlbInbEAbIibIrbIkbEDbItbIwbIvbIobIpbIybEDcYhcXibmmbmmbmmbmmcYmcYkcYkcYkcYkcYkcYnbqnbjRbjRbjRbjRbqpbjCbBWbBVbjCbBXaYUbBXaYUbBYbBRbBSbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjQaLdaSdaSdaSdaSdaSdaSdaSdaSdaSdaToaSfbIGbCfbJjbIBbIIbIDbIDbIJbILbIKbIMbIMbIObINbDQbDQbDQbDQbDQbDQbIQbIPbIPbIRbITbxbbIVbIUbIYbIXbISbIZbJfbJbbxbbIWbJibyBbyCbDXbHjbBnbBnbKCbzJbzJbJmdaQdbnbJcbJdbJebJpbJgbJhbJsbJtbJkbJlbJubHsbJnbJvbJnbJvbJwbHsbHtbJqbJrbJybJxbJDbJzbJGbJEbJHbJrbJIbFObFObEpbDcbBMbGdbDdbGfbGebGebLybDebDebDebGtbGxbGvbSnbDlbGzbGybEubHEbHJbHGbHLbHKbHMaZTbFQbEIbuObFTbFXaZTbGrbHNbHQbHPbHSbHRbHUbHTbHVbJYbJYbKhbJYbIbbKbbGbbKdbGkbKfbKqbKrbKibKibKibKjbEDcYpcYocYqcYqcYqcYrcYvcYscYwcYwcYwcYxbBKbAEboIbrMbrMboIbDBdsldsldsldsnbicaaabicbDDbDwbDwbDFbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbGmbGlbKpaMdaMdaMdbmSaSfaSfbCfbKPbCfbKDbKsbKtbKEbCfblQbKvbKvbKwbKFbKwbKwbKwbKFbKwblQblQbxbbxbbxbbKGbxbbKzbKzbKzbKzbKzbKzbJfbKAbKBbPabzFbKIbKKbKJbKMbKLbKObFxbMlbKQbKSbKRdbYbKUbKXbKXbLabKZbKTbLbbLfbKWbLgbKYbFCbLhbHDbLibHBbLkbFCaaabLcbLdbLebLnbLdbLdbLdbLdbLpbxvbLqbLrbIechhbGibGgbGibEpbIhbGqbJAbIjbJBbJKbJTbJPbJXbJWbKabJZbKcbOUbEubEubEubEubEubKebKgaZTbFQbEIbLjbFTbFXaZTbGrbLNbLEbLPbLmbLlbLIbLTbLobLLbLMbLUbLObKkbEAbGRbLRbKnbEDbKobKybKxbIpbLWbNCbEDcYhbmmcYObjRcZkcYYcZlboDcZmbjRcZnbuHcZobqnbjRbjRbjRbjRaYUdsqdsldslbEObicaaabicbEPbDwbDwbEQbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbGmbGlbKpaMdaMdaMdbmSaSfaSfbCfbKPbCfbKDbKsbKtbKEbCfblQbKvbKvbKwbKFbKwbKwbKwbKFbKwblQblQbxbbxbbxbbKGbxbbKzbKzbKzbKzbKzbKzbJfbKAbKBbPabzFbKIbKKbKJbKMbKLbKObFxccYccZbKSbKRdbYbKUbKXbKXbLabKZbKTbLbbLfbKWbLgbKYbFCbLhbHDbLibHBbLkbFCaaabLcbLdbLebLnbLdbLdbLdbLdbLpbxvbLqbLrbIechhbGibGgbGibEpbIhbGqbJAbIjbJBbJKbJTbJPbJXbJWbKabJZbKcbOUbEubEubEubEubEubKebKgaZTbFQbEIbLjbFTbFXaZTbGrbLNbLEbLPbLmbLlbLIbLTbLobLLbLMbLUbLObKkbEAbGRbLRbKnbEDbKobKybKxbIpbLWbNCbEDcYhbmmcYObjRcZkcYYcZlboDcZmbjRcZnbuHcZobqnbjRbjRbjRbjRaYUdsqdsldslbEObicaaabicbEPbDwbDwbEQbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbLYbLXbKpbLZbLZbMabMbbLZbMcbCfbMebIBbNSbMkbMnbMmbCfaaaaabaabbMpbMobMobMobMobMobMraaaaaabKBbMdbMsbMubMqbKzbKzbKzbKzbKzbKzbMwbMvbMzbMybMDbMBbMxbDXbzJbzJbMFbMAbzJbzJbMJbMCbMLbMEbMMbMGbMGbMHbMGbMIbMNbMGbMKbKYbFCbMObFEbFEbFEbMPbFCaaabLcbLdbMRbMQbMVbMTbMWbMSbNbbMUbNcbFObLschhbJFbJCbJJbIqbJLbDebLvbLubHObLAbLBbEobEobLDbLFbDlbLQbLKbLVbLSbMYbMXbLKbMZbNdbNabFTbEIbNfbFTbEIaZTbGrbNgbHXbHXbLmbNhbNEbNibNjbNHbNIbNJbNObNNbEAbMfbLRbMibEDbMjbNPbMtbIpbIpbNUbEDcZpbmmcZDbAKcZkbDvcZGcZEcZmbAKcZIcZHcZJbEGaaaaaaaaaaaabicdsudswdsvdsvbicaaabicbGObDwbGObDwbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbKpbKpbObaSdaSdbjQaLdaSdaSdbCfbOdbIBbIBbIBbCfbCfbCfaaaaaaaaabOebOcbOcbOfbOcbOcbOeaaaaaabKBbNQbKzbOibOhbOhbOhbOhbOhbOkbOjbOhbOlbOnbOmbOpbOobOrbOqbzJbOtbBnbFAbOsbDXbOwbOubOxbMEbMEbMGbOAbOybOCbOBbODbMGbFBbKYbFCbOEbOHbOFbOObOMbFCaaabOGbLdbOPddabOJbOKbOLbOKbOSbONbNkbFObNlchhbNnbLwbNpbIqbNmbLxbNqbNobHObLAbNrbEobNDbNAbNGbNFbNLbNKbORbNMbOVbOTbLKbOWaZTbOXbFQbEIbOYbFTbFXbFVbGrbOZbLEbLPbUlbNBbNEbPnbPbbPobPpbIdbPqbPybPsbPtbIrbPubEDbPzbPwbIpbPHbPBbPJbEDcZpbmmcYObjRcZkbmmcZGbmmcZmbjRcZnbmmcZKbEGaaaaaaaaaaaabIAbjJbIubIubIubICaaabIEbIxbIxbIxbjJbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbPIbPIbPIbPNbPMbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbOebPTbKBbKBbNRbPObPPbHhbHhbHhbPObKzbJfbKAbKzbKzbKBbPZbPSbQcbQdbPVbQebHibBnbBnbPYbDXbOwbOubQhbHqbJObQibQkbOzbQlbQgbQnbMGbQobQjbHmbQpbQqbQmbQsbQrbHsbHtbQtbLdbQvbQubQwbOKbQxbOKbQybONbQzbFObKNbPcbPebLtbPfbEpbPgbNybDebPhbHObLAbPmbEobPGbPFbQabPKbQAbNKbQCbQBbQEbQDbLKbFXaZTbQFbQHbQGbQIbNdbQJbNdbQLbQKbQKbQKbQNbQMbIabRkbPbbPobRlbRhbPqbRmbEAbOvbOvbPdbEDbRpbRybRqbRzbIpbREbEDcZTcYmcYkcZVdaacYkdaldakbmmdambmmdandaqbEGaaaaaaaaaaaaaaabIAbKmbKmbKmbIFaaabIAbKmbKmbKmbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbKpbKpbObaSdaSdbjQaLdaSdaSdbCfbOdbIBbIBbIBbCfbCfbCfaaaaaaaaabOebOcbOcbOfbOcbOcbOeaaaaaabKBbNQbKzbOibOhbOhcdabOhbOhbOkbOjbOhbOlbOnbOmbOpbOobOrbOqbzJbOtbBnbFAbOsbDXbOwbOubOxbMEbMEbMGbOAbOybOCbOBbODbMGbFBbKYbFCbOEbOHbOFbOObOMbFCaaabOGbLdbOPbOIbOJbOKbOLbOKbOSbONbNkbFObNlchhbNnbLwbNpdeqbNmbLxbNqbNobHObLAbNrbEobNDbNAbNGbNFbNLbNKbORbNMbOVbOTbLKbOWaZTbOXbFQbEIbOYbFTbFXbFVbGrbOZbLEbLPbUlbNBbNEbPnbPbbPobPpbIdbPqbPybPsbPtbIrbPubEDbPzbPwbIpbPHbPBbPJbEDcZpbmmcYObjRcZkbmmcZGbmmcZmbjRcZnbmmcZKbEGaaaaaaaaaaaabIAbjJbIubIubIubICaaabIEbIxbIxbIxbjJbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbPIbPIbPIbPNbPMbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbOebPTbKBbKBbNRbPObPPbHhbHhbHhbPObKzceEbKAbKzbKzbKBbPZbPSbQcbQdbPVbQebHibBnbBnbPYbDXbOwbOubQhbHqbJObQibQkbOzbQlbQgbQnbMGbQobQjbHmbQpbQqbQmbQsbQrbHsbHtbQtbLdbQvbQubQwbOKbQxbOKbQybONbQzbFObKNbPcbPebLtbPfbEpbPgbNybDebPhbHObLAbPmbEobPGbPFbQabPKbQAbNKbQCbQBbQEbQDbLKbFXaZTbQFbQHbQGbQIbNdbQJbNdbQLbQKbQKbQKbQNbQMbIabRkbPbbPobRlbRhbPqbRmbEAbOvbOvbPdbEDbRpbRybRqbRzbIpbREbEDcZTcYmcYkcZVdaacYkdaldakbmmdambmmdandaqbEGaaaaaaaaaaaaaaabIAbKmbKmbKmbIFaaabIAbKmbKmbKmbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbRubRvbRwbRxbRGbRHbRAbRGbRBbRCbRDbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbRJbRIbRKbRIbRSbRRbRTbRRbRRbRRbRRbPQbJfbKAbRLbxbbxbbRMbBnbzFbQdbRNbDXbPXbRPbRPbRQbNYbRYbRXbRZbRVbQbbSbbSdbScbSabQgbSebMGbMKbKYbFCbSfbShbSgbSlbSkbFCaaabOGbSibSjbSibSibSibSibSibSmbSibSpbFObQOchhbQQbQPbQQbEpbQSbQRbSsbSqbHObLAbNzbQTbQWbQUbQZbQYbRabLKbQCbRbbOVbRcbLKbWdbWdbWdbRebRdbEubEubEubEubGrbJobHXbHXbRfbSTbIabSWbRibRgbRrbRjbPqbSYbTabSZbTfbTcbTbbTgbTdbTebTjbTebEDbEDbEGdasbEFbEFbigdatdazdatbigaYSaYSaYSaYSaYSaYSdaCdaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbRAbRAbRAbTlbRGbTnbTnbRGbTobRAbRAbTpbWLbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbTtbTrbTqbTrbNTbKzbPPbHhbHhbHhbKzbKzbJfbKAbQfbRobxbbTAbBnbTBbQdbTvbDXbRObBnbBobBnbPWbOwbTybTzbRVbQbbTCbTEbTDbTKbTFbTLbTGbTHbTIbTJbTJbTNbTMbTPbFCbFCaaabOGbSibTQbTObTSbTRbTVbTTbTWbTUbTXbFObRsbQVbSobRtbSrbEpbIqbStbIqbEpbPvbPrbPxbOUbOUbSwbSybSxbOQbLKbNKbSzbSAbLKbLKbWdbSCbSBbSEbSDbWgbSFbSHbSGbGraZSbpDbSIbRUbRUbIabSJbUEbUFbIabSKbPqbUHbIabUKbUMbULbUObUNbZNbpvbsBbqbbRnbtscjTcjYcOCbKlbigbaNdaEbaObaGbaTbaQbaRbaHbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbVebVfbVgbVhbVibRGbVkbRAbVlbRAbRAbRAbRAbRAbTlbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebVmbOcbOcbOcbVnbOebPTbKBbKBbOgbKzbPPbKzbKzbKzbKzbKzbJfbKAbQfbRWbxbbVrbBnbVqbVsbBnbVwbzEbBnbBnbVtbDXbOwbTybTzbRVbQbbMGbVubVvbVybVxbVzbMHbVBbVAbVDbVCbHsbVEbVFbHsbHtbHtbVGbSibVIbVHbVKbVJbVLbVLbVNbVMbVObFObSMbSubSObSNbSPbSvcrAbSLcrAcrAbSRbSQbSUbSSbwFbXAbSXbRtbXAbThbXAbJRcuobJSbTZbTYbUabUabUcbUbbWgbUdbUfbUdbWibWibWjbWjbWjbWjbIabIabIabIabIabWlbWnbLIbIabNVbNZbNXbWqbWqbPibOabLRctvbPkbPjcacdlDbGGdaSbigdaZdbedbddbkbaTbaTbaTbaTbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbVebVfbVgbVhbVibRGbVkbRAbVlbRAbRAbRAbRAbRAbTlbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebVmbOcbOcbOcbVnbOebPTbKBbKBbOgbKzbPPbKzbKzbywbKzbKzbJfbCybQfbRWbxbbVrbBnbVqbVsbBnbVwbzEbBnbBnbVtbDXbOwbTybTzbRVbQbbMGbVubVvbVybVxbVzbMHbVBbVAbVDbVCbHsbVEbVFbHsbHtbHtbVGbSibVIbVHbVKbVJbVLbVLbVNbVMbVObFObSMbSubSObSNbSPbSvcrAbSLcrAcrAbSRbSQbSUbSSbwFbXAbSXbRtbXAbThbXAbJRcuobJSbTZbTYbUabUabUcbUbbWgbUdbUfbUdbWibWibWjbWjbWjbWjbIabIabIabIabIabWlbWnbLIbIabNVbNZbNXbWqbWqbPibOabLRctvbPkbPjcacdlDbGGdaSbigdaZdbedbddbkbaTbaTbaTbaTbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWObWGbRAbRAcuHcuHcuHbRGbRAbRAbRGbWIbWJbWKbRAbWMbWNbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbWPbTrbTqbTrbNRbTubWRbKzbKzbKzbTubKzbJfbKAbQfbTsbxbbWWbBnbzFbQdbBnbzJbLJbBnbBnbWUbDXbOwbTybWVbRVbTxbMGbXbbWYbWZbXabXdbMHbXcbXebXgbXfbXibXhbXjbFCaaaaaaaaabSibXpbXkbXlbXlbXmbXnbXobSibXrbXqbUhbPUbUjbUibUrbUkbUnbUebUmbUmbUpbUobUmbUmbUqbUmbUmbUsbUnbUmbUmbUGbNubNtbUwbUvbUBbUybZfbUDbXNbUIbUIbUIbUJbWgbLRbUPbWqbWqbXYbXXbWqbXZbYbbYabYdbYcbWqbPlbYgbYfbYibYhbYlbYjbYjbYjbYjbYjcacdlDdbmcAUbigdbodbpbclbcIbaTbaTbaTbaTbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYubWGbRAbRAbRAbRAbRAbYtbRAbRAbRGbPIbPIbPIbPIbPIbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbWQbUgbYwbUgbYybYxdcYdcYdcYdcYdcYbUCbYEbYDbQfbVpbxbbYGbYIbYHbYNbYJbYKbYLbYLbYLbYMbYMbYObTybYRbWSbQbbMGbYTbYSbYVbVvbYWbMHbYUbYXbZdbTJbZebQmbYYbFCaaaaaaaaabSibYZbZabZbbZcbXmbXnbXobSibZgbZJbURbUQbUTbUScyTcyTbUVbUUbUXbUWbUWbUYbUZbUZbVabUZbUZbUSbUVbUZbVcbVbbVdcyTbVPbVjbVRbVQbVTbVSbVVbVUbVXbVWbVZbVYbWcbWbbWcbWcbWebUNbZMbUNbZNbUNbZPbZObZObPCbPDbZRbZUbZTbZXbZVbVobZWbYzbYjdbwdbvdbxbGGdbhbcHdbHbgbbgkbaTbgcbgmbaTbaTbgdbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIcafcagcahcaibRAbRGbRAbRAbRGbRAcancakcaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbOebPTbKBbKBbxbbxbbKBbKBbKBbKBbKBbxbbxbbKBbKBbKBbxbcamcamcamcascambYMcaocapcaqcatbYMbOwbTycawbMEbMEbMGbMGbMGbMGbMGbMNbMHbTJbTIcaubTJcavcaxbFCbFCbFCbFCbFCbSibSjbSibSibSibSibSibSibSibNvbFObWfbSubWkbWhbWobWmbWscaAbWubWtbWxbWwbXGbWubWabWybWabWybWabWybWabWzbWAcrAbTZbWBbWDbWCbWFbWEbXNbXsbXubXtbXvcbdcbdcbecbdcbfcbicbfcbfcbfcbhcblcbjcbjcbkcbmcbocbnbZUcbpcbrcbqbYAcbsbYBbYjdbObGGbGHbGHaYSaYSaYSaYSaYSaYSaYSaYSaYSaYSaYSdaCdaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPIbPIbPIbPIbPIbPIbRGbTobRAcbzbRAcbxcbycbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbDcbBbOccbCbOccbEcbFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbGaabaaaaaaaaaaaacamcbIcbHcbKcbJbYMcbNcbLcbMcbRbYMbOwbTycbOcbPcbQbXwcbVcbTcbUcbWcbYcbXbXxcbZcccccbccfccdcceccgccjcchccibXybXzcclccmbEnccnbFOccoccpccrbFObXBbQVbXCcaAcaAbXDbXDcaAbXFbXEbZhbXHbZibXIbWabXKbXMbXLbXMbXObWabXPbWAbXRbWdbXSbXUbXTbXSbXSbWibXVbXWbXQbYkcbdccTccSccVccUccXccWcdbcbfccYccZcdacbjcbjcdccbocddcdfbPEcdhcdgcdicbscdkbYjcdndfcbZZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIcdlcdmcdpcdlcdobRGbRAbRAbRGbRAcdrcdqcdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdvcdtcducducducdtcdwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacamcdycdxcdAcdzbYLcdBcdDcdCcdEbYMbOwbNwcdFbTybTybYmbYncdIcdJcclcdObYobYpcdMcdNcdNcdQcdPcdRcdNcdNcdTcdNcdNcdScclccmbEncdVcdUcdXbYqcdZcdYbFOchfbYrcaAbZjbYsbYsbXJbZhbZkbZnbZlcaBbZmbZpbZobZrbZqbZtbZsbZvbZubWAcuvchrbZwbZybZxbZAbZzbZBccQbXWbXQbZBcbdcezceyceBceAceDceCceGcbfceEccZceFceFcbjceHceJceIceLceKceNceMbGnceOceSbYjcaccLhbGpdbPdbPdbPdbZdbXdbXdcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWObWGceRceRceRceRceRceTbRAbRAbRGbPIbPIbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceVceUceUceUceWaaaaaaaaaaaaaaaaaaaaaceXceZceYceZcfaaaaaaaaaacamcamcamcffcfbcdAcfcbYLcfdcbMcfecfgbYMbOwbNxbTicficflcfkbZDbZCbZFbZEbZHbZGbZIcfscftcftcfxcfvcfvcfvcfvcfvcfvcfvcJfcfycfzcfBbZLbZKbZYbZScabcaacadchfcajcaAcazcalcaCcaEcaEcaDcaGcaFcaIcaHcaKcaJcaMcaLcaOcaNbZvcaPcaQcuvbZzcaRcaTcaScaVcaUcaXcaWcaZcaYcaXcbdcgccgbcgecgdcghcgfcggcbfcgiccZceFceFcbjcgjcgmcgkcglcgncgpcgocgrcgqcgvbYjdcbcgscgtcgscgucgycgucgucgudccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYubWGceRceRceRcgwcgxbRGbRAbRAbRGbRAbRAbRAcgzbRAcgAbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgFcgBcgCcgDcgFbYPbYPbYPcamcgHcgGcgJcgIcgLcgKcgNcgMcgOcgOcgPbYMbTkcgQcgTcgScgScgUcbacgVcgScgWcgWcgYcbbcgZcgWcgWchacclcclchechcchcchcchccbcchcchcchfcbgchfchfchfchfchfchfchfcbvcbtbWXbYCcckccaccsccqccucctccwccvbWaccxcczccyccBccAccDccCccEcuvccGccFccIccHccJchrbWibWgbWgbWgbWicbdcbdchMchQchOchPchOchRcbfchUchSchTchTcbjchVchXbTwbYjbYjbYjbYjbYjbYjbYjbYjcaccgscifchYchZciaciacibcguaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcicciccicciccidcidcieciecieciecijaabaabaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIcigceRceRcihciibRGbRAbRAcikbRAbRAbRAciobRAcilbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceYcimcincimceYbYPcipciqcamcitcfbcircisciyciubYMcivciwcixcizbYMcgQcgQciCcgSciAciBccKciDciHcgWccLciGccMciIciKcgWciMciLciNchcccOccNccRccPcdjcdebYFbYQcdLchfceacdWceccebchfcedcbvcaAcaAcaAcaAcaAcaAcaAcefceecegcaAcDfcDfcDfcDfcDfcDfcDfcDfceicehccGcejcelcekcencemcepceocerceqclpcjFcjHcjGcjIcjGcjGcjLcjJcjKcjPcjMcjNcjOcbjcjQbUtcbnbPtbGGcjTcjScjUcjUcjScjUcjYcgscjVcjWchZciackecjXcguaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciccjZckacjZcidciecieckbckcckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIckdceRceRckfbRGbRAbRAbRGckgbRAbRAckjckhbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgFckicimcimckkcklcfbcfbckmckncfbcfbcisckqckobYMbYMbYMbYMbYMbYMckpcgQciCcgSclRcesceucetckucgWckvcevcexcewcePcgWcfmceQcfnchccfpcfockHckGcfqckIchcchfdgCchfcebcebcfrcebchfcsLcbvchfcfwbUucfCcfAcfEcfDcfGcfFcfIcfHcfKcfJcfMcfLcDfcfNcfPcfOcfRcfQcfTcfScfVcfUcfXcfWcepcfYcgacfZclpclncjGcjGclmclocjGcltclpcbjclqccZclrclrcbjcbmclscbnbPtcgsclvcgscgscgscgscgscgscgscluclwcguclxclzclycguafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOclBcjZcjZclAciecieckbckbclHckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIclCclDclEbRGbRAclFbRGclGclIbRAbPIbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceYcincincinceYbYPclJclMclKckncfbcfbclLclOclNclQclPclPclPclTcgQcgQcgQciCcgSclRcktclScktclVcgWckvckwclUckwclWcgWclYcHDclZchccmccmacmbcmechbcgXchcchdchgchfchfchichfchfchfcsLcbvchfchkchjchmchlcfEchncfGcfFchocfHchqchpchtchscDfchuchvcDfchxchwchzchychBchAchEchDcepchFcgachGclpclncmMcjGcjGcjGcmQcmOclpcbjcmPccZclrclrcbjcmTbUzcbnbPtcmScmVcmUcgscmWcmYcmXcnbcmZcnacnfcgucnccndcnecgucgscgscgscgEcgEcgEcgEcgEaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacnkcieclBciecieckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIbPIbPIbPIbPIbPIbPIbPIbPIbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabafOcgQcngcngcgQcngcngcgQaaaaaacgFcnhcnicnjcgFbYPbYPbYPcamcnmcnlcnocnocnocamcamcgQcnncnpcnrcnqcgQcnscntcgSclRcktcktcktcnvcgWckvckwckwcnuchHcgWcpicHDcnAchcchcchcchcchcchIchcchccnCdgCcsLcsLcsLchfcABchJcsLcbvchfchLchKciEchNcfEciFcfGcfFcfIcfHciOciJciQciPcDfciRciScDfciUbSVchrciVciXciWchrchrcepciYcjaciZclpcjbcodcoicoicoicodcogcodcodcohcojclrclrcbjcokclscbncomcolcooconcorcopcoqcoqcotcoscovcoucoxcowcozcoycoCcoAcoBcoDcoEcoFcoHcoGcoIaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaacidciecbwcbScbSckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaacgQcoKcoLcgQcoKcoLcgQaaaaaacoOceZcoNceZcoQaaaaabaaacamcamcamcamcamcamcamcoPcgQcoScoRcoUcoTclPcoVcoWcgScoYcoXcpfcktcjccgWcjdckwcjfcjecjgcgWcjicjhcjkcjjcpqcpqcpqcpqcjlcpmcppcpocjncjmcjmcjocjqcjpcjscjrcjtchfcjwcjucjycjxcjAcjzcjCcjBcjCcjDckrcjEckxcksckzckyckAcDfckBcuvckCcjvckDcmDckFckEciYckJckLcgacpRcpTcpRcpUcpWcpVcpRcpXcpYcodcqacpZcdacbjcbjcqccqbcqfcqdcqecqicqgcqhcqlcqjcqkcqncqmcqpcqocqtcqqcqrcqqcqscqrcqrcqucqwcqvcqycqxcqCaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacieciecdHckbckbckbckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPIbPIbPIbPIbPIbPIbRGbTobRAcbzbRAcbxcbycbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbDcbBbOccbCbOccbEcbFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbGaabaaaaaaaaaaaacamcbIcbHcbKcbJbYMcbNcbLcbMcbRbYMbOwbTycbOcbPcbQbXwcbVcbTcbUcbWcbYcbXbXxcbZcccccbccfccdcceccgccjcchccibXybXzcclccmbEnccnbFOccoccpccrbFObXBbQVbXCcaAcaAbXDbXDcaAbXFbXEbZhbXHbZibXIbWabXKbXMbXLbXMbXObWabXPbWAbXRbWdbXSbXUbXTbXSbXSbWibXVbXWbXQbYkcbdccTccSccVccUccXccWcdbcbfceFchSchTcbjcbjcdccbocddcdfbPEcdhcdgcdicbscdkbYjcdndfcbZZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIcdlcdmcdpcdlcdobRGbRAbRAbRGbRAcdrcdqcdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdvcdtcducducducdtcdwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacamcdycdxcdAcdzbYLcdBcdDcdCcdEbYMbOwbNwcdFbTybTybYmbYncdIcdJcclcdObYobYpcdMcdNcdNcdQcdPcdRcdNcdNcdTcdNcdNcdScclccmbEncdVcdUcdXbYqcdZcdYbFOchfbYrcaAbZjbYsbYsbXJbZhbZkbZnbZlcaBbZmbZpbZobZrbZqbZtbZsbZvbZubWAcuvchrbZwbZybZxbZAbZzbZBccQbXWbXQbZBcbdcezceyceBceAceDceCceGcbfcjMchScjNcjNcbjceHceJceIceLceKceNceMbGnceOceSbYjcaccLhbGpdbPdbPdbPdbZdbXdbXdcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWObWGceRceRceRceRceRceTbRAbRAbRGbPIbPIbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceVceUceUceUceWaaaaaaaaaaaaaaaaaaaaaceXceZceYceZcfaaaaaaaaaacamcamcamcffcfbcdAcfcbYLcfdcbMcfecfgbYMbOwbNxbTicficflcfkbZDbZCbZFbZEbZHbZGbZIcfscftcftcfxcfvcfvcfvcfvcfvcfvcfvcJfcfycfzcfBbZLbZKbZYbZScabcaacadchfcajcaAcazcalcaCcaEcaEcaDcaGcaFcaIcaHcaKcaJcaMcaLcaOcaNbZvcaPcaQcuvbZzcaRcaTcaScaVcaUcaXcaWcaZcaYcaXcbdcgccgbcgecgdcghcgfcggcbfcgichScjNcjNcbjcgjcgmcgkcglcgncgpcgocgrcgqcgvbYjdcbcgscgtcgscgucgycgucgucgudccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYubWGceRceRceRcgwcgxbRGbRAbRAbRGbRAbRAbRAcgzbRAcgAbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgFcgBcgCcgDcgFbYPbYPbYPcamcgHcgGcgJcgIcgLcgKcgNcgMcgOcgOcgPbYMbTkcgQcgTcgScgScgUcbacgVcgScgWcgWcgYcbbcgZcgWcgWchacclcclchechcchcchcchccbcchcchcchfcbgchfchfchfchfchfchfchfcbvcbtbWXbYCcckccaccsccqccucctccwccvbWaccxcczccyccBccAccDccCccEcuvccGccFccIccHccJchrbWibWgbWgbWgbWicbdcbdchMchQchOchPchOchRcbfchUcjOclqclqcbjchVchXbTwbYjbYjbYjbYjbYjbYjbYjbYjcaccgscifchYchZciaciacibcguaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcicciccicciccidcidcieciecieciecijaabaabaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIcigceRceRcihciibRGbRAbRAcikbRAbRAbRAciobRAcilbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceYcimcincimceYbYPcipciqcamcitcfbcircisciyciubYMcivciwcixcizbYMcgQcgQciCcgSciAciBccKciDciHcgWccLciGccMciIciKcgWciMciLciNchcccOccNccRccPcdjcdebYFbYQcdLchfceacdWceccebchfcedcbvcaAcaAcaAcaAcaAcaAcaAcefceecegcaAcDfcDfcDfcDfcDfcDfcDfcDfceicehccGcejcelcekcencemcepceocerceqclpcjFcjHcjGcjIcjGcjGcjLcjJcjKcjPclrcmPcmScbjcjQbUtcbnbPtbGGcjTcjScjUcjUcjScjUcjYcgscjVcjWchZciackecjXcguaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciccjZckacjZcidciecieckbckcckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIckdceRceRckfbRGbRAbRAbRGckgbRAbRAckjckhbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgFckicimcimckkcklcfbcfbckmckncfbcfbcisckqckobYMbYMbYMbYMbYMbYMckpcgQciCcgSclRcesceucetckucgWckvcevcexcewcePcgWcfmceQcfnchccfpcfockHckGcfqckIchcchfdgCchfcebcebcfrcebchfcsLcbvchfcfwbUucfCcfAcfEcfDcfGcfFcfIcfHcfKcfJcfMcfLcDfcfNcfPcfOcfRcfQcfTcfScfVcfUcfXcfWcepcfYcgacfZclpclncjGcjGclmclocjGcltclpcbjcmUchScmVcmVcbjcbmclscbnbPtcgsclvcgscgscgscgscgscgscgscluclwcguclxclzclycguafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOclBcjZcjZclAciecieckbckbclHckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIclCclDclEbRGbRAclFbRGclGclIbRAbPIbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceYcincincinceYbYPclJclMclKckncfbcfbclLclOclNclQclPclPclPclTcgQcgQcgQciCcgSclRcktclScktclVcgWckvckwclUckwclWcgWclYcHDclZchccmccmacmbcmechbcgXchcchdchgchfchfchichfchfchfcsLcbvchfchkchjchmchlcfEchncfGcfFchocfHchqchpchtchscDfchuchvcDfchxchwchzchychBchAchEchDcepchFcgachGclpclncmMcjGcjGcjGcmQcmOclpcbjcohchScmVcmVcbjcmTbUzcbnbPtcojcolcomcgscmWcmYcmXcnbcmZcnacnfcgucnccndcnecgucgscgscgscgEcgEcgEcgEcgEaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacnkcieclBciecieckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIbPIbPIbPIbPIbPIbPIbPIbPIbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabafOcgQcngcngcgQcngcngcgQaaaaaacgFcnhcnicnjcgFbYPbYPbYPcamcnmcnlcnocnocnocamcamcgQcnncnpcnrcnqcgQcnscntcgSclRcktcktcktcnvcgWckvckwckwcnuchHcgWcpicHDcnAchcchcchcchcchcchIchcchccnCdgCcsLcsLcsLchfcABchJcsLcbvchfchLchKciEchNcfEciFcfGcfFcfIcfHciOciJciQciPcDfciRciScDfciUbSVchrciVciXciWchrchrcepciYcjaciZclpcjbcodcoicoicoicodcogcodcodconcoocmVcmVcbjcokclscbncpZcqacqecqgcorcopcoqcoqcotcoscovcoucoxcowcozcoycoCcoAcoBcoDcoEcoFcoHcoGcoIaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaacidciecbwcbScbSckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaacgQcoKcoLcgQcoKcoLcgQaaaaaacoOceZcoNceZcoQaaaaabaaacamcamcamcamcamcamcamcoPcgQcoScoRcoUcoTclPcoVcoWcgScoYcoXcpfcktcjccgWcjdckwcjfcjecjgcgWcjicjhcjkcjjcpqcpqcpqcpqcjlcpmcppcpocjncjmcjmcjocjqcjpcjscjrcjtchfcjwcjucjycjxcjAcjzcjCcjBcjCcjDckrcjEckxcksckzckyckAcDfckBcuvckCcjvckDcmDckFckEciYckJckLcgacpRcpTcpRcpUcpWcpVcpRcpXcpYcodcqicwLchTcbjcbjcqccqbcqfcqdcwMcxacIpcqhcqlcqjcqkcqncqmcqpcqocqtcqqcqrcqqcqscqrcqrcqucqwcqvcqycqxcqCaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaacieciecdHckbckbckbckbckbckbckbckbckbckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafOaaaafOcgQcqzcoLcgQcqzcoLcgQaaaaaaaabaabaabaabaabaabaabaabaabcgQcoLcqAcqBcgQcqEcqGcgQcqHcgQcgQcqFcgQcgQciCcgScqRcqIcqJcqKcqLcgWckMcqOcqScqQcqTcgWckOckNckPcJZcsDcsDcsDcsDcsDcrdcqZcrackQchfcucckRcsLckSckTcsLcsKchfckVckUckXckWcCWckYclackZclbcDfcldclcclfclecDfcDfcDfcDfclhclgckCchCcljclicllclkciYcmdcgacmfcpRcrNcrQcrLcrMcrLcrTcrOcrPcodcbjcrUcbjcbjcrRcrSclsbLRbPtcgscrVcgscgscrWcrYcrXcsacrZcsdcsbcsfcsecsgcsecsgcshcsgcsicgEcsncrwcsqcsraabaabaabaabaabaabaabaabaaaaaaaaaaaaaaacieckbckbckbckbckbckbcdKckbcmzckbckbckbckbckbciecieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcsjafOaabaMraMrafOcgQcgQcqFcgQcgQcqFcgQcgQcgQcngcngcngcgQcgQcgQcgQcgQcgQcgQcoLcskcslcgQcsmcgQcgQcsucgQcsocspcoLcgQcqPcgScsycsxcszclRcmgcgWcswckvcsEcsCcmhcgWcsIcsHcmicsDcsDcsNcsOcsGcmjcsQcsJcsKcsLcsUchfcmkcsLckSckTchfchfchfcCWcCWcmlcCWcCWcxhcnwcmmcxhcDfcDfcDfcDfcDfcDfcmncmpcmocmrcmqcmtcmscmvcmucmxcmwciYcgacgaaqEcpRcttctxctwctyctwctActzcrLctuctvctBbLRctCbLRcrSclsbLRbIictFctHctGcgscgscgscgscgsctIcqkctKctDcsccqkctEcqkclucqkctLcgEctOctQctPcgEaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaciecmCcmCcmCcmCcmCcmCcmEckbcoJcmCcmzckbckbckbckbcieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOafOcngcoLcoLcoLcoLctMctNcoLcoLcoSctUctUctVctUctUctUctUctUctUctUctUctUctUctUctUcoRcgQcskcqzctWcgQcqPctRctRctRctRctRctRcgWcgWcgWcgWcgWcgWcgWcuactXcmBcoMcpgcqDcmFcmFcmGcuicsJcmHcsLcubcuccmIcsLckScmJchicsLcsLcsKcCWcmLcmKcmNcCWcHWcnxcnBcnzcnEcnDcnGcnFcnIcnHcnKcnJcnMcnLckCcnNcnPcnOcnRcnQciYbQXcgacgacpRcuGcnTcnScnUcrLcuKcuJcuOcuLcuScuRcuVbLRcuXcrSclscuMbIibPAcuNcuYcuPcuQbGGbGGcgscvccvecuTcuUcvfcuWcvgcvicuZcvacvbcgEcvjdoKdoFcvraaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaacvscjZcjZcjZcjZcjZcjZcjZcvhcvtckbckbckbckbcvvckccieaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -9060,57 +9061,57 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFVcFWcFXcFXcFXcGfcFWcHycFXcANcFXcHBcEacHEcGjcHzcHucHzcHFcHJcHDclXcHDcHDcHKcnAcnAcHDcHGcHDcHDcHDcHDcHDcHDcHDcHDcHDcHDcHHcHIcHMcHLcHOcHNcHUcHTcHPcHQcHRbWTcdGcaycHVcHYcxDcxCcGKckScmJctZcucdducxEddwcQkcxFcxGcUTcxJcxHcxPcxLcUTcxRcxTcQkcyJcsLcrDcyKcyMcyLcpQcrDcyNcyNchfcmAcyPcebctrbQXctsaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaacBRcHAcHXcHCcBRcAPcAPcAPcAPcAPcAPcICcHwcIDcIHcIFcIEcAPcAPbGHcFcbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFVcIIcFXcIGcFXcGfcIJcIMcIKcINcILcITcIzcIBcIAcIQcIRcIScIVcIXcIWcJacIYcJbcqVctScqVcIXcJccIXcIXcIXcIXcIXcIXcIXcIXcIXcIXcJdcHDcKmcJecJicJhcJgcJjcJodcdcfjcfhcgRcfucJycJpcyRcyQcGKckScmJcsLchfchfcySchfcQkcQkcQkcQkcyVcyUcyXcyWcUTcyYczacyZcyJcsLchfchfchfchfchfchfcsLcyNchfczbchfcsLctrbQXcepaaaaaaaaaaaaaabcepcBRcBRcBRcBRcBRcBRcBRcBRcIOcJNcIPcxNcJKcJKcJLcBRaabcAPcAPcJOcAPcJTcJRcJPcAPcJQcuQcFcbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJUcJScEWcEWcEWcEWcJYcEYcEYcEYcEYcKacEYcJVcJVcJVcJWcJXcKdcEYcJZcKgcKbcKbcKicKbctTcKbcKbcKecKfcKbcKbcKfcKfcKfcKbcKbcKbcKbcKkcKhcLKcKlcKtcKqcKxcKndcgcKncKncKncKnchWcKycKrczccKzcGKczdczecsLczfcsLcYiczgcuccTBcKOcyZcQkcQkcQkcQkcQkcQkcQkcQkcsLcKOchfczhczjcziczkchfczlchfchfchfchfchfctrbQXcepaaaaaaaaaaaaaaacepcKPcKQcKRcKWcIUcKYcKXcxNcJkcJmcJlcxNcJKcKZcLacBRaabaabcLbcLkcLjcLecLlcLgcLbbGGbGGcFccLhbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalwalvalvalwalvalvaabamhaabayiaaaayiayicLicJncLmcLmcLmcLpcLocEYbTmcLrcGhcLtcLscLucEYcLycLwcKfcLGcwLcwMcxacLzcLAcLJcLCcLDcKbcLCcLEcLFcLGcLGcLHcKbcLLcVbcHJcLNcnycLTcLMdcicLOdcjcjRdcjcwocmRcLXcLWczncMacGKcGKcbvcsLcnVcsLcYicsLcuEcsLcsLctZcsLcsLcsLcKOctZczocsLcyJcsLcsLcBQcsLczqczpczrcyJczschfcztchfczuchfczvbQXcepaaaaaacepcepcepcepcJKcMgcJKcMlcJrcEHcJNcxNcxQcMocxQcxNcJKcJKcMkcBRaabaaacLbcMucMmcLecLecMncLbcMpbGGcFcbKlcMsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaabaabcLicLicMqcLicLicMrcMvcEYcEYcEYcEYcEYcEYcEYcEYcLicLwcKfcMtcMxcMycMycMycMycMycMCcMzcMDcLGcMAcLGcLGcMBcLGcMEcMGcMFcMHcLNcnycMLcHQcMPcLOdcBcHSdcEcLOdcGcMRcMNcAjczxcAlcAkcAncAmcMXcAmcApcAocArcAqcrecrecAscrecAtcsLcsLcsLcAucyJcyJcsLcBQcAvcAvcAwcAycAxcAzchfcAAcAvcACchfcADcsLcBPcepcepcepbQXcAEcepcJKcJKcJKcNmcJJcNocNncNqcNpcNscNrcxNcNtcNycNxcBRaaaaaacLbcNzcLecNucLecNvcLbbGGbGGcFccMsbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhnaaaalwaaacNFcNEcNMaaacNFcNEcNMaaacNFcNEcNMaaaaaacLicNAcNBcNCcLicNDcNNcLmcLmcLmcLmcLmcLmcLmcLmcLmcNRcKfcNGcLGcMBcNHcLGcLGcLGcNIcLGcNGcNGcLGcLGcLGcLGcNJcNKcMGcNLcHDcNScyEcHQcHQcNTcLOcNOcNPcNQcLOcNUcHVcJMcKocKccAHcGKcsKcsLcNYcsLcAIdfMcAOcAMcARcARcARcARcBxcATcBycBycBycBycBAcyJcMfczqcyJcyJcebcsLcsLcBCcAvcAvczqcBCcBYcsLcsLcBGcBHciYbQXcBIcepcxNcxNcxNcxNcKpcEHcOlcOncOmcOpcOocxNcKscKVcKTcBRaaaaaacLbcOvcOucOscLecODcLbcOCbGGcFcbGHaabaabaabaabaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaacNFcNZcNMaaacNFcNZcNMaaacNFcNZcNMaaaayicLicNBcNBcNBcLicLicOwcOxcLicLicOxcOxcLicLicOxcOxcLwcKfcNGcOycLGcOzcOAcOBcOBcMAcLGcNGcOGcLGcLGcLGcLGcOHcOEcOJcOIclXcOKcOMcOLcOYcORcLOcNOcOZcONcLOcOOcHVcGKcGKcGKcBJcGKcZScOTcOUcOTcOWcOTcOTcOTcOTcOTcBKcBPcBPcBPcBPcBPcBPcBPcBLcnVcBQcsLcBOcBMcBTcsLcsLchfcBWcBVcBXchfcDbcCXcPhcDecDgciYbQXcDhcepcKPcKQcKRcPmcLccNocPncPjcPocPqcPpcPscPrcPpcPtcBRaaaaaacLbcLbcPycPAcPzcLbcLbbGHbGGcPBcuQcuQcuQbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaayiaabcNFcNZcNMaaacNFcNZcNMaabcNFcNZcNMaaaaabcLicMrcPucNDcLiaaaaabaaaaaaaaaaaaaaaaabaaaaaacOxcLwcKbcPvcLGcLGcKjcLxcLfcLdcLfcLncLfcLBcLIcLCcPIcNGcNGcNKcPLcPJcPNcPMcPPcPKcPVcPSbgYcPObHWcPQcPRcPYcPTcPUcPUaPdcDjcDicQdcPZcQfcDkcQhcQgcDlcQicQocQmcQpcQpcQpcQpcQpcQpcPwcBPcBLcsLcDmchfchfcBQcBQchfcDnchfchfchfchfchfciYcDobQXctrbQXciYcDpbQXcepcJKcKZcJKcQxcJrcEHcQzcQAcQrcQscEHcEHcQtcEHcQBcBRaaaaabaabcLbcLbcQvcLbcLbaaabGHbGGcFccuQcQwcQCbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaacNFcNZcNMaabcNFcNZcNMaaacNFcNZcNMaabaaacLicLicOxcLicLiaaaaabaabaaaaabaaaaabaabaaaaaacQycQDcKbcLqcLvcLvcLPcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcJZcQIcJZcQEcJZcFacQKcxAbHYcQNcQNcQNcyhcQScPTcQLcQMbhCcDtcDscQQcPZcDxcDvcQTcEmcEncRacRdcRcaabcQZcQZcQZcQZcQZcPxcBPcEocsLcMfcsLcyJcyJcsLcsLcsLchfcEpchfcsKcEqciYciYciYctrbQXciYciYciYcepcJKcJKcJKcRDcLQcNocRHcRIcRtcRucRvcRvcRJcEHcRxcBRaabaabaaaaaaaaacRyaaaaaaaaabGHbGGcFccuQbGGbGGbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvayiaaacNFcNZcNMaabcNFcNZcNMaaacNFcNZcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcRzcRAcRAcRAcRAcQycRBcLwcRCcRKcREcREcRFcRGcRMcRLcRLcRLcRLcRNcRPcROcRQcRQcRScRScRQcRTcRVcRUcRRcRRcRYcRWcTecSabHZcRXcRXcShcRZcSjcSbbjicErcSdcSecPZcEucSlcSmcEvcSpcSocSrcSqcQpcSncSucSscSwcQZcPxcBQcEwcsLchfcExchfcEycEAcEzcyJchfcECcEBcsLcsLciYcEDcgactrbQXciYcEFcEEcepcxNcxNcxNcxNcLRcEHcQzcEIcSOcQscEHcSGcSHcSHcSPcSJcSKaabaaaaaaaaaaaaaaaaaaaaabGHbGGcPBbGGbGGcSLbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalwalvalvalwalvalvaabamhaabayiaaaayiayicLicJncLmcLmcLmcLpcLocEYbTmcLrcGhcLtcLscLucEYcLycLwcKfcJxcKjcLxcLzcLBcLAcLCcLDcLEcKbcLDcLGcLFcJxcJxcLHcKbcLLcVbcHJcLNcnycLTcLMdcicLOdcjcjRdcjcwocmRcLXcLWczncMacGKcGKcbvcsLcnVcsLcYicsLcuEcsLcsLctZcsLcsLcsLcKOctZczocsLcyJcsLcsLcBQcsLczqczpczrcyJczschfcztchfczuchfczvbQXcepaaaaaacepcepcepcepcJKcMgcJKcMlcJrcEHcJNcxNcxQcMocxQcxNcJKcJKcMkcBRaabaaacLbcMucMmcLecLecMncLbcMpbGGcFcbKlcMsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaabaabcLicLicMqcLicLicMrcMvcEYcEYcEYcEYcEYcEYcEYcEYcLicLwcKfcLIcLJcMtcMtcMtcMtcMtcMwcMzcMDcJxcMxcJxcJxcMycJxcMAcMGcMFcMHcLNcnycMLcHQcMPcLOdcBcHSdcEcLOdcGcMRcMNcAjczxcAlcAkcAncAmcMXcAmcApcAocArcAqcrecrecAscrecAtcsLcsLcsLcAucyJcyJcsLcBQcAvcAvcAwcAycAxcAzchfcAAcAvcACchfcADcsLcBPcepcepcepbQXcAEcepcJKcJKcJKcNmcJJcNocNncNqcNpcNscNrcxNcNtcNycNxcBRaaaaaacLbcNzcLecNucLecNvcLbbGGbGGcFccMsbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhnaaaalwaaacNFcMBcNMaaacNFcMBcNMaaacNFcMBcNMaaaaaacLicNAcNBcNCcLicNDcNNcLmcLmcLmcLmcLmcLmcLmcLmcLmcNRcKfcNGcJxcMycMCcJxcJxcJxcMEcJxcNGcNGcJxcJxcJxcJxcNwcNKcMGcNLcHDcNScyEcHQcHQcNTcLOcNOcNPcNQcLOcNUcHVcJMcKocKccAHcGKcsKcsLcNYcsLcAIdfMcAOcAMcARcARcARcARcBxcATcBycBycBycBycBAcyJcMfczqcyJcyJcebcsLcsLcBCcAvcAvczqcBCcBYcsLcsLcBGcBHciYbQXcBIcepcxNcxNcxNcxNcKpcEHcOlcOncOmcOpcOocxNcKscKVcKTcBRaaaaaacLbcOvcOucOscLecODcLbcOCbGGcFcbGHaabaabaabaabaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaacNFcNEcNMaaacNFcNEcNMaaacNFcNEcNMaaaayicLicNBcNBcNBcLicLicOwcOxcLicLicOxcOxcLicLicOxcOxcLwcKfcNGcNHcJxcNIcNJcNZcNZcMxcJxcNGcOGcJxcJxcJxcJxcOHcOycOJcOIclXcOKcOMcOLcOYcORcLOcNOcOZcONcLOcOOcHVcGKcGKcGKcBJcGKcZScOTcOUcOTcOWcOTcOTcOTcOTcOTcBKcBPcBPcBPcBPcBPcBPcBPcBLcnVcBQcsLcBOcBMcBTcsLcsLchfcBWcBVcBXchfcDbcCXcPhcDecDgciYbQXcDhcepcKPcKQcKRcPmcLccNocPncPjcPocPqcPpcPscPrcPpcPtcBRaaaaaacLbcLbcPycPAcPzcLbcLbbGHbGGcPBcuQcuQcuQbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaayiaabcNFcNEcNMaaacNFcNEcNMaabcNFcNEcNMaaaaabcLicMrcPucNDcLiaaaaabaaaaaaaaaaaaaaaaabaaaaaacOxcLwcKbcOzcJxcJxcOAcOBcLfcLdcLfcLncLfcOEcOQcLDcPvcNGcNGcNKcPLcPJcPNcPMcPPcPKcPVcPSbgYcPObHWcPQcPRcPYcPTcPUcPUaPdcDjcDicQdcPZcQfcDkcQhcQgcDlcQicQocQmcQpcQpcQpcQpcQpcQpcPwcBPcBLcsLcDmchfchfcBQcBQchfcDnchfchfchfchfchfciYcDobQXctrbQXciYcDpbQXcepcJKcKZcJKcQxcJrcEHcQzcQAcQrcQscEHcEHcQtcEHcQBcBRaaaaabaabcLbcLbcQvcLbcLbaaabGHbGGcFccuQcQwcQCbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaacNFcNEcNMaabcNFcNEcNMaaacNFcNEcNMaabaaacLicLicOxcLicLiaaaaabaabaaaaabaaaaabaabaaaaaacQycQDcKbcLqcLvcLvcLPcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcKbcJZcQIcJZcQEcJZcFacQKcxAbHYcQNcQNcQNcyhcQScPTcQLcQMbhCcDtcDscQQcPZcDxcDvcQTcEmcEncRacRdcRcaabcQZcQZcQZcQZcQZcPxcBPcEocsLcMfcsLcyJcyJcsLcsLcsLchfcEpchfcsKcEqciYciYciYctrbQXciYciYciYcepcJKcJKcJKcRDcLQcNocRHcRIcRtcRucRvcRvcRJcEHcRxcBRaabaabaaaaaaaaacRyaaaaaaaaabGHbGGcFccuQbGGbGGbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvayiaaacNFcNEcNMaabcNFcNEcNMaaacNFcNEcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcRzcRAcRAcRAcRAcQycRBcLwcRCcRKcREcREcRFcRGcRMcRLcRLcRLcRLcRNcRPcROcRQcRQcRScRScRQcRTcRVcRUcRRcRRcRYcRWcTecSabHZcRXcRXcShcRZcSjcSbbjicErcSdcSecPZcEucSlcSmcEvcSpcSocSrcSqcQpcSncSucSscSwcQZcPxcBQcEwcsLchfcExchfcEycEAcEzcyJchfcECcEBcsLcsLciYcEDcgactrbQXciYcEFcEEcepcxNcxNcxNcxNcLRcEHcQzcEIcSOcQscEHcSGcSHcSHcSPcSJcSKaabaaaaaaaaaaaaaaaaaaaaabGHbGGcPBbGGbGGcSLbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaabaaaaabaabcPCaabaabaabcPCaabaaaaabcPCaabaaaaaaaaaaaaaaaaaaaaaaaaaaacRzcRzcRzcSRcTacSTcRAcTbcTccNRcRCcRCcSScTdcKbcKbcMvcSUcSUcSUcSUcSVcSWcSXcSWcSWcSWcRRcRRcSYcSZcTfcTicTgcRXcTjcTecRXcRXcRXcRXcTkcPTcTlcThcSdcErcSdcSdcPZcEucSlcTncEJcTqcTpcTucTraabcTocTvcSwcTwcQZcPxcBQcELcEKcFpcEMchfcsLcsLcsLcFqcMfcFscyJcFscsLciYbQXcgactrcFvciYbQXcFvcepcKPcKQcKRcTJcLccNocTKcTNcTMcTGcTGcTHcTIcTPcTOcBRaabaabaabaaaaaaaaaaaaaaaaaabGHcTLcFcbGHbGHbGHbGHbGHaabaabaabdoEdoEdoEdoEdoEdoEaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcPGcPHcPHcQacyOcyOcyOcyOcyOcyOcyOcyOcyOcyOcyOcyOcQqcPHcPHcPHcPHcPHcRecTZcTYcUbcUacUecUdcUgcUfcNBcLwcUccRCcKbcKbcKbcUhcMvcSUcUkcUjcUmcFxcUicFycFAcFzcUrcFCcUucUscUxcUwcUycFCcUtcUzcTecUvcRXcRXcRXcUAcPTcSdcSdcSdcFEcFDcFGcFFcFIcFHcFLcFJcUPcUNcUScSqcUVcSncUWcSwcSwcQZcPxcBQcGIcsLctZcmJchfchfcMfchfchfchfcyJcyJcyJcsKchfchfchfctrbQXcGLbQXbQXcepcJKcMgcJKcVecJrcEHcVfcUXcUYcEHcUZcVgcxNcxNcxNcBRaaaaaaaabaabaaaaaaaaaaaaaaabGHcJQcFcbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaabaaaaabaabcSkaabaaaaabcSkaabaaaaabcSkaabaaaaaaaaaaaaaaaaaaaaaaaaaaacRzcRzcRzcVlcVdcVmcRAcVncNBcNNcTccTccTccTccVocTccUfcSUcVhcVicVjcGPcGRcGQcGTcGScGVcGUcGXcGWcGZcGYcHbcHacUtcTjcTecVxcVDcRXcRXcVFcPTcLScOFcSdcVIcQPcVJcVEcVLcVKcVOcVMcVQcVPcVQcVRaabcQZcQZcQZcQZcQZcPxcBPcHcctZctZcmJcKOcAucsLcyJcsLcMfcsLcHdchfchfchfcHechfctrbQXciYbUxcHfcepcJKcJKcJKcWicLUcWpcWjcWqcWfcEHcEHcEHcEHcWgcWrcWwaaaaaaaaaaabaabaaaaaaaaaaaabGHbGHcFcbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwaabcNFcTQcNMaaacNFcTQcNMaaacNFcTQcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaabaabcRzcRAcRAcRAcRAcWkcWlcWmcNBcWncNBcNBcMvcWocNBcSUcWzcWycVjcHhcUicWscWtcWucWucHkcWDcWCcWFaYtaZBcHkcWBcWHcWJcWIcWLcWKcWPcWMcWScMicUGcWTcWUcWNcWOcWVcWWcWRcWYcWXcXbcXacXdcXccQpcSncXecWZcWZcQZcPxcBPcGIcsLcsLcHlchfchfchfcyPcyPchfchfchfchfcHZcIacsLchfctrcIccIbcIbcIbcIbcIbcIbcIbcIbcMjcXvcXtcXzcXxcNocXAcNocXAcNocXBcWwaaaaaaaaaaaaaabaabaaaaaaaaaaaabGHcFcbGHaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNFcTQcNMaabcNFcTQcNMaaacNFcTQcNMaaaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabcXucXucXucXucXucXucXucXCcXucXucSUcXwcXDcVjcHhcUicXycUicUicXEcRRcXGcXFcUwcIdcIecRRcXLcRXcTecXMcXOcXNcWPcXPcXJaZCcXRcXQcXVcXScXRcXWcXYcXXcYacSdcXTcXUcYccYbaabcTocYfcIfcXZcQZcPxcBQcIgdfMdfMcIhcIichfcIkcIjcImcIlcIocInchfcsLcIpcsLchfctrcIqciYbQXcIrcIsciYcIucItcepcMIcMQcMJcNacMIcMQcNbcNccMIcMQcNlcBRaabaabaabaabaabaabaabaabaabaabbGHcFcbGHbGHbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcTQcNMaaacNFcTQcNMaaacNFcTQcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaabaabaabcXucYtcYtcYucYAcYBcYBcYDcYCcYCcYEcYGcYFcVjcHhcVjcYHcVjcVjcVjcRRcYLcIvcIxcIwcIycYIcYJcYQcYRcYMcYMcYMcYXcYUcYZaZHcZacYSbqmcQPcYTcZbcYVcYWcZccSdcXTcZdcZgcZecZhcSncZicWZcWZcQZcPxcBQckKcExchfcyJcJqcyPcJscImcJucJtcJvcsLcJwcYjcIpcJxchfctrcIqciYbQXcpEbQXciYcJzcIrcepcZqcZscZrcxNcZtcZycZvcxNcZzcZBcZAcBRaabaabaaaaaaaaaaaaaaaaaaaaaaaabGHcFcbGGbGGbGHaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcTQcNMaaacNFcTQcNMaabcNFcTQcNMaabaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaacXucYtcYtcYucZucZucZucZCcZwcZxcSUcJBcJAcJDcJCcJFcJEcJHcZFcZFcZLcZOcZNcVjcVjcVjcZPcZRcZQcZMcJIcNXcNVdacdabcSUcZScZSdafbqmcQPcZUdagcZWcZXcZYcSdcZZdahdajdaidadcQZcQZcQZcQZcQZcPxcBQckKdaecsLcyJcJqchfcKvcKucKwcJtcKAcIjcKCcKBcKDcJxchfctrcIqcGLbQXcKEcKFciYcKGbQXcepcMkcJKcJKcxNcMkcJKcJKcxNcMkcJKcJKcBRaaaaabaabaaaaaaaaaaaaaaacuQcuQbGHdaucuQbGGbGHbGHbGHdoEdoEaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcPGcPHcPHcPIcyOcyOcyOcyOcyOcyOcyOcyOcyOcyOcyOcyOcQacPHcPHcPHcPHcPHcQqcTZcTYcUbcUacUecUdcUgcUfcNBcLwcUccRCcKbcKbcKbcUhcMvcSUcUkcUjcUmcFxcUicFycFAcFzcUrcFCcUucUscUxcUwcUycFCcUtcUzcTecUvcRXcRXcRXcUAcPTcSdcSdcSdcFEcFDcFGcFFcFIcFHcFLcFJcUPcUNcUScSqcUVcSncUWcSwcSwcQZcPxcBQcGIcsLctZcmJchfchfcMfchfchfchfcyJcyJcyJcsKchfchfchfctrbQXcGLbQXbQXcepcJKcMgcJKcVecJrcEHcVfcUXcUYcEHcUZcVgcxNcxNcxNcBRaaaaaaaabaabaaaaaaaaaaaaaaabGHcJQcFcbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaabaaaaabaabcReaabaaaaabcReaabaaaaabcReaabaaaaaaaaaaaaaaaaaaaaaaaaaaacRzcRzcRzcVlcVdcVmcRAcVncNBcNNcTccTccTccTccVocTccUfcSUcVhcVicVjcGPcGRcGQcGTcGScGVcGUcGXcGWcGZcGYcHbcHacUtcTjcTecVxcVDcRXcRXcVFcPTcLScOFcSdcVIcQPcVJcVEcVLcVKcVOcVMcVQcVPcVQcVRaabcQZcQZcQZcQZcQZcPxcBPcHcctZctZcmJcKOcAucsLcyJcsLcMfcsLcHdchfchfchfcHechfctrbQXciYbUxcHfcepcJKcJKcJKcWicLUcWpcWjcWqcWfcEHcEHcEHcEHcWgcWrcWwaaaaaaaaaaabaabaaaaaaaaaaaabGHbGHcFcbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwaabcNFcSkcNMaaacNFcSkcNMaaacNFcSkcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaabaabcRzcRAcRAcRAcRAcWkcWlcWmcNBcWncNBcNBcMvcWocNBcSUcWzcWycVjcHhcUicWscWtcWucWucHkcWDcWCcWFaYtaZBcHkcWBcWHcWJcWIcWLcWKcWPcWMcWScMicUGcWTcWUcWNcWOcWVcWWcWRcWYcWXcXbcXacXdcXccQpcSncXecWZcWZcQZcPxcBPcGIcsLcsLcHlchfchfchfcyPcyPchfchfchfchfcHZcIacsLchfctrcIccIbcIbcIbcIbcIbcIbcIbcIbcMjcXvcXtcXzcXxcNocXAcNocXAcNocXBcWwaaaaaaaaaaaaaabaabaaaaaaaaaaaabGHcFcbGHaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNFcSkcNMaabcNFcSkcNMaaacNFcSkcNMaaaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabcXucXucXucXucXucXucXucXCcXucXucSUcXwcXDcVjcHhcUicXycUicUicXEcRRcXGcXFcUwcIdcIecRRcXLcRXcTecXMcXOcXNcWPcXPcXJaZCcXRcXQcXVcXScXRcXWcXYcXXcYacSdcXTcXUcYccYbaabcTocYfcIfcXZcQZcPxcBQcIgdfMdfMcIhcIichfcIkcIjcImcIlcIocInchfcsLcAvcsLchfctrcIqciYbQXcIrcIsciYcIucItcepcMIcMQcMJcNacMIcMQcNbcNccMIcMQcNlcBRaabaabaabaabaabaabaabaabaabaabbGHcFcbGHbGHbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcSkcNMaaacNFcSkcNMaaacNFcSkcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaabaabaabcXucYtcYtcYucYAcYBcYBcYDcYCcYCcYEcYGcYFcVjcHhcVjcYHcVjcVjcVjcRRcYLcIvcIxcIwcIycYIcYJcYQcYRcYMcYMcYMcYXcYUcYZaZHcZacYSbqmcQPcYTcZbcYVcYWcZccSdcXTcZdcZgcZecZhcSncZicWZcWZcQZcPxcBQckKcExchfcyJcJqcyPcJscImcJucJtcJvcsLcJwcYjcAvcTQchfctrcIqciYbQXcpEbQXciYcJzcIrcepcZqcZscZrcxNcZtcZycZvcxNcZzcZBcZAcBRaabaabaaaaaaaaaaaaaaaaaaaaaaaabGHcFcbGGbGGbGHaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcSkcNMaaacNFcSkcNMaabcNFcSkcNMaabaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaacXucYtcYtcYucZucZucZucZCcZwcZxcSUcJBcJAcJDcJCcJFcJEcJHcZFcZFcZLcZOcZNcVjcVjcVjcZPcZRcZQcZMcJIcNXcNVdacdabcSUcZScZSdafbqmcQPcZUdagcZWcZXcZYcSdcZZdahdajdaidadcQZcQZcQZcQZcQZcPxcBQckKdaecsLcyJcJqchfcKvcKucKwcJtcKAcIjcKCcKBcKDcTQchfctrcIqcGLbQXcKEcKFciYcKGbQXcepcMkcJKcJKcxNcMkcJKcJKcxNcMkcJKcJKcBRaaaaabaabaaaaaaaaaaaaaaacuQcuQbGHdaucuQbGGbGHbGHbGHdoEdoEaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamhaabcNFcTRcNMaaacNFcTRcNMaaacNFcTRcNMaabalvaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaabcXudaodapcZucZucZudaxdardardardardardardarcKHcKJcKIcKKdawdawdawdaFdaydaJdaAdaBdawdaydaKdaRcKLcNXcObdacdabdaGdaHdaIdaTdaUdaLdaMdaNcZcdaOdaPdaVdaYdaWcOkcXcdbacSndbcdbbdbbcQZcPxcBPckKchfcBNdaXcJqchfcKNcKMcJtcIjcJtcKScJtcJucJtcsLchfctrcIqciYbQXciYciYciYbQXbQXcepdbfcKZcJKcxNdbfcKZcJKcxNdbfcKZcJKcBRaaaaaaaabaabaaaaaaaaaaaacuQdbgbGGcFccuQdbhcuQdbibGHaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaalvaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaabcXudbjcZucZucZucZucZudardbtdblcOqcOtcOrdarcKUdbqdbrcHhcVjcVjdbsdbBdbydbEdbCdbGdbFdbzcSUdbAcKLcNXcPgdacdbJcSUdbDcZSdbKdbLcSddaMdaNdbNcSddaPdaVcXTcXUcPicYbdbIcTodbScLVdbWcQZcPxcBPckKchfdbMdbMcJqchfcLYcsLcLZcIjcMccMbcMecMdcJGcJvcyPctrcIqciYbQXbQXcMhciYbQXaqFcepdbRcJKcJKcxNdbRcJKcJKcxNdbRcJKcJKcBRaaaaaaaaaaabaabaaaaaaaaacuQbGGbGGcFccuQbGGbGGbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwalwamhalvalvalvalvalwalvalvalwdbTaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXudbUcZwcZucZucZudbVdardblcPkcMOcMTcMScMVcMUcMYcMWcMZcVjdcmdcldchcPlcPEcPDcPWcPFdcndcwdbrcHhcWecPXcZMcQccSUdcscZSdctdcLcSddaMdaNcZccSddcvdaVcXTdcOcQecZedcScSndcTdbbdbbcQZcPxcBQckKdcAcuccABcJqchfchfcNdcNecDncNfcNfcNgchfchfchfchfctrcIqciYbQXcNhcKFciYcepcepcepcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRaaaaaaaaaaaaaabaabaaaaaabGHbGHbGHcFccuQdcJdcKbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwalwamhalvalvalvalvalwalvalvalwdbTaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXudbUcZwcZucZucZudbVdardblcPkcMOcMTcMScMVcMUcMYcMWcMZcVjdcmdcldchcPlcPEcPDcPWcPFdcndcwdbrcHhcWecPXcZMcQccSUdcscZSdctdcLcSddaMdaNcZccSddcvdaVcXTdcOcQecZedcScSndcTdbbdbbcQZcPxcBQckKcTUcuccABcJqchfchfcNdcNecDncNfcNfcNgchfchfchfchfctrcIqciYbQXcNhcKFciYcepcepcepcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRaaaaaaaaaaaaaabaabaaaaaabGHbGHbGHcFccuQdcJdcKbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcXucXucXudcUdcMdcMdcMdardcNcQjdcPdcPdcQdcWdawcNidcXcNkcNjcNjcNWcQVcQFcOaddbcOccQGcQVcOdcOfcOecOhcOgcOicQHddrdbDcZSddmddscSddaMcSdddtcSddaPdaVcXTcXUddxcYbdbIcQZcQZcQZcQZcQZcPxcBQcOjcYlcuccTBcOScOPcOVcOPcOXcsLcsLcsLcsLczfchfcPacPecPbcPfcGLbQXcFvcepcepaaaaaaddFaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaabaaabGHcJQddBddKcuQddJddIbGGbZZaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddLcXucZucZucZudcMaabaabdarddGcQJdcPdcPcQUdarcRgcRwcRrcSvcStcSNcSxcSUcUBcQbddScVjcVccSUcVpcVqcVqcSvcSvcVucVrcSUddZcZSdeadehcSddaMcSdcZUdagdecdeidaYdejdekcXcdelcSndendemdemcQZcPxcBQcsLckKchfchfcPdchfchfcsLcQlcyJcyJcyJcsLcQucGvcQOcQXcQWcDocepcepcepcepaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaabaabbGHdbgcAScaccuQcuQcuQbGGbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcXucZucZucZudcMaabaaadardescQJdcPdcPcVvdardeucQYcSUdeFcRbcRbcRfcSUcVwdeAdeBdeCcVycSUcRbcRbcRbdeFcSUcRhdeucSUdbDcZSdeOdePdeHdeIdeJdeKdeQdeRcXbdeUcXUdeVcYbdbIcTodeXcRideYcQZcPxcBPcBPckKcprdeScRjdeTchfcsLdfadeZdffcRkcRmcRlchfciYciYcRncepcepaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabGHbGHbGHbGHbGHdfhcaccuQdfidfcbGGbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXucXudcMdcUdfdaaaaaadardfecVzdcPdcPcVAdardfwcRodfzdfkcRpcRqcRpdfocVBdfqdfrdfscQHdfocRpcRpcRpdftdfzcRsdfvcSUdbDdfEdaMdfxdfydeQdfFdfGdfBdfIdfHdfKdfJdfNcZedcScSndfOdemdemcQZcPxcBPcsLcOjcSfcScdfgcsKchfdgmcTBcsLcYidfLcsLcYicBNchfcSgcFcbGHaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabGHbGGbGGbGGcJQdfSdfUcuQdfPbGGbGGbGHaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfXdfYdfYdfZdfYdfYdgadardfVcQjdcPdcPcVCdardaGcSicSUcSUdfodfodfodfocVGcVScVNcSvcVTdfodfodfodfocSUcSUcSydglcSUdbDcZSdgrdgsdfydggdghcSdcSddgtcXWdggcXUdgjcYbdbIcQZcQZcQZcQZcQZcPxcBPcTBcsLdgkdgCcsLdgmchfchfdgnchfdgocpscJGcYichfchfcuQcFcbGHaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaabGHbGHcuQdgAdgycJQdfScacbGGbGGbGGdgBbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgDdgudgvdgwdgvdgxdgFdardgzcVWcMMdcPcVXdarcSUcSzcSUdgJafOdgEdfodfodfodfocSAdfodfodfodfodgEafOdgJcSUcSBcSUcSUdbDcZSdgMdeHdgNdgPdgOdgRdgQdgPdgQdgPdgVdeQdgWdbIdmodmodmodmodmocPxdgSdgTdgTdgUdhjdgTdgTdgTdhkdgXdgYdgodgZchfdgochfdhacuQcFcbGHbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbGHbGHbGHbGHbGHbGHbGHbGHbGHcMsbGHcJQcuQdhbbGGcQwdfScaccuQcuQdbhcuQbGHaabdhcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgDdgudgvdgwdgwdhdbJMdardhfcVYdcPdcPcVZdarcSCcSDdhoafOcSEcSFcSFcSFcSFcSFcSIcSFcSFcSFcSFcSFcSMafOdhvcTscTmcSUdhsdaIdhzdhBdhAdhCdhxdhEdhDdhFcSddhHdhGdhJdhIdbIdmoaaaaabaabaaadhMdhLdhOdhNdhTdhSdhVdhUdgTdhYcsLcsLdhPcpsdhQcYicsLcsLcEGdhZdiadiadiadiadiadiadiadiadiadiadiadiadiadiadiediadiadiadiaczLcuQbPAcAUbGGdiccMscuQcuQcuQdbhcuQdfScaccuQdidbGGbGGbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgDdgudgvdhWdgvdhXdifdardfVcQjdcPdcPcWadarcTtdibdibaaacTxafOafOafOafOafOafOafOafOafOafOafOcTxaaadibdibcTtcSUdaGcZSdhIdikdijdipdioditdhIdipdhIcYbdhIcYbdhIdbIdmoaaaalwalwdiudhLdivdiwdildimdindiydixdgTcsLcsLchfdgodiqchfcYicXrdfMdhRdizdiAdiAdiAdiAdiAdiAdiCdiBdiAdiAdiAdiAdiAdiAdiEdiDdiGdiFdiJdiIdiLdiLdiLdiLdiNdiMdiOdiLdiLdiLdiLdiQcjYcuQdfcbGGdiHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadiSdfYdfYdfYdfYdfYdiTdardiKcWbdcPdcPcWcdarcTycTzdiPaabcTxafOdjqaaaaaaaaaaaadjqaaaaaadjqafOcTxaabdiRcTCcTAcSUdaGcSUaabdiUaabdiVdiWdiXdiYdiZdiYdjadiYdjadjbdjcdmoaaaalwaabdjddgSdjedjfdjwdjhdjidjxdjkdgTdjlcsLcsLcYidjmchfcYicYidjzbGHbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHdjobGGcuQcTLbGGcuQcuQbZZbZZcxScuQdjAbGGdjAcuQdjCcacdjrbGHbGHbGHbGHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardjscWbdcPdcPcWddarcTtdibdjvaaacTDcTEaaaaaaaaaaaaaaadjyaaaaaaaaacUlcTFaaadibdibcTtcSUdaGcSUcQZdjBcTodjBcQZdjBcTodjBcQZdjScTodjUcQZaabdmoaaaalwaabdjEdgSdjFdjfdjGdjVdjidjWdjJdjKdirdjYdjMcYicpscsLdjNdgochfcBPaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabGHdjXcLhcuQdjPbGGcuQaaaaaaaaaaaacuQbGGbGGdbgdjQdjQdkadkbdjQaaaaabaabaabaabdjTaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardkccQjdcPdcPcWadarcUncTmdibaaacTxafOaaaaaaaabaabaabaabaabaaaaaaafOcTxaaadibcSCcUocSUdjZcSUcQZdkidkhdkkcQZdkqdkpdkscQZdkwdkudkxcQZaabdmoaaaalwaaadjEdkjdkydkldkmdkndkodkEdkDdgTdkrdgochfdgodkGchfdktdgocBNcBPcBQcBQcBQdmoaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabGHdkFcuQcuQcQCbGGcuQcuQbZZbZZcuQcuQbGGdkvcLhdjQdkIdkHdkMdjQaaaaaaaabaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafOdardardardardardardarcSUcTtdibaaacTxafOdjqaabaabdkzdkAdkBaabdkCaaaafOcTxaaadibcTtcSUcSUdaGcSUcQZdkObbMdkOcQZdkTbbOdkTcQZdkVbdGdkVcQZaabdmoaaaalwaaadjddgSdkJdkKdkLcOQdkWdkYdkXdgTdkPdkQdkZdkSdlacsLcYicYidlbdlddlccsLdlhdmoaaaaabaaabZZbZZbZZbGHbGHbGHbGHbGHbGHdlicJQcuQdljbGGbGGcuQbGGbGGbGGbGGdhbbGGdfPdjQdlodlkdlqdjQaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOaabafOafOaabaabaabalwalwcSUcSUcUpdibaaacTDcTEaaaaaaaabdledlfdlgaabaaaaaacUlcTFaaadibcUqcSUcSUdaGcSUcQZdkOdlvdkOcQZdkTdlwdkTcQZdkVdlxdkVcQZaabdmoaaaalwaaadjddgSdgSdgSdlldlmdlndlydlndlmdkPdlpcsLdlAdlrdfMddHcYidlscBPcBQcBQcBQcTSaabaabaaabZZdlBdlCcuQbGGdlDdlJdbgcuQdlPbGGcuQdlzbGGbGGdlLbGGbGHbGHbGHbZZbZZbGHdjQdlSdlRdlUdjQaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgDdgudgvdgwdgvdgxdgFdardgzcVWcMMdcPcVXdarcSUcSzcSUdgJafOdgEdfodfodfodfocSAdfodfodfodfodgEafOdgJcSUcSBcSUcSUdbDcZSdgMdeHdgNdgPdgOdgRdgQdgPdgQdgPdgVdeQdgWdbIdmodmodmodmodmocPxdgSdgTdgTdgUdhjdgTdgTdgTdhkdgXdgYdgodgZchfdgochfdhacuQcFcbGHbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbGHbGHbGHbGHbGHbGHbGHbGHbGHcMsbGHcJQcuQcTSbGGcQwdfScaccuQcuQdbhcuQbGHaabdhcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgDdgudgvdgwdgwdhdbJMdardhfcVYdcPdcPcVZdarcSCcSDdhoafOcSEcSFcSFcSFcSFcSFcSIcSFcSFcSFcSFcSFcSMafOdhvcTscTmcSUdhsdaIdhzdhBdhAdhCdhxdhEdhDdhFcSddhHdhGdhJdhIdbIdmoaaaaabaabaaadhMdhLcTVcTXcUCcVkcVHcWxdgTdhYcsLcsLdhPcpsdhQcYicTUcsLcEGdhZdiadiadiadiadiadiadiadiadiadiadiadiadiadiadiediadiadiadiaczLcuQbPAcAUbGGdiccMscuQcuQcuQdbhcuQdfScaccuQdidbGGbGGbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgDdgudgvdhWdgvdhXdifdardfVcQjdcPdcPcWadarcTtdibdibaaacTxafOafOafOafOafOafOafOafOafOafOafOcTxaaadibdibcTtcSUdaGcZSdhIdikdijdipdioditdhIdipdhIcYbdhIcYbdhIdbIdmoaaaalwalwdiudhLcXmcYgcYydavdcrdcudcxdgTcsLcsLchfdgodiqchfcYicXrdfMdhRdizdiAdiAdiAdiAdiAdiAdiCdiBdiAdiAdiAdiAdiAdiAdiEdiDcTTdiFdiJdiIdiLdiLdiLdiLdiNdiMdiOdiLdiLdiLdiLdiQcjYcuQdfcbGGdiHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadiSdfYdfYdfYdfYdfYdiTdardiKcWbdcPdcPcWcdarcTycTzdiPaabcTxafOdjqaaaaaaaaaaaadjqaaaaaadjqafOcTxaabdiRcTCcTAcSUdaGcSUaabdiUaabdiVdiWdiXdiYdiZdiYdjadiYdjadjbdjcdmoaaaalwaabdjddgSdcydczdcAdcFdcHdcIdcRdgTdjlcsLcsLcYidjmchfcYicYidjzbGHbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHbZZbZZbZZbZZbGHdjobGGcuQcTLbGGcuQcuQbZZbZZcxScuQdjAbGGdjAcuQdjCcacdjrbGHbGHbGHbGHbGHaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardjscWbdcPdcPcWddarcTtdibdjvaaacTDcTEaaaaaaaaaaaaaaadjyaaaaaaaaacUlcTFaaadibdibcTtcSUdaGcSUcQZdjBcTodjBcQZdjBcTodjBcQZdjScTodjUcQZaabdmoaaaalwaabdjEdgSdcVdczddaddcdcHdddddedjKdirdjYdjMcYicpscsLdjNdgochfcBPaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabGHdjXcLhcuQdjPbGGcuQaaaaaaaaaaaacuQbGGbGGdbgdjQdjQdkadkbdjQaaaaabaabaabaabdjTaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadardkccQjdcPdcPcWadarcUncTmdibaaacTxafOaaaaaaaabaabaabaabaabaaaaaaafOcTxaaadibcSCcUocSUdjZcSUcQZdkidkhdkkcQZdkqdkpdkscQZdkwdkudkxcQZaabdmoaaaalwaaadjEdkjddfddgddhddiddjddkddldgTdkrdgochfdgodkGchfdktdgocBNcBPcBQcBQcBQdmoaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabGHdkFcuQcuQcQCbGGcuQcuQbZZbZZcuQcuQbGGdkvcLhdjQdkIdkHdkMdjQaaaaaaaabaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafOdardardardardardardarcSUcTtdibaaacTxafOdjqaabaabdkzdkAdkBaabdkCaaaafOcTxaaadibcTtcSUcSUdaGcSUcQZdkObbMdkOcQZdkTbbOdkTcQZdkVbdGdkVcQZaabdmoaaaalwaaadjddgSddnddoddpddqddvddyddzdgTdkPdkQdkZdkSdlacsLcYicYidlbdlddlccsLdlhdmoaaaaabaaabZZbZZbZZbGHbGHbGHbGHbGHbGHdlicJQcuQdljbGGbGGcuQbGGbGGbGGbGGcTSbGGdfPdjQdlodlkdlqdjQaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabafOaabafOafOaabaabaabalwalwcSUcSUcUpdibaaacTDcTEaaaaaaaabdledlfdlgaabaaaaaacUlcTFaaadibcUqcSUcSUdaGcSUcQZdkOdlvdkOcQZdkTdlwdkTcQZdkVdlxdkVcQZaabdmoaaaalwaaadjddgSdgSdgSdlldlmdlndlydlndlmdkPdlpcsLdlAdlrdfMddHcYidlscBPcBQcBQcBQddAaabaabaaabZZdlBdlCcuQbGGdlDdlJdbgcuQdlPbGGcuQdlzbGGbGGdlLbGGbGHbGHbGHbZZbZZbGHdjQdlSdlRdlUdjQaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabaaaaaaaabaabalwcSUcSUcTtdibaaacTxafOaaadlEaabdlFdlGdlHaabaabdjqafOcTxaaadibcTtcSUcSUdaGcSUcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZcQZaabdmoaaaayiaaadjdaaaaaaaaadlIdlmdlVdlXdlWdlmcsLdlMcsLcsLdlNdlOcXrdmcdlQcBPaaaaaaaaaaaaaaaaabaaabZZdlZdmbdlLbGGdgybGGbGGdlLdjobGGcuQcuQcuQcuQcuQbGGbGHaabaaaaaaaaaaabdlTdlTdmddlTdlTaabaabdhcaabaabdjTaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcSUcSCcUodibaaacTxafOaaaaaaaabaabaabaabaabaaaaaaafOcTxaaadibcUncTmcSUdmecSUcSUcSUcSUcTTdmodmodmodmodmodmodmodmodmodmodmoaabaabaabdjEaaaaaaaaadlYdlmdlndmhdlndlmdmadmidfMdfMdmldmrdmmcBPcBPcBPaaaaaaaaaaaaaaaaabaaabZZdlBdmncuQdbgbGGbGGdmpcuQdmqbGGbGGbGGbGGbGGbGGbGGbGHaabaaaaaaaaaaabaaadlTdmsdlTaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabcSUcSCcUodibaaacTxafOaaaaaaaabaabaabaabaabaaaaaaafOcTxaaadibcUncTmcSUdmecSUcSUcSUcSUddCdmodmodmodmodmodmodmodmodmodmodmoaabaabaabdjEaaaaaaaaadlYdlmdlndmhdlndlmdmadmidfMdfMdmldmrdmmcBPcBPcBPaaaaaaaaaaaaaaaaabaaabZZdlBdmncuQdbgbGGbGGdmpcuQdmqbGGbGGbGGbGGbGGbGGbGGbGHaabaaaaaaaaaaabaaadlTdmsdlTaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaabcSUcTtdibdmjaaacTDcTEaaaaaaaaaaabaaaaaaaaaaaaaaacUlcTFaaadibdibcTtcSUdmkcQRdmvdaGdcqdmoaabaabaabaabaabaabaabdmoaabaabaabaabaabaabdjEaabaabaabdlYdlmdmydmAdmzdmEaabdmacBPcBQdmtcBQcBPcBPaaaaabaaaaaaaaaaaaaaaaabaabbZZbZZbZZbGHbGHbGHbGGcuQbGHdmubGHbGHdbgbPAcLhbKlcMsbGHaabaaaaaaaaaaabaaadlTdmGdlTaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcSUcUDdbudiPaabcTxafOdjqaaaaaadjqaaaaaaaaaaaadjqafOcTxaaadiRdbQcUEcSUdmLcSUcSUcSUcSUcSUcSUaaaaaaaabaaaaaaaaadmoaaaaaadmBdmBdmBdmBdmCaaaaaaaabdlYdmDdlmdmOdlmdlmaaaaabaaaaaadmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaabGHdmbdmMbGHdmNaabbGHbGHbZZbZZcMsbGHaaaaabaaaaaaaaaaabaaaaaacTUaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUcUFcUIcUHaaacTxafOafOdcfafOafOdcfafOafOdcfafOafOcTxaaacUJcUIcUKcSUdmPdmQdnjdnldnkcSQdmVdmWdmWdmXdmWdmWdmWcTVdmWdmWdmZdnadnbdnodmCaaaaaaaabdnddmodlmdnedlmcTXaabaabaaaaaadngaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaabpaaaaaabGHdnqdnnbGHdnpaabaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaacUCaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnscSUcSUcULaaacUMcSFcSFcUOcSFcSFcUOcSFcSFcUOcSFcSFcUQaaacULcSUcSUcSUdmPdnBdnAdnEdnCdnHdfoaaaaaaaabaaaaaaaaadmodmBdmBdmBbfmbJNdnvdmCaaaaaaaabaabdmodnxdnIdnxdmoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaabZZdnJbZZbZZaabdhcaaaaabaaaaaaaabaaaamWamWalwayiaabaabaabaabcUCaabaabaabaabdhcamhamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcSUcYXcURcUHaabaabaabaabaaaaaaaaaaaaaaaaabaabaabaabcUJcUUcYXcSUcSUdnDcSUcSUcSUcSUdfocSUaabaabaabaabaabaabcVkbfubjbbhybkJdnGdnFdmCaaaaaaaaaaabdmoaaaaaaaaadmoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaabZZdnPbZZaaaaaaaaaaaaaabaaaaaaaabaaaamWaaaaaaaabaaaaabaaaaaacVHaaaaaaaabaaaaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaacSUcSUcURcVacVacVacVacVacVacVacVacVacVacVacVacVacUUcSUcSUcSUdnKdnScSUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWxdnTdnWdnVdobdoadofdoeaaaaaaaaaaabdmodmodmodmodmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaabZZdogbZZaaaaaaaaaaaaaabaaaaaaaabaaaamWaaadohdohdohdohdohaabcTWaabdohdohdohdohdohaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUaaacSUcSUdnXcSUcSUcSUcSUaaaaaaaaaaaaaaaaaaaaaaaacPxdnZdnZdnZdnZdojdokdocdoddolaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaabZZdombZZaaaaaaaaaaaaaaaaaaaaaaabaaaamWaabcXmcYgcYgcYgcYgcYycTWdavdcrdcrdcrdcrdcuaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUdaGdaGdcxdoudoudowaaaaaaaaaaaaaaaaaaaaaaaadjdaaadnZdnZdoydoxdoAdnZdnZdnZdnZdnZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdcydoEdoEaaaaaaaaaaaaaaaaaaaaaaabaaaamWaabdoGdoGdoGdoGdoGaaacTWaaadoGdoGdoGdoGdoGaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcSUcUDdbudiPaabcTxafOdjqaaaaaadjqaaaaaaaaaaaadjqafOcTxaaadiRdbQcUEcSUdmLcSUcSUcSUcSUcSUcSUaaaaaaaabaaaaaaaaadmoaaaaaadmBdmBdmBdmBdmCaaaaaaaabdlYdmDdlmdmOdlmdlmaaaaabaaaaaadmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaabGHdmbdmMbGHdmNaabbGHbGHbZZbZZcMsbGHaaaaabaaaaaaaaaaabaaaaaaddDaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUcUFcUIcUHaaacTxafOafOdcfafOafOdcfafOafOdcfafOafOcTxaaacUJcUIcUKcSUdmPdmQdnjdnldnkcSQdmVdmWdmWdmXdmWdmWdmWddEdmWdmWdmZdnadnbdnodmCaaaaaaaabdnddmodlmdnedlmddMaabaabaaaaaadngaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaabpaaaaaabGHdnqdnnbGHdnpaabaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaaddNaaaaaaaabaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnscSUcSUcULaaacUMcSFcSFcUOcSFcSFcUOcSFcSFcUOcSFcSFcUQaaacULcSUcSUcSUdmPdnBdnAdnEdnCdnHdfoaaaaaaaabaaaaaaaaadmodmBdmBdmBbfmbJNdnvdmCaaaaaaaabaabdmodnxdnIdnxdmoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaabZZdnJbZZbZZaabdhcaaaaabaaaaaaaabaaaamWamWalwayiaabaabaabaabddNaabaabaabaabdhcamhamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcSUcYXcURcUHaabaabaabaabaaaaaaaaaaaaaaaaabaabaabaabcUJcUUcYXcSUcSUdnDcSUcSUcSUcSUdfocSUaabaabaabaabaabaabddObfubjbbhybkJdnGdnFdmCaaaaaaaaaaabdmoaaaaaaaaadmoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaabZZdnPbZZaaaaaaaaaaaaaabaaaaaaaabaaaamWaaaaaaaabaaaaabaaaaaaddPaaaaaaaabaaaaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaacSUcSUcURcVacVacVacVacVacVacVacVacVacVacVacVacVacUUcSUcSUcSUdnKdnScSUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddQdnTdnWdnVdobdoadofdoeaaaaaaaaaaabdmodmodmodmodmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaabZZdogbZZaaaaaaaaaaaaaabaaaaaaaabaaaamWaaadohdohdohdohdohaabcTWaabdohdohdohdohdohaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUcSUaaacSUcSUdnXcSUcSUcSUcSUaaaaaaaaaaaaaaaaaaaaaaaacPxdnZdnZdnZdnZdojdokdocdoddolaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaabZZdombZZaaaaaaaaaaaaaaaaaaaaaaabaaaamWaabddRddTddTddTddTddUcTWddVddWddWddWddWddXaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUdaGdaGddYdoudoudowaaaaaaaaaaaaaaaaaaaaaaaadjdaaadnZdnZdoydoxdoAdnZdnZdnZdnZdnZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdebdoEdoEaaaaaaaaaaaaaaaaaaaaaaabaaaamWaabdoGdoGdoGdoGdoGaaacTWaaadoGdoGdoGdoGdoGaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUdjZdaGdoLdoIdoMdozaaaaaaaaaaaaaaaaaaaaaaaadjdaaadnZdoNdoOdoCdoDdoQdoSdoRdoHdnZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaabaaaamWaaaaabaaaaabaabaabaaacTWaaaaabaaaaabaaaaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUdoJdaGdczdoudoudoVaaaaaaaaaaaaaaaaaaaaaaaadjdaaadnZdoWdoYdoXdoPdoZdpcdpadpgdnZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaamWaaadohdohdohdohdohaabcTWaabdohdohdohdohdohaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnscSUcSUcSUcSUcSUcSUaaaaaaaaaaaaaaaaaaaabaabdjEaabdnZdphdpjdpidpndpkdpsdprdpbdnZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabcXmcYgcYgcYgcYgcYycTWdavdcrdcrdcrdcrdcFaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSUdoJdaGdeddoudoudoVaaaaaaaaaaaaaaaaaaaaaaaadjdaaadnZdoWdoYdoXdoPdoZdpcdpadpgdnZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaamWaaadohdohdohdohdohaabcTWaabdohdohdohdohdohaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnscSUcSUcSUcSUcSUcSUaaaaaaaaaaaaaaaaaaaabaabdjEaabdnZdphdpjdpidpndpkdpsdprdpbdnZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabddRddTddTddTddTddUcTWddVddWddWddWddWdeeaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdpddpedpddpfdpudpwdpvdpydpxdpfdpfdpfdpfaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabdoGdoGdoGdoGdoGaaacTWaabdoGdoGdoGdoGdoGaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpddpldpmdpddpfdpfdpzdpodpfdppdpqdpqdppdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayiaaaaabaaaaabaaaaabaaadcHaaaaabaaaaabaabaabaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpCdpEdpDdpFdpfdpIdpHdpJdpfdpKdpAdpAdpLdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaaadohdohdohdohdohaabcUCaabdohdohdohdohdohaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpMdpOdpNdpPdpGdpRdpQdpSdpGdpUdpTdpWdpVdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabcXmcYgcYgcYgcYgdcIdcRdcIdcrdcrdcrdcrdcFaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaadpddpZdqbdqadqddqcdqfdqedqhdqgdqjdqidqldqkdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabdoGdoGdoGdoGdoGaaacUCaaadoGdoGdoGdoGdoGaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpddqqdqodqsdpfdqxdqtdcpdpfdqCdqBdqEdppdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaaaaaaaabaabaabaaaaaacUCaabaaaaaaaabaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdqmdqpdqFdqpdqmdqmdqGdqrdqmdqpdqHdqpdqmaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWamWamWamWamWaaaaaaaaacUCaaaaaaaaaamWamWamWayiamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqmdisdqudqpdqvdqwdqIdqydqvdqpdqJdqAdqmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabdcVaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpddpldpmdpddpfdpfdpzdpodpfdppdpqdpqdppdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayiaaaaabaaaaabaaaaabaaadefaaaaabaaaaabaabaabaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpCdpEdpDdpFdpfdpIdpHdpJdpfdpKdpAdpAdpLdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaaadohdohdohdohdohaabddNaabdohdohdohdohdohaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpMdpOdpNdpPdpGdpRdpQdpSdpGdpUdpTdpWdpVdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabddRddTddTddTddTdegdeodegddWddWddWddWdeeaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaadpddpZdqbdqadqddqcdqfdqedqhdqgdqjdqidqldqkdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabdoGdoGdoGdoGdoGaaaddNaaadoGdoGdoGdoGdoGaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpddpddqqdqodqsdpfdqxdqtdcpdpfdqCdqBdqEdppdppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaaaaaaaabaabaabaaaaaaddNaabaaaaaaaabaabaaaaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdqmdqpdqFdqpdqmdqmdqGdqrdqmdqpdqHdqpdqmaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWamWamWamWamWaaaaaaaaaddNaaaaaaaaaamWamWamWayiamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqmdisdqudqpdqvdqwdqIdqydqvdqpdqJdqAdqmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaabdepaabamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdqmdqndqudqpdqvdqwdqIdqydqvdqpdqJdqDdqmaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWaaaaabaaaamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqLdqmdqmdqudqpdqMdqwdqNdqPdqOdqpdqJdqmdqmdqQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamWamWamWamWamWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdqmdqRdqpdqTdqwdqIdqydqvdqpdqUdqmaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm
index 84182a32068..b1c0544ecfa 100644
--- a/_maps/map_files/cyberiad/z2.dmm
+++ b/_maps/map_files/cyberiad/z2.dmm
@@ -1,512 +1,459 @@
-"aa" = (/obj/docking_port/stationary/transit{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_transit"; name = "syndicate in transit"; width = 18},/turf/space/transit,/area/space)
+"aa" = (/obj/docking_port/stationary/transit{dheight = 9;dir = 2;dwidth = 5;height = 22;id = "syndicate_transit";name = "syndicate in transit";width = 18},/turf/space/transit,/area/space)
"ab" = (/turf/unsimulated/floor/snow,/area/syndicate_mothership)
"ac" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow,/area/syndicate_mothership)
"ad" = (/obj/structure/flora/bush,/turf/unsimulated/floor/snow,/area/syndicate_mothership)
"ae" = (/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
-"af" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"af" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"ag" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"ah" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea)
"ai" = (/turf/unsimulated/floor/snow,/area/space)
-"aj" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/syndicate_mothership)
-"ak" = (/turf/unsimulated/wall/fakeglass{dir = 0; icon_state = "fakewindows"; tag = "icon-fakewindows (EAST)"},/area/syndicate_mothership)
-"al" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"am" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHEAST)"; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership)
-"an" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)"; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
-"ao" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)"; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
+"aj" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/syndicate_mothership)
+"ak" = (/turf/unsimulated/wall/fakeglass{dir = 0;icon_state = "fakewindows";tag = "icon-fakewindows (EAST)"},/area/syndicate_mothership)
+"al" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"am" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHEAST)";icon_state = "gravsnow_corner";dir = 6},/area/syndicate_mothership)
+"an" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)";icon_state = "gravsnow_corner";dir = 10},/area/syndicate_mothership)
+"ao" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)";icon_state = "gravsnow_corner";dir = 4},/area/syndicate_mothership)
"ap" = (/turf/space/transit/east{dir = 8},/area/space)
"aq" = (/turf/space/transit/horizontal{dir = 4},/area/space)
-"ar" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 1; height = 4; id = "pod3_transit"; name = "pod 3 in transit"; width = 3},/turf/space/transit/east{dir = 8},/area/space)
-"as" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 10; height = 35; id = "whiteship_transit"; name = "whiteship in transit"; width = 21},/turf/space/transit/horizontal{dir = 4},/area/space)
+"ar" = (/obj/docking_port/stationary/transit{dir = 4;dwidth = 1;height = 4;id = "pod3_transit";name = "pod 3 in transit";width = 3},/turf/space/transit/east{dir = 8},/area/space)
+"as" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 10;height = 35;id = "whiteship_transit";name = "whiteship in transit";width = 21},/turf/space/transit/horizontal{dir = 4},/area/space)
"at" = (/turf/unsimulated/wall,/area/vox_station)
"au" = (/turf/unsimulated/floor/vox,/area/vox_station)
-"av" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 1; height = 4; id = "pod4_transit"; name = "pod 4 in transit"; width = 3},/turf/space/transit/east{dir = 8},/area/space)
-"aw" = (/obj/docking_port/stationary/transit{dir = 1; dwidth = 1; height = 4; id = "pod1_transit"; name = "pod 1 in transit"; width = 3},/turf/space/transit,/area/space)
-"ax" = (/obj/docking_port/stationary/transit{dir = 1; dwidth = 1; height = 4; id = "pod2_transit"; name = "pod 2 in transit"; width = 3},/turf/space/transit,/area/space)
+"av" = (/obj/docking_port/stationary/transit{dir = 4;dwidth = 1;height = 4;id = "pod4_transit";name = "pod 4 in transit";width = 3},/turf/space/transit/east{dir = 8},/area/space)
+"aw" = (/obj/docking_port/stationary/transit{dir = 1;dwidth = 1;height = 4;id = "pod1_transit";name = "pod 1 in transit";width = 3},/turf/space/transit,/area/space)
+"ax" = (/obj/docking_port/stationary/transit{dir = 1;dwidth = 1;height = 4;id = "pod2_transit";name = "pod 2 in transit";width = 3},/turf/space/transit,/area/space)
"ay" = (/obj/vox/win_button,/turf/unsimulated/floor/vox{icon_state = "light_on"},/area/vox_station)
-"az" = (/obj/docking_port/stationary{dir = 1; dwidth = 1; height = 4; id = "pod1_away"; name = "recovery ship bay 1"; width = 3},/turf/space,/area/space)
-"aA" = (/obj/docking_port/stationary{dir = 1; dwidth = 1; height = 4; id = "pod2_away"; name = "recovery ship bay 2"; width = 3},/turf/space,/area/space)
+"az" = (/obj/docking_port/stationary{dir = 1;dwidth = 1;height = 4;id = "pod1_away";name = "recovery ship bay 1";width = 3},/turf/space,/area/space)
+"aA" = (/obj/docking_port/stationary{dir = 1;dwidth = 1;height = 4;id = "pod2_away";name = "recovery ship bay 2";width = 3},/turf/space,/area/space)
"aB" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/plating,/area/centcom/evac)
-"aC" = (/obj/docking_port/stationary{dir = 4; dwidth = 1; height = 4; id = "pod3_away"; name = "recovery ship bay 3"; width = 3},/turf/space,/area/space)
-"aD" = (/obj/docking_port/stationary{dir = 4; dwidth = 1; height = 4; id = "pod4_away"; name = "recovery ship bay 4"; width = 3},/turf/space,/area/space)
-"aE" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 5; id = "laborcamp_transit"; name = "labor in transit"; width = 9},/turf/space/transit,/area/space)
-"aF" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/vox_station)
-"aG" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/vox_station)
-"aH" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/vox_station)
+"aC" = (/obj/docking_port/stationary{dir = 4;dwidth = 1;height = 4;id = "pod3_away";name = "recovery ship bay 3";width = 3},/turf/space,/area/space)
+"aD" = (/obj/docking_port/stationary{dir = 4;dwidth = 1;height = 4;id = "pod4_away";name = "recovery ship bay 4";width = 3},/turf/space,/area/space)
+"aE" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 2;height = 5;id = "laborcamp_transit";name = "labor in transit";width = 9},/turf/space/transit,/area/space)
+"aF" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/vox_station)
+"aG" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/vox_station)
+"aH" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/vox_station)
"aI" = (/obj/machinery/door/airlock/centcom,/turf/unsimulated/floor/vox,/area/vox_station)
"aJ" = (/obj/structure/girder/displaced,/turf/unsimulated/floor/vox,/area/vox_station)
"aK" = (/obj/structure/closet/crate,/turf/unsimulated/floor/vox,/area/vox_station)
-"aL" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"aM" = (/obj/structure/chair/comfy/red,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
+"aL" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"aN" = (/turf/space,/area/space)
-"aO" = (/turf/unsimulated/wall{tag = "icon-iron6"; icon_state = "iron6"},/area/space)
-"aP" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
-"aQ" = (/turf/unsimulated/wall{tag = "icon-iron14"; icon_state = "iron14"},/area/space)
-"aR" = (/turf/unsimulated/wall{tag = "icon-iron10"; icon_state = "iron10"},/area/space)
-"aS" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea)
-"aT" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership)
-"aU" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding5"; icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea)
-"aV" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aW" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/unsimulated/floor/snow; width = 18},/turf/space,/area/space)
-"aX" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTHEAST)"; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership)
-"aY" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
-"aZ" = (/obj/machinery/light{dir = 1; on = 1},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"ba" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)"; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
-"bb" = (/obj/machinery/light{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"bc" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)"; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
-"bd" = (/obj/machinery/door/airlock/centcom{name = "Shuttle Dock #2"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"aO" = (/turf/unsimulated/wall{tag = "icon-iron6";icon_state = "iron6"},/area/space)
+"aP" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
+"aQ" = (/turf/unsimulated/wall{tag = "icon-iron14";icon_state = "iron14"},/area/space)
+"aR" = (/turf/unsimulated/wall{tag = "icon-iron10";icon_state = "iron10"},/area/space)
+"aS" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)";icon_state = "gravsnow_corner";dir = 10},/area/syndicate_mothership)
+"aT" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/syndicate_mothership)
+"aU" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"aV" = (/obj/machinery/door/airlock/external{id_tag = "syndicate_away";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aW" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership;dheight = 9;dir = 2;dwidth = 5;height = 22;id = "syndicate_away";name = "syndicate recon outpost";turf_type = /turf/unsimulated/floor/snow;width = 18},/turf/space,/area/space)
+"aX" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTHEAST)";icon_state = "gravsnow_corner";dir = 5},/area/syndicate_mothership)
+"aY" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'.";name = "\improper FOURTH WALL";pixel_x = -32},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
+"aZ" = (/obj/machinery/light{dir = 1;on = 1},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"ba" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)";icon_state = "gravsnow_corner";dir = 1},/area/syndicate_mothership)
+"bb" = (/obj/machinery/light{dir = 4},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"bc" = (/turf/unsimulated/floor/snow,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)";icon_state = "gravsnow_corner";dir = 1},/area/syndicate_mothership)
+"bd" = (/obj/machinery/door/airlock/centcom{name = "Shuttle Dock #2";opacity = 1;req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"be" = (/obj/machinery/computer/shuttle/ert,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"bf" = (/obj/machinery/door/airlock/external{id_tag = "specops_away"; name = "Shuttle Hatch"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
-"bg" = (/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 11; id = "specops_away"; name = "centcom bay 3"; width = 5},/turf/space,/area/space)
+"bf" = (/obj/machinery/door/airlock/external{id_tag = "specops_away";name = "Shuttle Hatch";req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "vault";dir = 5},/area/centcom/specops)
+"bg" = (/obj/docking_port/stationary{dir = 8;dwidth = 2;height = 11;id = "specops_away";name = "centcom bay 3";width = 5},/turf/space,/area/space)
"bh" = (/obj/structure/kitchenspike,/turf/unsimulated/floor/vox,/area/vox_station)
"bi" = (/obj/structure/table/wood,/turf/unsimulated/floor/vox,/area/vox_station)
-"bj" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
"bk" = (/obj/machinery/door/airlock/centcom{opacity = 1},/turf/unsimulated/floor/vox,/area/vox_station)
"bl" = (/turf/unsimulated/floor/plating/vox,/area/vox_station)
-"bm" = (/obj/docking_port/stationary/transit{dir = 2; dwidth = 2; height = 18; id = "skipjack_transit"; name = "skipjack in transit"; width = 19},/turf/space/transit,/area/space)
-"bn" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_away"; name = "vox bay 1"; width = 19},/turf/space,/area/space)
-"bo" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 3; height = 5; id = "mining_transit"; name = "mining in transit"; width = 7},/turf/space/transit,/area/space)
-"bp" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area/space)
-"bq" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"br" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid6"; icon_state = "asteroid6"; dir = 2},/area/holodeck/source_desert)
-"bs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area/space)
+"bm" = (/obj/docking_port/stationary/transit{dir = 2;dwidth = 2;height = 18;id = "skipjack_transit";name = "skipjack in transit";width = 19},/turf/space/transit,/area/space)
+"bn" = (/obj/docking_port/stationary{dir = 2;dwidth = 2;height = 18;id = "skipjack_away";name = "vox bay 1";width = 19},/turf/space,/area/space)
+"bo" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 3;height = 5;id = "mining_transit";name = "mining in transit";width = 7},/turf/space/transit,/area/space)
+"bp" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{tag = "icon-iron3";icon_state = "iron3"},/area/space)
+"bq" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_desert)
+"br" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid6";icon_state = "asteroid6";dir = 2},/area/holodeck/source_desert)
+"bs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3";icon_state = "iron3"},/area/space)
"bt" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
"bu" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"bv" = (/obj/effect/landmark/costume,/obj/structure/rack/holorack,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"bw" = (/obj/structure/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"bx" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
-"by" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating)
-"bz" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest)
-"bA" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt)
-"bB" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt)
-"bC" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt)
-"bD" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area/space)
-"bE" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"bF" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid8 (EAST)"; icon_state = "asteroid8"; dir = 4},/area/holodeck/source_desert)
+"bv" = (/obj/effect/landmark/costume,/obj/structure/rack/holorack,/turf/simulated/floor/holofloor{tag = "icon-cult";icon_state = "cult";dir = 2},/area/holodeck/source_theatre)
+"bw" = (/obj/structure/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{tag = "icon-cult";icon_state = "cult";dir = 2},/area/holodeck/source_theatre)
+"bx" = (/turf/simulated/floor/holofloor{icon_state = "engine";name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
+"by" = (/turf/simulated/floor/holofloor{icon_state = "engine";name = "Holodeck Projector Floor"},/area/holodeck/source_plating)
+"bz" = (/turf/simulated/floor/holofloor{icon_state = "engine";name = "Burn-Mix Floor";nitrogen = 0;oxygen = 2500;temperature = 370;toxins = 5000},/area/holodeck/source_burntest)
+"bA" = (/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_emptycourt)
+"bB" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_emptycourt)
+"bC" = (/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_emptycourt)
+"bD" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3";icon_state = "iron3"},/area/space)
+"bE" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_desert)
+"bF" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid8 (EAST)";icon_state = "asteroid8";dir = 4},/area/holodeck/source_desert)
"bG" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
"bH" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"bI" = (/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"bJ" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
-"bK" = (/obj/effect/landmark{name = "Atmospheric Test Start"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest)
-"bL" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt)
+"bI" = (/turf/simulated/floor/holofloor{tag = "icon-cult";icon_state = "cult";dir = 2},/area/holodeck/source_theatre)
+"bJ" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine";name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
+"bK" = (/obj/effect/landmark{name = "Atmospheric Test Start"},/turf/simulated/floor/holofloor{icon_state = "engine";name = "Burn-Mix Floor";nitrogen = 0;oxygen = 2500;temperature = 370;toxins = 5000},/area/holodeck/source_burntest)
+"bL" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_emptycourt)
"bM" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt)
-"bN" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt)
-"bO" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid2 (EAST)"; icon_state = "asteroid2"; dir = 4},/area/holodeck/source_desert)
-"bP" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding9"; icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea)
-"bQ" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6"; icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea)
-"bR" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"bS" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid11 (EAST)"; icon_state = "asteroid11"; dir = 4},/area/holodeck/source_desert)
-"bT" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"bU" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{tag = "icon-siding1"; icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre)
-"bV" = (/turf/simulated/floor/holofloor{tag = "icon-rampbottom"; icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre)
+"bN" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_emptycourt)
+"bO" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid2 (EAST)";icon_state = "asteroid2";dir = 4},/area/holodeck/source_desert)
+"bP" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)";icon_state = "wood_siding2";dir = 4},/area/holodeck/source_picnicarea)
+"bQ" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)";icon_state = "wood_siding2";dir = 4},/area/holodeck/source_picnicarea)
+"bR" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_desert)
+"bS" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid11 (EAST)";icon_state = "asteroid11";dir = 4},/area/holodeck/source_desert)
+"bT" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"bU" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)";icon_state = "wood";dir = 4},/turf/simulated/floor/holofloor{tag = "icon-siding1";icon_state = "siding1";dir = 2},/area/holodeck/source_theatre)
+"bV" = (/turf/simulated/floor/holofloor{tag = "icon-rampbottom";icon_state = "rampbottom";dir = 2},/area/holodeck/source_theatre)
"bW" = (/turf/space/transit/horizontal,/area/space)
-"bX" = (/obj/docking_port/stationary/transit{dwidth = 3; height = 5; id = "science_transit"; name = "science in transit"; turf_type = /turf/space/transit/horizontal; width = 7},/turf/space/transit/horizontal,/area/space)
-"bY" = (/obj/docking_port/stationary/transit{dir = 2; dwidth = 8; height = 15; id = "admin_transit"; name = "admin in transit"; width = 18},/turf/space/transit/horizontal,/area/space)
+"bX" = (/obj/docking_port/stationary/transit{dwidth = 3;height = 5;id = "science_transit";name = "science in transit";turf_type = /turf/space/transit/horizontal;width = 7},/turf/space/transit/horizontal,/area/space)
+"bY" = (/obj/docking_port/stationary/transit{dir = 2;dwidth = 8;height = 15;id = "admin_transit";name = "admin in transit";width = 18},/turf/space/transit/horizontal,/area/space)
"bZ" = (/turf/unsimulated/wall,/area/space)
-"ca" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid7"; icon_state = "asteroid7"; dir = 2},/area/holodeck/source_desert)
-"cb" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10"; icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea)
-"cc" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"cd" = (/obj/structure/table/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"ce" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea)
-"cf" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/area/holodeck/source_theatre)
-"cg" = (/turf/simulated/floor/holofloor{tag = "icon-carpet6-2 (EAST)"; icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre)
-"ch" = (/turf/simulated/floor/holofloor{tag = "icon-carpet14-10 (EAST)"; icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre)
-"ci" = (/turf/simulated/floor/holofloor{tag = "icon-carpet10-8 (EAST)"; icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre)
+"ca" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid7";icon_state = "asteroid7";dir = 2},/area/holodeck/source_desert)
+"cb" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding5";icon_state = "wood_siding5";dir = 2},/area/holodeck/source_picnicarea)
+"cd" = (/obj/structure/table/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"ce" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding9";icon_state = "wood_siding9";dir = 2},/area/holodeck/source_picnicarea)
+"cf" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)";icon_state = "wood";dir = 4},/area/holodeck/source_theatre)
+"cg" = (/turf/simulated/floor/holofloor{tag = "icon-carpet6-2 (EAST)";icon_state = "carpet6-2";dir = 4},/area/holodeck/source_theatre)
+"ch" = (/turf/simulated/floor/holofloor{tag = "icon-carpet14-10 (EAST)";icon_state = "carpet14-10";dir = 4},/area/holodeck/source_theatre)
+"ci" = (/turf/simulated/floor/holofloor{tag = "icon-carpet10-8 (EAST)";icon_state = "carpet10-8";dir = 4},/area/holodeck/source_theatre)
"cj" = (/turf/unsimulated/wall,/area/centcom/ferry)
"ck" = (/turf/space/transit,/area/space)
-"cl" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 11; height = 13; id = "emergency_transit"; name = "emergency in transit"; width = 24},/turf/space/transit,/area/space)
-"cm" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 5; height = 7; id = "supply_transit"; name = "supply in transit"; width = 12},/turf/space/transit,/area/space)
-"cn" = (/obj/machinery/door/airlock/external{aiControlDisabled = 1; frequency = 1379; hackProof = 1; icon_state = "door_locked"; id_tag = "emergency_away"; locked = 1; name = "Arrival Airlock"; req_access = null; req_access_txt = "0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
+"cl" = (/obj/docking_port/stationary/transit{dir = 4;dwidth = 11;height = 13;id = "emergency_transit";name = "emergency in transit";width = 24},/turf/space/transit,/area/space)
+"cm" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 5;height = 7;id = "supply_transit";name = "supply in transit";width = 12},/turf/space/transit,/area/space)
+"cn" = (/obj/machinery/door/airlock/external{aiControlDisabled = 1;frequency = 1379;hackProof = 1;icon_state = "door_locked";id_tag = "emergency_away";locked = 1;name = "Arrival Airlock";req_access = null;req_access_txt = "0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
"co" = (/obj/machinery/computer/cryopod{pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"cp" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry)
-"cq" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/ferry)
+"cq" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/centcom/ferry)
"cr" = (/turf/unsimulated/floor{name = "plating"},/area/space)
-"cs" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/ferry)
-"ct" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5"; icon_state = "asteroid5"; dir = 2},/area/holodeck/source_desert)
-"cu" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea)
-"cv" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dir = 1; dwidth = 11; height = 18; id = "emergency_syndicate"; name = "404 Not Found"; turf_type = /turf/unsimulated/floor/snow; width = 29},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
-"cw" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)"; icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre)
-"cx" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)"; icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre)
-"cy" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)"; icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre)
-"cz" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cA" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cB" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (SOUTHEAST)"; icon_state = "fakewindows"; dir = 6},/area/centcom/ferry)
-"cC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry)
-"cD" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cE" = (/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_away"; name = "centcom bay 2"; width = 5},/turf/space,/area/space)
-"cF" = (/turf/unsimulated/floor{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/centcom/ferry)
-"cG" = (/obj/machinery/door/airlock/external{id_tag = "ferry_away"; name = "Ferry Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
+"cs" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 1},/area/centcom/ferry)
+"ct" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5";icon_state = "asteroid5";dir = 2},/area/holodeck/source_desert)
+"cu" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6";icon_state = "wood_siding6";dir = 2},/area/holodeck/source_picnicarea)
+"cv" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10";icon_state = "wood_siding10";dir = 2},/area/holodeck/source_picnicarea)
+"cz" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_emptycourt)
+"cA" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_emptycourt)
+"cB" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (SOUTHEAST)";icon_state = "fakewindows";dir = 6},/area/centcom/ferry)
+"cC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";icon_state = "space";layer = 4;name = "EXTERNAL AIRLOCK";pixel_x = 0},/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/centcom/ferry)
+"cE" = (/obj/docking_port/stationary{dir = 8;dwidth = 2;height = 12;id = "ferry_away";name = "centcom bay 2";width = 5},/turf/space,/area/space)
+"cF" = (/turf/unsimulated/floor{tag = "icon-warndark (EAST)";icon_state = "warndark";dir = 4},/area/centcom/ferry)
+"cG" = (/obj/machinery/door/airlock/external{id_tag = "ferry_away";name = "Ferry Airlock";req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"cH" = (/obj/machinery/computer/shuttle/ferry,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"cI" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/centcom/ferry)
+"cI" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 5},/area/centcom/ferry)
"cJ" = (/turf/unsimulated/wall/fakeglass,/area/centcom/ferry)
"cK" = (/obj/machinery/computer/shuttle/admin,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"cL" = (/obj/machinery/door/airlock/external{id_tag = "admin_away"; name = "Administration Shuttle"; opacity = 0; req_access_txt = "106"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"cM" = (/obj/docking_port/stationary{dir = 2; dwidth = 8; height = 15; id = "admin_away"; name = "centcom bay 1"; width = 18},/turf/space,/area/space)
-"cN" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 11; id = "specops_transit"; name = "specops in transit"; turf_type = /turf/space/transit/horizontal; width = 5},/turf/space/transit/horizontal,/area/space)
-"cO" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 12; id = "ferry_transit"; name = "ferry in transit"; turf_type = /turf/space/transit/horizontal; width = 5},/turf/space/transit/horizontal,/area/space)
-"cP" = (/obj/docking_port/stationary/transit{dir = 2; dwidth = 3; height = 5; id = "engineering_transit"; name = "engineering in transit"; turf_type = /turf/space/transit/horizontal; width = 7},/turf/space/transit/horizontal,/area/space)
-"cQ" = (/obj/structure/rack,/obj/item/clothing/glasses/sunglasses{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/hud/health/health_advanced,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"cR" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"cS" = (/obj/structure/flora/ausbushes/stalkybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"cT" = (/obj/structure/flora/ausbushes/pointybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"cU" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"cV" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"cW" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"cX" = (/obj/structure/flora/ausbushes/reedbush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"cY" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/gamma/space)
-"cZ" = (/obj/structure/table/reinforced,/obj/item/storage/box/mousetraps,/obj/item/storage/box/trackimp,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"da" = (/obj/structure/table/reinforced,/obj/item/scalpel,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"db" = (/turf/simulated/floor/holofloor{tag = "icon-carpet2-0 (EAST)"; icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre)
-"dc" = (/obj/structure/rack,/obj/item/kitchen/knife/ritual,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
+"cL" = (/obj/machinery/door/airlock/external{id_tag = "admin_away";name = "Administration Shuttle";opacity = 0;req_access_txt = "106"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
+"cM" = (/obj/docking_port/stationary{dir = 2;dwidth = 8;height = 15;id = "admin_away";name = "centcom bay 1";width = 18},/turf/space,/area/space)
+"cN" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 2;height = 11;id = "specops_transit";name = "specops in transit";turf_type = /turf/space/transit/horizontal;width = 5},/turf/space/transit/horizontal,/area/space)
+"cO" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 2;height = 12;id = "ferry_transit";name = "ferry in transit";turf_type = /turf/space/transit/horizontal;width = 5},/turf/space/transit/horizontal,/area/space)
+"cP" = (/obj/docking_port/stationary/transit{dir = 2;dwidth = 3;height = 5;id = "engineering_transit";name = "engineering in transit";turf_type = /turf/space/transit/horizontal;width = 7},/turf/space/transit/horizontal,/area/space)
+"cQ" = (/obj/structure/rack,/obj/item/clothing/glasses/sunglasses{pixel_x = -3;pixel_y = 3},/obj/item/clothing/glasses/hud/health/health_advanced,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"cR" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"cS" = (/obj/structure/flora/ausbushes/stalkybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"cT" = (/obj/structure/flora/ausbushes/pointybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"cU" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"cV" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"cW" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"cX" = (/obj/structure/flora/ausbushes/reedbush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"cY" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6";dir = 2},/area/shuttle/gamma/space)
+"cZ" = (/obj/structure/table/reinforced,/obj/item/storage/box/mousetraps,/obj/item/storage/box/trackimp,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"da" = (/obj/structure/table/reinforced,/obj/item/scalpel,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"db" = (/turf/simulated/floor/holofloor{tag = "icon-carpet2-0 (EAST)";icon_state = "carpet2-0";dir = 4},/area/holodeck/source_theatre)
+"dc" = (/obj/structure/rack,/obj/item/kitchen/knife/ritual,/turf/unsimulated/floor{dir = 8;icon_state = "chapel"},/area/wizard_station)
"dd" = (/obj/structure/rack,/obj/item/kitchen/knife/ritual,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"de" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
-"df" = (/obj/structure/table,/obj/item/storage/toolbox/syndicate,/obj/item/shard,/obj/item/kitchen/knife,/obj/item/storage/firstaid/tactical,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"dg" = (/obj/structure/table/holotable,/obj/item/clothing/suit/armor/riot/knight/red,/obj/item/clothing/head/helmet/riot/knight/red,/obj/item/holo/claymore/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_knightarena)
-"dh" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_knightarena)
-"di" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_knightarena)
+"de" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/control)
+"df" = (/obj/structure/table,/obj/item/storage/toolbox/syndicate,/obj/item/shard,/obj/item/kitchen/knife,/obj/item/storage/firstaid/tactical,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"dg" = (/obj/structure/table/holotable,/obj/item/clothing/suit/armor/riot/knight/red,/obj/item/clothing/head/helmet/riot/knight/red,/obj/item/holo/claymore/red,/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_knightarena)
+"dh" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_knightarena)
+"di" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_knightarena)
"dj" = (/turf/simulated/floor/holofloor,/area/holodeck/source_knightarena)
-"dk" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_knightarena)
-"dl" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_knightarena)
+"dk" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_knightarena)
+"dl" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_knightarena)
"dm" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_knightarena)
-"dn" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_knightarena)
-"do" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
-"dp" = (/obj/structure/flora/ausbushes/stalkybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
-"dq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
-"dr" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_knightarena)
-"ds" = (/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"dt" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)"; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
-"du" = (/turf/simulated/floor/holofloor{tag = "icon-carpet3-0 (EAST)"; icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre)
+"dn" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_knightarena)
+"do" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/control)
+"dp" = (/obj/structure/flora/ausbushes/stalkybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/control)
+"dq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/control)
+"dr" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_knightarena)
+"ds" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1";icon_state = "wood_siding1";dir = 2},/area/holodeck/source_picnicarea)
+"dt" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1";icon_state = "wood_siding1";dir = 2},/area/holodeck/source_picnicarea)
+"du" = (/turf/simulated/floor/holofloor{tag = "icon-carpet3-0 (EAST)";icon_state = "carpet3-0";dir = 4},/area/holodeck/source_theatre)
"dv" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_knightarena)
-"dw" = (/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_away"; name = "supply centcom"; width = 12},/turf/space,/area/space)
-"dx" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "blue"},/area/holodeck/source_knightarena)
-"dy" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "blue"},/area/holodeck/source_knightarena)
-"dz" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "blue"},/area/holodeck/source_knightarena)
-"dA" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "blue"},/area/holodeck/source_knightarena)
-"dB" = (/obj/structure/table/holotable,/obj/item/clothing/suit/armor/riot/knight/blue,/obj/item/clothing/head/helmet/riot/knight/blue,/obj/item/holo/claymore/blue,/turf/simulated/floor/holofloor{dir = 2; icon_state = "blue"},/area/holodeck/source_knightarena)
-"dC" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "blue"},/area/holodeck/source_knightarena)
-"dD" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6; icon_state = "blue"},/area/holodeck/source_knightarena)
+"dw" = (/obj/docking_port/stationary{dir = 8;dwidth = 5;height = 7;id = "supply_away";name = "supply centcom";width = 12},/turf/space,/area/space)
+"dx" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8;icon_state = "blue"},/area/holodeck/source_knightarena)
+"dy" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4;icon_state = "blue"},/area/holodeck/source_knightarena)
+"dz" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "blue"},/area/holodeck/source_knightarena)
+"dA" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "blue"},/area/holodeck/source_knightarena)
+"dB" = (/obj/structure/table/holotable,/obj/item/clothing/suit/armor/riot/knight/blue,/obj/item/clothing/head/helmet/riot/knight/blue,/obj/item/holo/claymore/blue,/turf/simulated/floor/holofloor{dir = 2;icon_state = "blue"},/area/holodeck/source_knightarena)
+"dC" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10;icon_state = "blue"},/area/holodeck/source_knightarena)
+"dD" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6;icon_state = "blue"},/area/holodeck/source_knightarena)
"dE" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/grenade/smokebomb,/obj/item/restraints/legcuffs/beartrap,/obj/item/sleeping_carp_scroll,/obj/item/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
"dF" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/grenade/smokebomb,/obj/item/restraints/legcuffs/beartrap,/obj/item/sleeping_carp_scroll,/obj/item/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"dG" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid1 (EAST)"; icon_state = "asteroid1"; dir = 4},/area/holodeck/source_desert)
+"dG" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid1 (EAST)";icon_state = "asteroid1";dir = 4},/area/holodeck/source_desert)
"dH" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/grenade/smokebomb,/obj/item/restraints/legcuffs/beartrap,/obj/item/sleeping_carp_scroll,/obj/item/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
"dI" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/grenade/smokebomb,/obj/item/restraints/legcuffs/beartrap,/obj/item/sleeping_carp_scroll,/obj/item/twohanded/bostaff,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"dJ" = (/obj/structure/rack,/obj/item/toy/sword,/obj/item/gun/projectile/revolver/capgun,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"dK" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
-"dL" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
-"dM" = (/obj/machinery/prize_counter,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"dN" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid3 (EAST)"; icon_state = "asteroid3"; dir = 4},/area/holodeck/source_desert)
-"dO" = (/turf/simulated/floor/holofloor{tag = "icon-carpet1-0 (EAST)"; icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre)
-"dP" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-1 (EAST)"; icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre)
-"dQ" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-5 (EAST)"; icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre)
-"dR" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-4 (EAST)"; icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre)
-"dS" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt)
-"dT" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt)
-"dU" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt)
-"dV" = (/turf/space,/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/centcom/control)
-"dW" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/control)
-"dX" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/control)
-"dY" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpet15-11"},/area/centcom/control)
-"dZ" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_y = 5},/obj/item/pen/multi,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/control)
-"ea" = (/obj/machinery/computer/bsa_control/admin,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/control)
-"eb" = (/obj/structure/chair/office/dark{dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "carpet15-14"; tag = "icon-carpet (WEST)"},/area/centcom/control)
-"ec" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"ed" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "102"},/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/control)
-"ee" = (/obj/structure/table,/obj/item/card/id/centcom,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/obj/item/door_remote/centcomm,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control)
-"ef" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)"; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
-"eg" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"eh" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)"; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
+"dJ" = (/obj/structure/rack,/obj/item/toy/sword,/obj/item/gun/projectile/revolver/capgun,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"dK" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/control)
+"dL" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/control)
+"dM" = (/obj/machinery/prize_counter,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"dN" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid3 (EAST)";icon_state = "asteroid3";dir = 4},/area/holodeck/source_desert)
+"dO" = (/turf/simulated/floor/holofloor{tag = "icon-carpet1-0 (EAST)";icon_state = "carpet1-0";dir = 4},/area/holodeck/source_theatre)
+"dS" = (/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_emptycourt)
+"dT" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_emptycourt)
+"dU" = (/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_emptycourt)
+"dV" = (/turf/space,/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/centcom/control)
+"dW" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{dir = 9;icon_state = "carpetside"},/area/centcom/control)
+"dX" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{dir = 5;icon_state = "carpetside"},/area/centcom/control)
+"dY" = (/turf/unsimulated/floor{dir = 1;icon_state = "carpet15-11"},/area/centcom/control)
+"dZ" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_y = 5},/obj/item/pen/multi,/turf/unsimulated/floor{dir = 9;icon_state = "carpetside"},/area/centcom/control)
+"ea" = (/obj/machinery/computer/bsa_control/admin,/turf/unsimulated/floor{dir = 5;icon_state = "carpetside"},/area/centcom/control)
+"ed" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters";opacity = 1;req_access_txt = "102"},/turf/unsimulated/floor{dir = 2;icon_state = "carpetsymbol"},/area/centcom/control)
+"ee" = (/obj/structure/table,/obj/item/card/id/centcom,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/obj/item/door_remote/centcomm,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/control)
"ei" = (/turf/space,/area/centcom/control)
-"ej" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
-"ek" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
-"el" = (/turf/unsimulated/wall{tag = "icon-iron11"; icon_state = "iron11"},/area/space)
-"em" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
-"en" = (/turf/simulated/floor/holofloor{tag = "icon-1 (NORTHEAST)"; icon_state = "1"; dir = 5},/area/holodeck/source_space)
-"eo" = (/turf/simulated/floor/holofloor{tag = "icon-17 (NORTHEAST)"; icon_state = "17"; dir = 5},/area/holodeck/source_space)
-"ep" = (/turf/simulated/floor/holofloor{tag = "icon-22 (NORTHEAST)"; icon_state = "22"; dir = 5},/area/holodeck/source_space)
-"eq" = (/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"er" = (/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall)
-"es" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball)
-"et" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball)
-"eu" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball)
+"ej" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
+"ek" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
+"el" = (/turf/unsimulated/wall{tag = "icon-iron11";icon_state = "iron11"},/area/space)
+"en" = (/turf/simulated/floor/holofloor{tag = "icon-1 (NORTHEAST)";icon_state = "1";dir = 5},/area/holodeck/source_space)
+"eo" = (/turf/simulated/floor/holofloor{tag = "icon-17 (NORTHEAST)";icon_state = "17";dir = 5},/area/holodeck/source_space)
+"ep" = (/turf/simulated/floor/holofloor{tag = "icon-22 (NORTHEAST)";icon_state = "22";dir = 5},/area/holodeck/source_space)
+"eq" = (/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"er" = (/turf/simulated/floor/holofloor{tag = "icon-grimy";icon_state = "grimy";dir = 2},/area/holodeck/source_meetinghall)
+"es" = (/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_basketball)
+"et" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_basketball)
+"eu" = (/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_basketball)
"ev" = (/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"ew" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"ex" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"ey" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"ez" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"eA" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"eB" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"eC" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
-"eD" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"eE" = (/turf/simulated/floor/holofloor{tag = "icon-carpet4-0 (EAST)"; icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall)
-"eF" = (/turf/simulated/floor/holofloor{tag = "icon-carpetsymbol (SOUTHEAST)"; icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall)
-"eG" = (/turf/simulated/floor/holofloor{tag = "icon-carpet8-0 (EAST)"; icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall)
-"eH" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball)
+"ew" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"ex" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"ey" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"ez" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"eA" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"eB" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"eD" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"eE" = (/turf/simulated/floor/holofloor{tag = "icon-carpet4-0 (EAST)";icon_state = "carpet4-0";dir = 4},/area/holodeck/source_meetinghall)
+"eF" = (/turf/simulated/floor/holofloor{tag = "icon-carpetsymbol (SOUTHEAST)";icon_state = "carpetsymbol";dir = 6},/area/holodeck/source_meetinghall)
+"eG" = (/turf/simulated/floor/holofloor{tag = "icon-carpet8-0 (EAST)";icon_state = "carpet8-0";dir = 4},/area/holodeck/source_meetinghall)
+"eH" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_basketball)
"eI" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball)
-"eJ" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball)
+"eJ" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_basketball)
"eK" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
"eL" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"eM" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"eM" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
"eN" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"eO" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"eP" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt)
+"eO" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"eP" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_boxingcourt)
"eQ" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt)
-"eR" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"eS" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"eT" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
-"eU" = (/obj/structure/table/wood,/obj/item/stack/spacecash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"eV" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/centcom/control)
-"eW" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/centcom/control)
-"eX" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"eY" = (/obj/structure/table/wood,/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall)
-"eZ" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball)
-"fa" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpet15-5"},/area/centcom/control)
-"fb" = (/obj/structure/table/wood,/obj/machinery/photocopier{icon_state = "fax"; name = "fax machine"},/obj/item/photo{name = "butts"},/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/control)
-"fc" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/control)
-"fd" = (/obj/machinery/door/poddoor{id_tag = "CCGAMMA"; name = "Gamma Security"},/obj/machinery/door/airlock/centcom{name = "Gamma Armory"; opacity = 1; req_access_txt = "114"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/centcom/gamma)
+"eR" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_boxingcourt)
+"eT" = (/turf/unsimulated/floor{dir = 4;icon_state = "carpetside"},/area/centcom/specops)
+"eU" = (/obj/structure/table/wood,/obj/item/stack/spacecash,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"eV" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/centcom/control)
+"eW" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/centcom/control)
+"eX" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"eY" = (/obj/structure/table/wood,/turf/simulated/floor/holofloor{tag = "icon-grimy";icon_state = "grimy";dir = 2},/area/holodeck/source_meetinghall)
+"eZ" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "red"},/area/holodeck/source_basketball)
+"fa" = (/turf/unsimulated/floor{dir = 2;icon_state = "carpet15-5"},/area/centcom/control)
+"fb" = (/obj/structure/table/wood,/obj/machinery/photocopier{icon_state = "fax";name = "fax machine"},/obj/item/photo{name = "butts"},/turf/unsimulated/floor{dir = 10;icon_state = "carpetside"},/area/centcom/control)
+"fc" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{dir = 6;icon_state = "carpetside"},/area/centcom/control)
+"fd" = (/obj/machinery/door/poddoor{id_tag = "CCGAMMA";name = "Gamma Security"},/obj/machinery/door/airlock/centcom{name = "Gamma Armory";opacity = 1;req_access_txt = "114"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/centcom/gamma)
"fe" = (/obj/machinery/cryopod/right,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"ff" = (/turf/unsimulated/wall,/area/ninja/outpost)
"fg" = (/turf/unsimulated/wall,/area/ninja/holding)
-"fh" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/ninja/holding)
-"fi" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/ninja/holding)
-"fj" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/ninja/holding)
-"fk" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi'; icon_state = "closed"; name = "Locked Door"},/area/ninja/holding)
+"fh" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/ninja/holding)
+"fi" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/ninja/holding)
+"fj" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/ninja/holding)
+"fk" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly.";icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi';icon_state = "closed";name = "Locked Door"},/area/ninja/holding)
"fl" = (/obj/machinery/cryopod,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"fm" = (/turf/unsimulated/wall,/area/centcom/gamma)
-"fn" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/centcom/gamma)
-"fo" = (/obj/machinery/porta_turret/centcom/pulse,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/centcom/gamma)
-"fp" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Bathroom"; dir = 2; network = list("ERT","CentComm")},/obj/structure/table/reinforced,/obj/item/paper,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/centcom/gamma)
-"fq" = (/obj/structure/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/centcom/gamma)
-"fr" = (/obj/structure/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/centcom/gamma)
-"fs" = (/obj/structure/table/reinforced,/obj/machinery/turretid/lethal{ailock = 1; check_synth = 1; name = "Gamma Turret Control Panel"; pixel_x = 0; req_access = list(114)},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/centcom/gamma)
-"ft" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi'; icon_state = "closed"; name = "Locked Door"},/area/ninja/outpost)
+"fn" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "red";dir = 1},/area/centcom/gamma)
+"fo" = (/obj/machinery/porta_turret/centcom/pulse,/turf/simulated/floor/plasteel{icon_state = "red";dir = 9},/area/centcom/gamma)
+"fp" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Bathroom";dir = 2;network = list("ERT","CentComm")},/obj/structure/table/reinforced,/obj/item/paper,/turf/simulated/floor/plasteel{icon_state = "red";dir = 1},/area/centcom/gamma)
+"fs" = (/obj/structure/table/reinforced,/obj/machinery/turretid/lethal{ailock = 1;check_synth = 1;name = "Gamma Turret Control Panel";pixel_x = 0;req_access = list(114)},/turf/simulated/floor/plasteel{icon_state = "red";dir = 1},/area/centcom/gamma)
+"ft" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly.";icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi';icon_state = "closed";name = "Locked Door"},/area/ninja/outpost)
"fu" = (/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost)
"fv" = (/obj/structure/ninjatele{pixel_y = 25},/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost)
-"fw" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost)
-"fx" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave/upgraded,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"fy" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"fz" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"fA" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"fB" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"fC" = (/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"fD" = (/obj/structure/rack,/obj/item/camera,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"fE" = (/obj/machinery/porta_turret/centcom/pulse,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/centcom/gamma)
+"fw" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost)
+"fx" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave/upgraded,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"fy" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"fz" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"fA" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"fB" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"fC" = (/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"fD" = (/obj/structure/rack,/obj/item/camera,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"fE" = (/obj/machinery/porta_turret/centcom/pulse,/turf/simulated/floor/plasteel{icon_state = "red";dir = 5},/area/centcom/gamma)
"fF" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/gamma)
-"fG" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
+"fG" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
"fH" = (/turf/unsimulated/beach/sand,/area/ninja/holding)
"fI" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"fJ" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/beach/sand,/area/ninja/holding)
+"fJ" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/beach/sand,/area/ninja/holding)
"fK" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"fL" = (/obj/machinery/door/airlock/centcom{name = "Communications Office"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "carpet1-0"},/area/centcom/control)
-"fM" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"fN" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet6-0 (EAST)"; icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall)
-"fO" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet14-0 (EAST)"; icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall)
-"fP" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet10-0 (EAST)"; icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall)
-"fQ" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball)
-"fR" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball)
-"fS" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball)
+"fL" = (/obj/machinery/door/airlock/centcom{name = "Communications Office";opacity = 1;req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "carpet1-0"},/area/centcom/control)
+"fM" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"fQ" = (/turf/simulated/floor/holofloor{dir = 10;icon_state = "red"},/area/holodeck/source_basketball)
+"fR" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "red"},/area/holodeck/source_basketball)
+"fS" = (/turf/simulated/floor/holofloor{dir = 6;icon_state = "red"},/area/holodeck/source_basketball)
"fT" = (/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"fU" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"fU" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
"fV" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"fW" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"fX" = (/turf/space,/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/centcom/control)
-"fY" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"fZ" = (/obj/item/radio/intercom/syndicate{pixel_x = 0; pixel_y = 25},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"ga" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"gb" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave/upgraded,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gc" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gd" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"ge" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
+"fW" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4;icon_state = "red"},/area/holodeck/source_thunderdomecourt)
+"fX" = (/turf/space,/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/centcom/control)
+"fY" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"fZ" = (/obj/item/radio/intercom/syndicate{pixel_x = 0;pixel_y = 25},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"ga" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4;icon_state = "sink";pixel_x = 11;pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"gb" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave/upgraded,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gc" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4;pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gd" = (/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
"gf" = (/obj/item/camera,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"gg" = (/obj/structure/toilet{dir = 8},/obj/structure/window/reinforced/tinted{dir = 1},/obj/machinery/door/window{dir = 8; name = "Tactical Toilet"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"gh" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
+"gg" = (/obj/structure/toilet{dir = 8},/obj/structure/window/reinforced/tinted{dir = 1},/obj/machinery/door/window{dir = 8;name = "Tactical Toilet";opacity = 1;req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"gh" = (/obj/machinery/light{dir = 1;on = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"gi" = (/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"gj" = (/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"gk" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"gl" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)"; icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall)
-"gm" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)"; icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall)
-"gn" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)"; icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall)
-"go" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball)
-"gp" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball)
-"gq" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball)
+"gk" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"go" = (/turf/simulated/floor/holofloor{dir = 9;icon_state = "green"},/area/holodeck/source_basketball)
+"gp" = (/turf/simulated/floor/holofloor{dir = 1;icon_state = "green"},/area/holodeck/source_basketball)
+"gq" = (/turf/simulated/floor/holofloor{dir = 5;icon_state = "green"},/area/holodeck/source_basketball)
"gr" = (/obj/item/beach_ball,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"gs" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"gs" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
"gt" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"gu" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"gv" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"gw" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt)
+"gu" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"gv" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"gw" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_boxingcourt)
"gx" = (/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"gy" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/ninja/outpost)
-"gz" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
+"gy" = (/turf/unsimulated/wall/fakeglass{dir = 1;icon_state = "fakewindows";tag = "icon-fakewindows (WEST)"},/area/ninja/outpost)
+"gz" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
"gA" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/sleeper/upgraded,/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
-"gB" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gC" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gD" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gE" = (/obj/structure/table,/obj/item/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gF" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gG" = (/obj/structure/table,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"gH" = (/obj/structure/chair/stool,/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"gI" = (/obj/structure/chair/stool,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"gJ" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball)
+"gB" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gC" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gD" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gE" = (/obj/structure/table,/obj/item/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gF" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gG" = (/obj/structure/table,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/ninja/holding)
+"gJ" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_basketball)
"gK" = (/obj/item/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball)
-"gL" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball)
-"gM" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"gN" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"gL" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_basketball)
+"gM" = (/turf/simulated/floor/holofloor{dir = 8;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"gN" = (/turf/simulated/floor/holofloor{dir = 4;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
"gO" = (/turf/unsimulated/wall/fakeglass,/area/ninja/outpost)
"gP" = (/obj/effect/landmark{name = "ninjastart"},/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
"gQ" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
-"gR" = (/obj/structure/rack,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
+"gR" = (/obj/structure/rack,/obj/item/clothing/head/that{pixel_x = 4;pixel_y = 6},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
"gS" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"gT" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"gU" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball)
-"gV" = (/turf/simulated/floor/holofloor{icon_state = "sand"; name = "Soft sand"},/area/holodeck/source_beach)
-"gW" = (/obj/structure/rack,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"gX" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"gY" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-0 (EAST)"; icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall)
-"gZ" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-0 (EAST)"; icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall)
-"ha" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-0 (EAST)"; icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall)
+"gT" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{tag = "icon-snow";icon_state = "snow"},/area/holodeck/source_snowfield)
+"gU" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_basketball)
+"gV" = (/turf/simulated/floor/holofloor{icon_state = "sand";name = "Soft sand"},/area/holodeck/source_beach)
+"gW" = (/obj/structure/rack,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"gX" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
"hb" = (/turf/simulated/floor/beach/coastline,/area/holodeck/source_beach)
-"hc" = (/obj/structure/chair/stool,/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; desc = "Damn, they better have /tg/thechannel on these things."; icon_state = "entertainment"; pixel_y = -30},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"hd" = (/obj/machinery/vending/snack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
+"hd" = (/obj/machinery/vending/snack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
"he" = (/turf/unsimulated/beach/coastline,/area/ninja/holding)
"hf" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/ninja/holding)
"hg" = (/obj/effect/decal/warning_stripes/south,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"hh" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball)
-"hi" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball)
-"hj" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball)
+"hh" = (/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_basketball)
+"hi" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_basketball)
+"hj" = (/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_basketball)
"hk" = (/turf/simulated/floor/beach/water,/area/holodeck/source_beach)
-"hl" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"hm" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"hn" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"ho" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"hp" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"hq" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"hr" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"hs" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"ht" = (/obj/structure/chair/stool,/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"hu" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
+"hl" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"hm" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"hn" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_thunderdomecourt)
+"ho" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen";item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"hp" = (/turf/simulated/floor/holofloor{dir = 2;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"hq" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen";item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6;icon_state = "green"},/area/holodeck/source_boxingcourt)
+"hr" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"hs" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"hu" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
"hv" = (/turf/unsimulated/beach/water,/area/ninja/holding)
"hw" = (/obj/machinery/light/spot,/turf/unsimulated/beach/water,/area/ninja/holding)
"hx" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"hy" = (/turf/unsimulated/wall{tag = "icon-iron5"; icon_state = "iron5"},/area/space)
-"hz" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area/space)
-"hA" = (/turf/unsimulated/wall{tag = "icon-iron13"; icon_state = "iron13"},/area/space)
-"hB" = (/turf/unsimulated/wall{tag = "icon-iron9"; icon_state = "iron9"},/area/space)
+"hy" = (/turf/unsimulated/wall{tag = "icon-iron5";icon_state = "iron5"},/area/space)
+"hz" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12";icon_state = "iron12"},/area/space)
+"hA" = (/turf/unsimulated/wall{tag = "icon-iron13";icon_state = "iron13"},/area/space)
+"hB" = (/turf/unsimulated/wall{tag = "icon-iron9";icon_state = "iron9"},/area/space)
"hC" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/ninja/holding)
-"hD" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3"; icon_state = "diagonalWall3"; dir = 2},/area/shuttle/assault_pod)
-"hE" = (/obj/effect/landmark{name = "Holding Facility"},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/ninja/holding)
+"hE" = (/obj/effect/landmark{name = "Holding Facility"},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)";icon_state = "tube1";dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/ninja/holding)
"hF" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/ninja/holding)
"hG" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"hH" = (/obj/machinery/vending/sovietsoda,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"hI" = (/obj/structure/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
"hJ" = (/obj/structure/table/wood,/obj/item/gun/projectile/revolver/russian,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"hK" = (/obj/structure/chair/comfy/brown{dir = 8},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
"hL" = (/obj/machinery/vending/cigarette,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"hM" = (/obj/structure/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"hN" = (/obj/machinery/light/small{dir = 1},/obj/structure/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
"hO" = (/obj/machinery/computer/shuttle/sit,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"hP" = (/obj/machinery/light/small{dir = 1},/obj/structure/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"hQ" = (/obj/structure/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
"hR" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"hS" = (/obj/structure/table/wood,/obj/machinery/chem_dispenser/beer,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"hT" = (/obj/structure/table/wood,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"hU" = (/obj/structure/table/wood,/obj/item/storage/box/drinkingglasses,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"hV" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/shaker,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"hW" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"hX" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
"hY" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
"hZ" = (/turf/simulated/floor/light,/area/dynamic/source/lobby_disco)
"ia" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"ib" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
"ic" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
"id" = (/obj/machinery/light/small,/turf/simulated/floor/light,/area/dynamic/source/lobby_disco)
-"ie" = (/obj/structure/chair/stool,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"if" = (/obj/structure/table/wood,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"ig" = (/obj/structure/table/wood,/obj/item/book/manual/barman_recipes,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
"ih" = (/turf/unsimulated/wall,/area/wizard_station)
-"ii" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"ij" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"ik" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"il" = (/obj/machinery/computer/library/checkout,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"im" = (/obj/machinery/vending/magivend,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"in" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"io" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station)
-"ip" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station)
-"iq" = (/obj/structure/bed,/obj/item/bedsheet/wiz,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station)
-"ir" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership)
-"is" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership)
+"ii" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"ij" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"ik" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"il" = (/obj/machinery/computer/library/checkout,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"im" = (/obj/machinery/vending/magivend,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"in" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"io" = (/obj/structure/closet{icon_closed = "cabinet_closed";icon_opened = "cabinet_open";icon_state = "cabinet_closed"},/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{dir = 9;icon_state = "carpetside"},/area/wizard_station)
+"ip" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 1;icon_state = "carpetside"},/area/wizard_station)
+"ir" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8;icon_state = "diagonalWall3"},/area/syndicate_mothership)
+"is" = (/turf/unsimulated/wall{desc = "Why it no open!";icon_state = "pdoor1";name = "Shuttle Bay Blast Door"},/area/syndicate_mothership)
"it" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership)
"iu" = (/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"iv" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/assault_pod)
-"iw" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
-"ix" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station)
-"iy" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station)
-"iz" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station)
-"iA" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 3; height = 5; id = "sst_transit"; name = "sst in transit"; width = 11},/turf/space/transit,/area/space)
-"iB" = (/obj/machinery/door/airlock/external{id_tag = "sst_away"; req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad)
-"iC" = (/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "sst_away"; name = "syndicate docking bay"; width = 11},/turf/space,/area/space)
-"iD" = (/obj/item/gun/projectile/automatic/pistol/m1911,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/head/helmet/space/deathsquad/beret,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/suit/space/deathsquad/officer,/obj/item/clothing/under/rank/centcom/captain,/obj/item/storage/box/handcuffs,/obj/item/storage/box/flashbangs,/obj/item/clothing/mask/gas,/obj/item/tank/emergency_oxygen/double,/obj/item/radio/headset/ert{pixel_x = 6; pixel_y = -6},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"iE" = (/turf/space,/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/space)
-"iF" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1; name = "Assault Pod"; opacity = 1; req_one_access_txt = "150"},/turf/simulated/floor/plating,/area/shuttle/assault_pod)
+"iw" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (SOUTHWEST)";icon_state = "gravsnow_corner";dir = 10},/area/syndicate_mothership)
+"ix" = (/turf/unsimulated/floor{dir = 8;icon_state = "carpetside"},/area/wizard_station)
+"iy" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/wizard_station)
+"iz" = (/turf/unsimulated/floor{dir = 4;icon_state = "carpetside"},/area/wizard_station)
+"iA" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 3;height = 5;id = "sst_transit";name = "sst in transit";width = 11},/turf/space/transit,/area/space)
+"iB" = (/obj/machinery/door/airlock/external{id_tag = "sst_away";req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad)
+"iC" = (/obj/docking_port/stationary{dir = 8;dwidth = 3;height = 5;id = "sst_away";name = "syndicate docking bay";width = 11},/turf/space,/area/space)
+"iD" = (/obj/item/gun/projectile/automatic/pistol/m1911,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/structure/closet{icon_closed = "cabinet_closed";icon_opened = "cabinet_open";icon_state = "cabinet_closed"},/obj/item/clothing/head/helmet/space/deathsquad/beret,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/suit/space/deathsquad/officer,/obj/item/clothing/under/rank/centcom/captain,/obj/item/storage/box/handcuffs,/obj/item/storage/box/flashbangs,/obj/item/clothing/mask/gas,/obj/item/tank/emergency_oxygen/double,/obj/item/radio/headset/ert{pixel_x = 6;pixel_y = -6},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
+"iE" = (/turf/space,/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/space)
+"iF" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1;name = "Assault Pod";opacity = 1;req_one_access_txt = "150"},/turf/simulated/floor/plating,/area/shuttle/assault_pod)
"iG" = (/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"iH" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)"; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
+"iH" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine{pixel_x = 1},/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
"iI" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"iJ" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
-"iK" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
-"iL" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"iM" = (/obj/item/radio/intercom/syndicate{pixel_x = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"iN" = (/obj/structure/table/wood,/obj/item/trash/tray,/obj/item/paper/spells,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station)
-"iO" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station)
-"iP" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station)
-"iQ" = (/turf/space,/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/space)
-"iR" = (/obj/structure/rack,/obj/item/radio/headset/heads/captain{pixel_x = 3; pixel_y = -3},/obj/item/radio/headset/syndicate,/obj/item/radio/headset/heads/ntrep{pixel_x = -3; pixel_y = 3},/obj/item/radio/headset/ert{pixel_x = 6; pixel_y = -6},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"iL" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"iM" = (/obj/item/radio/intercom/syndicate{pixel_x = 28},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"iN" = (/obj/structure/table/wood,/obj/item/trash/tray,/obj/item/paper/spells,/turf/unsimulated/floor{dir = 10;icon_state = "carpetside"},/area/wizard_station)
+"iO" = (/turf/unsimulated/floor{dir = 2;icon_state = "carpetside"},/area/wizard_station)
+"iP" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 6;icon_state = "carpetside"},/area/wizard_station)
+"iQ" = (/turf/space,/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/space)
+"iR" = (/obj/structure/rack,/obj/item/radio/headset/heads/captain{pixel_x = 3;pixel_y = -3},/obj/item/radio/headset/syndicate,/obj/item/radio/headset/heads/ntrep{pixel_x = -3;pixel_y = 3},/obj/item/radio/headset/ert{pixel_x = 6;pixel_y = -6},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
"iS" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
"iT" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"iU" = (/obj/structure/chair{dir = 1},/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
"iV" = (/turf/simulated/floor/plating,/area/syndicate_mothership)
"iW" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/simulated/floor/plating,/area/syndicate_mothership)
"iX" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/syndicate_mothership)
-"iY" = (/obj/structure/chair{dir = 8},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
-"iZ" = (/obj/machinery/door/poddoor{id_tag = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
+"iZ" = (/obj/machinery/door/poddoor{id_tag = "thunderdomeaxe";name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
"ja" = (/turf/unsimulated/wall,/area/tdome/arena)
"jb" = (/obj/machinery/igniter,/turf/simulated/floor/plasteel,/area/tdome/arena)
"jc" = (/turf/simulated/floor/plasteel,/area/tdome/arena)
-"jd" = (/obj/structure/chair,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
"je" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"jf" = (/obj/structure/rack,/obj/item/storage/belt/utility/full/multitool{pixel_x = -3; pixel_y = 3},/obj/item/storage/belt/military,/obj/item/storage/belt/military/assault{pixel_x = 3; pixel_y = -3},/obj/item/storage/belt/champion/wrestling,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"jg" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control)
+"jf" = (/obj/structure/rack,/obj/item/storage/belt/utility/full/multitool{pixel_x = -3;pixel_y = 3},/obj/item/storage/belt/military,/obj/item/storage/belt/military/assault{pixel_x = 3;pixel_y = -3},/obj/item/storage/belt/champion/wrestling,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"jg" = (/mob/living/silicon/decoy{icon_state = "ai-malf";name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control)
"jh" = (/obj/structure/window/reinforced{dir = 4},/obj/item/radio/intercom/syndicate,/turf/unsimulated/floor{icon_state = "circuit"},/area/syndicate_mothership)
-"ji" = (/obj/structure/chair{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
"jj" = (/obj/machinery/computer/shuttle/syndicate/drop_pod,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/assault_pod)
-"jk" = (/obj/structure/chair,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
"jl" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"jm" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"jn" = (/obj/machinery/door/poddoor{id_tag = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena_source)
-"jo" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena_source)
+"jm" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen";name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
+"jn" = (/obj/machinery/door/poddoor{id_tag = "thunderdome";name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena_source)
+"jo" = (/turf/simulated/floor/plasteel{icon_state = "red";dir = 8},/area/tdome/arena_source)
"jp" = (/turf/simulated/floor/plasteel,/area/tdome/arena_source)
-"jq" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena_source)
+"jq" = (/turf/simulated/floor/plasteel{icon_state = "green";dir = 4},/area/tdome/arena_source)
"jr" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"js" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"jt" = (/obj/item/storage/fancy/crayons,/obj/machinery/light{dir = 1; on = 1},/obj/structure/table,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"js" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (EAST)";icon_state = "gravsnow_corner";dir = 4},/area/syndicate_mothership)
+"jt" = (/obj/item/storage/fancy/crayons,/obj/machinery/light{dir = 1;on = 1},/obj/structure/table,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
"ju" = (/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"jv" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"jw" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1; name = "Assault Pod"; opacity = 1; req_one_access_txt = "150"},/obj/docking_port/mobile/assault_pod,/turf/simulated/floor/plating,/area/shuttle/assault_pod)
+"jw" = (/obj/machinery/door/airlock/centcom{aiControlDisabled = 1;name = "Assault Pod";opacity = 1;req_one_access_txt = "150"},/obj/docking_port/mobile/assault_pod,/turf/simulated/floor/plating,/area/shuttle/assault_pod)
"jx" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"jy" = (/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"jz" = (/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"jA" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"jB" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"jC" = (/obj/structure/table/wood,/obj/machinery/recharger{pixel_y = 0},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"jD" = (/obj/structure/table/wood,/obj/item/dice/d20,/obj/item/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"jA" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"jC" = (/obj/structure/table/wood,/obj/machinery/recharger{pixel_y = 0},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"jD" = (/obj/structure/table/wood,/obj/item/dice/d20,/obj/item/dice,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
"jE" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/twohanded/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
"jF" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"jG" = (/obj/structure/rack,/obj/item/storage/backpack/holding{pixel_x = -3; pixel_y = 3},/obj/item/storage/backpack/satchel,/obj/item/storage/backpack/holding{pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"jH" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/centcom/gamma)
+"jG" = (/obj/structure/rack,/obj/item/storage/backpack/holding{pixel_x = -3;pixel_y = 3},/obj/item/storage/backpack/satchel,/obj/item/storage/backpack/holding{pixel_x = -6;pixel_y = 6},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"jH" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "red";dir = 8},/area/centcom/gamma)
"jI" = (/turf/space,/area/adminconstruction)
"jJ" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
"jK" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/syndicate_mothership)
-"jL" = (/obj/docking_port/stationary/transit{dwidth = 3; height = 7; id = "steel_rain_transit"; name = "steel_rain in transit"; width = 7},/turf/space/transit/horizontal,/area/space)
-"jM" = (/obj/item/soap/syndie,/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"jN" = (/obj/structure/table/wood,/obj/item/pizzabox,/obj/item/paicard/syndicate,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jO" = (/obj/structure/table/wood,/obj/item/toy/nuke,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
+"jL" = (/obj/docking_port/stationary/transit{dwidth = 3;height = 7;id = "steel_rain_transit";name = "steel_rain in transit";width = 7},/turf/space/transit/horizontal,/area/space)
+"jM" = (/obj/item/soap/syndie,/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"jN" = (/obj/structure/table/wood,/obj/item/pizzabox,/obj/item/paicard/syndicate,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"jO" = (/obj/structure/table/wood,/obj/item/toy/nuke,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
"jP" = (/turf/unsimulated/wall/abductor{icon_state = "alien21"},/area/abductor_ship)
"jQ" = (/turf/unsimulated/wall/abductor{icon_state = "alien20"},/area/abductor_ship)
"jR" = (/turf/unsimulated/wall/abductor{icon_state = "alien23"},/area/abductor_ship)
@@ -519,24 +466,24 @@
"jY" = (/obj/machinery/abductor/console{team = 1},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"jZ" = (/turf/unsimulated/wall/abductor{icon_state = "alien19"},/area/abductor_ship)
"ka" = (/turf/unsimulated/wall/abductor{icon_state = "alien18"},/area/abductor_ship)
-"kb" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"kc" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/mugwort,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"kb" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)";icon_state = "tube1";dir = 8},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"kc" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/mugwort,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
"kd" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/gamma)
"ke" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
"kf" = (/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
"kg" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"kh" = (/obj/structure/rack,/obj/item/gun/energy/lasercannon,/obj/item/gun/energy/lasercannon{pixel_x = 6; pixel_y = -6},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"ki" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/space,/area/syndicate_mothership/elite_squad)
-"kj" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/syndicate_mothership/elite_squad)
-"kk" = (/obj/machinery/computer/pod{id_tags = list("syndicate_elite"); name = "Hull Door Control"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"kl" = (/obj/item/radio/intercom/syndicate{pixel_x = 0; pixel_y = 25},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"km" = (/obj/effect/landmark{name = "Syndicate-Commando"; tag = "Commando"},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"kh" = (/obj/structure/rack,/obj/item/gun/energy/lasercannon,/obj/item/gun/energy/lasercannon{pixel_x = 6;pixel_y = -6},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"ki" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/turf/space,/area/syndicate_mothership/elite_squad)
+"kj" = (/turf/simulated/shuttle/wall{dir = 4;icon_state = "wall3"},/area/syndicate_mothership/elite_squad)
+"kk" = (/obj/machinery/computer/pod{id_tags = list("syndicate_elite");name = "Hull Door Control";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"kl" = (/obj/item/radio/intercom/syndicate{pixel_x = 0;pixel_y = 25},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"km" = (/obj/effect/landmark{name = "Syndicate-Commando";tag = "Commando"},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"kn" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"ko" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/mech_bay_recharge_port/upgraded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"ko" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/machinery/mech_bay_recharge_port/upgraded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"kp" = (/obj/mecha/combat/marauder/mauler/loaded,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"kq" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kq" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"kr" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"ks" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/syndicate_mothership)
+"ks" = (/turf/simulated/shuttle/wall{dir = 4;icon_state = "wall3"},/area/syndicate_mothership)
"kt" = (/obj/machinery/abductor/experiment{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"ku" = (/obj/machinery/abductor/pad{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kv" = (/obj/machinery/abductor/console{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
@@ -546,16 +493,16 @@
"kz" = (/turf/unsimulated/wall/abductor{icon_state = "alien15"},/area/abductor_ship)
"kA" = (/obj/structure/closet/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kB" = (/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
-"kC" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
+"kC" = (/obj/machinery/flasher{id = "flash";name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
"kD" = (/obj/machinery/computer/camera_advanced/abductor{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kE" = (/turf/unsimulated/wall/abductor{icon_state = "alien12"},/area/abductor_ship)
"kF" = (/obj/effect/landmark/abductor/scientist,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kG" = (/obj/structure/table/abductor,/obj/item/retractor/alien,/obj/item/hemostat/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kH" = (/obj/effect/landmark/abductor/agent,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kI" = (/obj/machinery/optable/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"kJ" = (/obj/item/flag/wiz,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"kJ" = (/obj/item/flag/wiz,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
"kK" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad)
-"kL" = (/obj/effect/landmark{name = "Syndicate-Commando"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"kL" = (/obj/effect/landmark{name = "Syndicate-Commando";tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"kM" = (/turf/unsimulated/wall/abductor{icon_state = "alien13"},/area/abductor_ship)
"kN" = (/obj/structure/table/abductor,/obj/item/storage/box/alienhandcuffs,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kO" = (/obj/effect/landmark/abductor/scientist{team = 4},/turf/unsimulated/floor/abductor,/area/abductor_ship)
@@ -563,50 +510,46 @@
"kQ" = (/turf/unsimulated/wall/abductor{icon_state = "alien10"},/area/abductor_ship)
"kR" = (/obj/structure/table/abductor,/obj/item/paper/abductor,/obj/item/scalpel/alien,/obj/item/cautery/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"kS" = (/turf/unsimulated/wall/abductor{icon_state = "alien11"},/area/abductor_ship)
-"kT" = (/obj/machinery/camera{pixel_x = 10; network = list("Thunderdome"); c_tag = "Thunderdome Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
+"kT" = (/obj/machinery/camera{pixel_x = 10;network = list("Thunderdome");c_tag = "Thunderdome Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena_source)
"kU" = (/turf/unsimulated/wall/abductor{icon_state = "alien6"},/area/abductor_ship)
"kV" = (/obj/machinery/abductor/gland_dispenser,/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"kW" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/wizard_station)
-"kX" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/wizard_station)
-"kY" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHEAST)"; icon_state = "fakewindows"; dir = 5},/area/wizard_station)
-"kZ" = (/obj/item/trash/raisins,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"la" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/wizard_station)
-"lb" = (/obj/structure/showcase,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"lc" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"ld" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"le" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/showcase,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"lf" = (/obj/structure/rack,/obj/item/gun/energy/laser/instakill/blue{pixel_x = 3; pixel_y = -3},/obj/item/gun/energy/laser/instakill/red{pixel_x = -3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"kW" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/wizard_station)
+"kX" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/wizard_station)
+"kY" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHEAST)";icon_state = "fakewindows";dir = 5},/area/wizard_station)
+"kZ" = (/obj/item/trash/raisins,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"la" = (/turf/unsimulated/wall/fakeglass{dir = 8;icon_state = "fakewindows3";tag = "icon-fakewindows (WEST)"},/area/wizard_station)
+"lb" = (/obj/structure/showcase,/turf/unsimulated/floor{dir = 1;icon_state = "chapel"},/area/wizard_station)
+"lc" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 4;icon_state = "chapel"},/area/wizard_station)
+"ld" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 1;icon_state = "chapel"},/area/wizard_station)
+"le" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/showcase,/turf/unsimulated/floor{dir = 4;icon_state = "chapel"},/area/wizard_station)
+"lf" = (/obj/structure/rack,/obj/item/gun/energy/laser/instakill/blue{pixel_x = 3;pixel_y = -3},/obj/item/gun/energy/laser/instakill/red{pixel_x = -3;pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
"lg" = (/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad)
-"lh" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"lh" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
"li" = (/turf/unsimulated/wall/abductor{icon_state = "alien7"},/area/abductor_ship)
-"lj" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lk" = (/obj/structure/table/abductor,/obj/item/surgicaldrill/alien,/obj/item/circular_saw/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
"ll" = (/turf/unsimulated/wall/abductor{icon_state = "alien9"},/area/abductor_ship)
"lm" = (/turf/unsimulated/wall/abductor{icon_state = "alien8"},/area/abductor_ship)
"ln" = (/turf/unsimulated/wall/abductor{icon_state = "alien2"},/area/abductor_ship)
-"lo" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"lp" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"lq" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/wizard_station)
-"lr" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
+"lo" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/wizard_station)
+"lp" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/wizard_station)
+"lq" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)";icon_state = "fakewindows2";dir = 1},/area/wizard_station)
+"lr" = (/turf/unsimulated/floor{dir = 8;icon_state = "chapel"},/area/wizard_station)
"ls" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"lt" = (/mob/living/carbon/human/monkey,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
+"lt" = (/mob/living/carbon/human/monkey,/turf/unsimulated/floor{dir = 8;icon_state = "chapel"},/area/wizard_station)
"lu" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"lv" = (/obj/structure/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"lw" = (/obj/structure/chair/comfy/black{dir = 8},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"lx" = (/obj/machinery/door/airlock/security/glass{name = "Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{id_tag = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"lx" = (/obj/machinery/door/airlock/security/glass{name = "Airlock";req_access_txt = "150"},/obj/machinery/door/poddoor{id_tag = "syndicate_elite_mech_room";name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"ly" = (/turf/unsimulated/wall/abductor,/area/abductor_ship)
"lz" = (/turf/unsimulated/wall/abductor{icon_state = "alien4"},/area/abductor_ship)
"lA" = (/turf/unsimulated/wall/abductor{icon_state = "alien3"},/area/abductor_ship)
-"lB" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
+"lB" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea";name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
"lC" = (/turf/unsimulated/wall,/area/tdome/arena_source)
"lD" = (/obj/machinery/igniter,/turf/simulated/floor/plasteel,/area/tdome/arena_source)
"lE" = (/obj/machinery/light/spot,/turf/simulated/floor/plasteel,/area/tdome/arena_source)
"lF" = (/turf/unsimulated/wall/abductor{icon_state = "alien5"},/area/abductor_ship)
-"lG" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"lH" = (/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"lI" = (/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"lJ" = (/obj/structure/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"lK" = (/obj/structure/rack,/obj/item/storage/box/syndie_kit/hardsuit,/obj/item/storage/box/syndie_kit/elite_hardsuit{pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"lG" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/wizard_station)
+"lH" = (/turf/unsimulated/floor{dir = 1;icon_state = "chapel"},/area/wizard_station)
+"lI" = (/turf/unsimulated/floor{dir = 4;icon_state = "chapel"},/area/wizard_station)
+"lK" = (/obj/structure/rack,/obj/item/storage/box/syndie_kit/hardsuit,/obj/item/storage/box/syndie_kit/elite_hardsuit{pixel_x = -6;pixel_y = 6},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
"lL" = (/obj/machinery/abductor/experiment{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lM" = (/obj/machinery/abductor/pad{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lN" = (/obj/machinery/abductor/console{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
@@ -618,110 +561,95 @@
"lT" = (/obj/effect/landmark/abductor/scientist{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lU" = (/obj/effect/landmark/abductor/agent{team = 2},/turf/unsimulated/floor/abductor,/area/abductor_ship)
"lV" = (/obj/effect/landmark/abductor/scientist{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"lW" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3; pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
-"lX" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3; pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
+"lW" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3;pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
+"lX" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3;pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source)
"lY" = (/obj/effect/landmark/abductor/agent{team = 3},/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"lZ" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/gamma)
-"ma" = (/obj/effect/decal/cleanable/molten_object,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
+"lZ" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{tag = "icon-red (EAST)";icon_state = "red";dir = 4},/area/centcom/gamma)
+"ma" = (/obj/effect/decal/cleanable/molten_object,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/wizard_station)
"mb" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station)
-"mc" = (/obj/item/trash/chips,/obj/machinery/light/spot,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"mc" = (/obj/item/trash/chips,/obj/machinery/light/spot,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
"md" = (/obj/structure/extinguisher_cabinet,/turf/unsimulated/wall,/area/centcom/gamma)
-"me" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"mf" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mg" = (/obj/item/mop,/obj/structure/mirror{pixel_x = 28},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"mh" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mi" = (/obj/machinery/door_control{id = "nukeop_ready"; name = "Mission Launch Control"; pixel_x = -26; pixel_y = -2; req_access_txt = "151"},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mj" = (/obj/structure/chair/comfy/black{dir = 1},/obj/effect/landmark{name = "ERT Director"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"mk" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"ml" = (/obj/structure/chair/stool,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
-"mm" = (/obj/structure/chair/stool,/obj/structure/sign/poster/random{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"mn" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"mo" = (/obj/structure/chair/stool,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"mp" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"mq" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
+"me" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{dir = 8;icon_state = "chapel"},/area/wizard_station)
+"mg" = (/obj/item/mop,/obj/structure/mirror{pixel_x = 28},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"mh" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"mi" = (/obj/machinery/door_control{id = "nukeop_ready";name = "Mission Launch Control";pixel_x = -26;pixel_y = -2;req_access_txt = "151"},/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"mr" = (/turf/unsimulated/wall,/area/trader_station/sol)
-"ms" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)"; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
"mt" = (/turf/space,/area/syndicate_mothership/elite_squad)
-"mu" = (/obj/effect/landmark{name = "Syndicate-Commando"; tag = "Commando"},/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"mu" = (/obj/effect/landmark{name = "Syndicate-Commando";tag = "Commando"},/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"mv" = (/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"mw" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/trader_station/sol)
-"mx" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/trader_station/sol)
-"my" = (/obj/machinery/computer/shuttle/trade/sol,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mz" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mA" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mB" = (/turf/unsimulated/floor{dir = 8; icon_state = "browncorner"},/area/trader_station/sol)
-"mC" = (/obj/machinery/door/airlock/external{id_tag = "trade_sol_base"; name = "Docking Port"},/turf/unsimulated/floor/plating,/area/trader_station/sol)
-"mD" = (/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 11; id = "trade_sol_base"; name = "docking bay 2 at Jupiter Station"; width = 5},/turf/space,/area/space)
-"mE" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mF" = (/turf/unsimulated/floor{dir = 8; icon_state = "brown"},/area/trader_station/sol)
-"mG" = (/turf/unsimulated/floor{dir = 1; icon_state = "browncorner"},/area/trader_station/sol)
-"mH" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/trader_station/sol)
-"mI" = (/obj/machinery/light{dir = 1; in_use = 1},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mJ" = (/obj/structure/chair/comfy/brown,/obj/effect/landmark{name = "traderstart_sol"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mK" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/trader_station/sol)
-"mL" = (/obj/structure/dispenser,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mM" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 4; name = "4maintenance loot spawner"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mN" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/trade_sol_rare,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mO" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/trade_sol_common,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mP" = (/obj/structure/table/wood,/obj/item/dice/d20,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mQ" = (/obj/structure/chair/comfy/brown{dir = 4},/obj/effect/landmark{name = "traderstart_sol"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mR" = (/obj/structure/table/wood,/obj/item/paper_bin,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mS" = (/obj/structure/rack,/obj/item/storage/box/syndie_kit/space,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mT" = (/obj/structure/chair/comfy/brown{dir = 1},/obj/effect/landmark{name = "traderstart_sol"},/obj/machinery/light{dir = 4},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mU" = (/turf/unsimulated/wall/fakeglass{dir = 0; icon_state = "fakewindows"; tag = "icon-fakewindows (EAST)"},/area/trader_station/sol)
-"mV" = (/obj/machinery/light,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mW" = (/obj/machinery/door/airlock{name = "Toilet"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mX" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"mY" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/trader_station/sol)
-"mZ" = (/obj/item/mop,/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/trader_station/sol)
-"na" = (/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/obj/item/soap,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/trader_station/sol)
+"mw" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/trader_station/sol)
+"mx" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/trader_station/sol)
+"my" = (/obj/machinery/computer/shuttle/trade/sol,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mz" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mA" = (/obj/machinery/light{dir = 4;icon_state = "tube1"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mB" = (/turf/unsimulated/floor{dir = 8;icon_state = "browncorner"},/area/trader_station/sol)
+"mC" = (/obj/machinery/door/airlock/external{id_tag = "trade_sol_base";name = "Docking Port"},/turf/unsimulated/floor/plating,/area/trader_station/sol)
+"mD" = (/obj/docking_port/stationary{dir = 8;dwidth = 2;height = 11;id = "trade_sol_base";name = "docking bay 2 at Jupiter Station";width = 5},/turf/space,/area/space)
+"mE" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mF" = (/turf/unsimulated/floor{dir = 8;icon_state = "brown"},/area/trader_station/sol)
+"mG" = (/turf/unsimulated/floor{dir = 1;icon_state = "browncorner"},/area/trader_station/sol)
+"mH" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 1},/area/trader_station/sol)
+"mI" = (/obj/machinery/light{dir = 1;in_use = 1},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mK" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2";dir = 1},/area/trader_station/sol)
+"mL" = (/obj/structure/dispenser,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mM" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 4;name = "4maintenance loot spawner"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mN" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/trade_sol_rare,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mO" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/trade_sol_common,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mP" = (/obj/structure/table/wood,/obj/item/dice/d20,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mR" = (/obj/structure/table/wood,/obj/item/paper_bin,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mS" = (/obj/structure/rack,/obj/item/storage/box/syndie_kit/space,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mU" = (/turf/unsimulated/wall/fakeglass{dir = 0;icon_state = "fakewindows";tag = "icon-fakewindows (EAST)"},/area/trader_station/sol)
+"mV" = (/obj/machinery/light,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mW" = (/obj/machinery/door/airlock{name = "Toilet";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mX" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"mY" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/trader_station/sol)
+"mZ" = (/obj/item/mop,/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/trader_station/sol)
+"na" = (/obj/structure/mopbucket,/obj/machinery/light{dir = 1},/obj/item/soap,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/trader_station/sol)
"nb" = (/turf/unsimulated/floor{icon_state = "browncorner"},/area/trader_station/sol)
"nc" = (/turf/unsimulated/floor{icon_state = "brown"},/area/trader_station/sol)
-"nd" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/trader_station/sol)
-"ne" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/trader_station/sol)
-"nf" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/trader_station/sol)
-"ng" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/trader_station/sol)
-"nh" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHEAST)"; icon_state = "fakewindows"; dir = 5},/area/trader_station/sol)
-"ni" = (/turf/unsimulated/wall{desc = "It opens and closes."; icon = 'icons/obj/doors/airlocks/station/mining.dmi'; icon_state = "closed"; name = "Docking Bay 2"},/area/trader_station/sol)
+"nd" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/trader_station/sol)
+"ne" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4;icon_state = "sink";pixel_x = 11;pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/trader_station/sol)
+"nf" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows";dir = 8},/area/trader_station/sol)
+"ng" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/trader_station/sol)
+"nh" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHEAST)";icon_state = "fakewindows";dir = 5},/area/trader_station/sol)
+"ni" = (/turf/unsimulated/wall{desc = "It opens and closes.";icon = 'icons/obj/doors/airlocks/station/mining.dmi';icon_state = "closed";name = "Docking Bay 2"},/area/trader_station/sol)
"nj" = (/turf/unsimulated/wall,/area/syndicate_mothership)
-"nk" = (/obj/structure/toilet{dir = 8},/obj/structure/window/reinforced/tinted{dir = 1},/obj/machinery/door/window{dir = 8; name = "Toilet"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/trader_station/sol)
-"nl" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/trader_station/sol)
-"nm" = (/obj/machinery/light{dir = 4},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol)
-"nn" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 11; id = "trade_sol_transit"; name = "trade_sol in transit"; turf_type = /turf/space/transit/horizontal; width = 5},/turf/space/transit/horizontal,/area/space)
+"nk" = (/obj/structure/toilet{dir = 8},/obj/structure/window/reinforced/tinted{dir = 1},/obj/machinery/door/window{dir = 8;name = "Toilet";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/trader_station/sol)
+"nl" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)";icon_state = "fakewindows2";dir = 1},/area/trader_station/sol)
+"nm" = (/obj/machinery/light{dir = 4},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"nn" = (/obj/docking_port/stationary/transit{dir = 8;dwidth = 2;height = 11;id = "trade_sol_transit";name = "trade_sol in transit";turf_type = /turf/space/transit/horizontal;width = 5},/turf/space/transit/horizontal,/area/space)
"no" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"np" = (/obj/structure/table,/obj/item/surgicaldrill,/obj/item/stack/medical/bruise_pack/advanced,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
+"np" = (/obj/structure/table,/obj/item/surgicaldrill,/obj/item/stack/medical/bruise_pack/advanced,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
"nq" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/infteam)
"nr" = (/obj/machinery/vending/syndicigs,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"ns" = (/obj/machinery/vending/syndisnack,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nt" = (/obj/structure/table,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nu" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nu" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nv" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nw" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Silent Killing Methods)"},/area/syndicate_mothership/infteam)
+"nw" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi';icon_state = "book-5";name = "bookcase (Silent Killing Methods)"},/area/syndicate_mothership/infteam)
"nx" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"ny" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Infiltration Tactics)"},/area/syndicate_mothership/infteam)
-"nz" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Mission Reports)"},/area/syndicate_mothership/infteam)
-"nA" = (/obj/effect/landmark{name = "Syndicate-Infiltrator"; tag = "Commando"},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"ny" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi';icon_state = "book-5";name = "bookcase (Infiltration Tactics)"},/area/syndicate_mothership/infteam)
+"nz" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi';icon_state = "book-5";name = "bookcase (Mission Reports)"},/area/syndicate_mothership/infteam)
+"nA" = (/obj/effect/landmark{name = "Syndicate-Infiltrator";tag = "Commando"},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nB" = (/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nC" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/effect/landmark{name = "Syndicate-Infiltrator"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nD" = (/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (WEST)"},/area/syndicate_mothership/infteam)
-"nE" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nC" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)";icon_state = "tube1";dir = 8},/obj/effect/landmark{name = "Syndicate-Infiltrator";tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nD" = (/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end (WEST)"},/area/syndicate_mothership/infteam)
+"nE" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nF" = (/obj/structure/table/wood,/obj/item/ashtray/glass{icon_state = "ashtray_half_gl"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nG" = (/obj/structure/chair/comfy/black,/obj/effect/landmark{name = "Syndicate-Infiltrator-Admin"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nH" = (/obj/effect/landmark{name = "Syndicate-Infiltrator"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nH" = (/obj/effect/landmark{name = "Syndicate-Infiltrator";tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nI" = (/obj/structure/table/wood,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nJ" = (/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/syndicate_mothership/infteam)
-"nK" = (/obj/structure/table/wood,/obj/machinery/door_control{id = "syndicate_sit_office"; name = "Office Blast Doors"; pixel_x = -5; pixel_y = 3; req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nJ" = (/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/syndicate_mothership/infteam)
+"nK" = (/obj/structure/table/wood,/obj/machinery/door_control{id = "syndicate_sit_office";name = "Office Blast Doors";pixel_x = -5;pixel_y = 3;req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nL" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nM" = (/obj/structure/table/wood,/obj/item/syndicatedetonator,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nN" = (/obj/effect/landmark{name = "Syndicate-Infiltrator-Leader"; tag = "Commando"},/obj/machinery/door_control{id = "syndicate_sit_1"; name = "Ship Blast Doors (team leader only)"; pixel_x = -26; pixel_y = -2; req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nO" = (/obj/machinery/door/poddoor{id_tag = "syndicate_sit_office"; name = "Office Blast Door"},/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness"; name = "Syndicate Officer's Office"; req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nN" = (/obj/effect/landmark{name = "Syndicate-Infiltrator-Leader";tag = "Commando"},/obj/machinery/door_control{id = "syndicate_sit_1";name = "Ship Blast Doors (team leader only)";pixel_x = -26;pixel_y = -2;req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nO" = (/obj/machinery/door/poddoor{id_tag = "syndicate_sit_office";name = "Office Blast Door"},/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness";name = "Syndicate Officer's Office";req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nP" = (/obj/item/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nQ" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nR" = (/obj/structure/mirror{pixel_x = -28},/obj/effect/landmark{name = "Syndicate-Infiltrator"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nR" = (/obj/structure/mirror{pixel_x = -28},/obj/effect/landmark{name = "Syndicate-Infiltrator";tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nS" = (/obj/machinery/pdapainter,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nT" = (/obj/machinery/door/airlock/external{id_tag = "sst_away"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
-"nU" = (/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "sit_away"; name = "Syndicate Base"; width = 11},/turf/space,/area/space)
-"nV" = (/obj/structure/table,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nT" = (/obj/machinery/door/airlock/external{id_tag = "sst_away";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"nU" = (/obj/docking_port/stationary{dir = 8;dwidth = 3;height = 5;id = "sit_away";name = "Syndicate Base";width = 11},/turf/space,/area/space)
+"nV" = (/obj/structure/table,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nW" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nX" = (/obj/structure/table,/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"nY" = (/obj/structure/table,/obj/item/storage/backpack/medic,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
@@ -729,820 +657,1521 @@
"oa" = (/obj/structure/table,/obj/item/storage/backpack/science,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"ob" = (/obj/structure/table,/obj/item/storage/backpack/industrial,/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
"oc" = (/obj/effect/landmark/shuttle_import,/turf/space,/area/space)
-"od" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/escape)
-"oe" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape)
-"of" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape)
+"od" = (/turf/simulated/shuttle/wall{tag = "icon-swall12";icon_state = "swall12";dir = 2},/area/shuttle/escape)
+"oe" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6";dir = 2},/area/shuttle/escape)
+"of" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10";dir = 2},/area/shuttle/escape)
"og" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"oh" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape)
-"oi" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"oj" = (/obj/structure/chair/sofa/right,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"ok" = (/obj/structure/chair/sofa/corner,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"ol" = (/obj/machinery/door/airlock/external{id_tag = "specops_away"; name = "Shuttle Hatch"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"om" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup{dwidth = 9; roundstart_move = null},/obj/docking_port/stationary{dir = 4; dwidth = 3; height = 8; id = "backup_away"; name = "Backup Shuttle Dock"; width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape)
+"oh" = (/turf/simulated/shuttle/wall{tag = "icon-swall3";icon_state = "swall3";dir = 2},/area/shuttle/escape)
+"ol" = (/obj/machinery/door/airlock/external{id_tag = "specops_away";name = "Shuttle Hatch";req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"om" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup{dwidth = 9;roundstart_move = null},/obj/docking_port/stationary{dir = 4;dwidth = 3;height = 8;id = "backup_away";name = "Backup Shuttle Dock";width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape)
"on" = (/turf/unsimulated/floor{icon_state = "light_on"},/area/centcom/specops)
"oo" = (/obj/machinery/shuttle_manipulator,/turf/unsimulated/floor{icon_state = "light_on"},/area/centcom/specops)
"op" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
-"oq" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape)
-"or" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape)
-"os" = (/obj/structure/table,/obj/item/reagent_containers/food/snacks/grown/citrus/lemon,/obj/item/reagent_containers/food/snacks/grown/berries,/obj/item/reagent_containers/food/snacks/grown/banana,/obj/item/reagent_containers/food/snacks/grown/cherries,/obj/item/reagent_containers/food/snacks/grown/citrus/orange,/obj/item/reagent_containers/food/snacks/grown/corn,/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"ot" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ou" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"ov" = (/obj/mecha/combat/marauder/seraph/loaded,/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ow" = (/obj/effect/decal/warning_stripes/west,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"ox" = (/obj/machinery/mass_driver{dir = 8; drive_range = 50; id_tag = "ASSAULT3"; name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"oy" = (/obj/effect/decal/warning_stripes/yellow/partial{dir = 8},/obj/effect/decal/warning_stripes/arrow{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"oz" = (/obj/mecha/combat/marauder/loaded,/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"oA" = (/obj/machinery/mass_driver{dir = 8; drive_range = 50; id_tag = "ASSAULT2"; name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"oB" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership)
-"oC" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership)
-"oD" = (/obj/docking_port/stationary{dir = 4; dwidth = 11; height = 18; id = "emergency_away"; name = "emergency centcom"; width = 29},/turf/space,/area/space)
-"oE" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/gamma/space)
-"oF" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/gamma/space)
-"oG" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/gamma/space)
-"oH" = (/obj/structure/table,/obj/item/storage/fancy/crayons,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"oI" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"oq" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5";dir = 2},/area/shuttle/escape)
+"or" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9";dir = 2},/area/shuttle/escape)
+"os" = (/obj/structure/table,/obj/item/reagent_containers/food/snacks/grown/citrus/lemon,/obj/item/reagent_containers/food/snacks/grown/berries,/obj/item/reagent_containers/food/snacks/grown/banana,/obj/item/reagent_containers/food/snacks/grown/cherries,/obj/item/reagent_containers/food/snacks/grown/citrus/orange,/obj/item/reagent_containers/food/snacks/grown/corn,/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"ot" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 8;icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
+"ou" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 1;icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
+"ov" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"ow" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3";icon_state = "diagonalWall3";dir = 2},/area/shuttle/assault_pod)
+"ox" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 4;icon_state = "diagonalWall3"},/area/shuttle/assault_pod)
+"oy" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (NORTH)";icon_state = "gravsnow_corner";dir = 1},/area/syndicate_mothership)
+"oz" = (/turf/unsimulated/floor/snow,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
+"oA" = (/turf/unsimulated/floor/snow,/obj/structure/flora/tree/pine,/turf/unsimulated/floor/snow{icon_state = "gravsnow_corner"},/area/syndicate_mothership)
+"oB" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/syndicate_mothership)
+"oC" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/syndicate_mothership)
+"oD" = (/turf/unsimulated/floor/snow,/obj/structure/flora/bush,/turf/unsimulated/floor/snow{tag = "icon-gravsnow_corner (WEST)";icon_state = "gravsnow_corner";dir = 8},/area/syndicate_mothership)
+"oE" = (/turf/simulated/shuttle/wall{tag = "icon-swall12";icon_state = "swall12";dir = 2},/area/shuttle/gamma/space)
+"oF" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10";dir = 2},/area/shuttle/gamma/space)
+"oG" = (/turf/simulated/shuttle/wall{tag = "icon-swall3";icon_state = "swall3";dir = 2},/area/shuttle/gamma/space)
+"oH" = (/obj/structure/table,/obj/item/storage/fancy/crayons,/obj/item/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"oI" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
"oJ" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/gun/projectile/automatic/pistol{name = "pistol"},/obj/item/gun/projectile/automatic/pistol{name = "pistol"},/obj/item/gun/projectile/automatic/pistol{name = "pistol"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"oK" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/centcom/gamma)
-"oL" = (/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/gamma)
-"oM" = (/obj/effect/decal/warning_stripes/northwest,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"oN" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/gun/projectile/shotgun/automatic/combat,/obj/item/gun/projectile/shotgun/automatic/combat,/obj/item/gun/projectile/shotgun/automatic/combat,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"oO" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"oP" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/sniperrifle,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"oQ" = (/obj/machinery/vending/syndisnack,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"oR" = (/obj/machinery/vending/syndicigs,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"oS" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Mass Drivers"; dir = 2; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"oK" = (/turf/simulated/floor/plasteel{icon_state = "red";dir = 8},/area/centcom/gamma)
+"oL" = (/turf/unsimulated/floor{tag = "icon-red (EAST)";icon_state = "red";dir = 4},/area/centcom/gamma)
+"oN" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/gun/projectile/shotgun/automatic/combat,/obj/item/gun/projectile/shotgun/automatic/combat,/obj/item/gun/projectile/shotgun/automatic/combat,/obj/machinery/status_display{density = 0;layer = 4;pixel_x = 0;pixel_y = 32},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)";icon_state = "tube1";dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
+"oO" = (/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"oP" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/sniperrifle,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
+"oQ" = (/obj/machinery/vending/syndisnack,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"oR" = (/obj/machinery/vending/syndicigs,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"oS" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Mass Drivers";dir = 2;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
"oT" = (/turf/simulated/floor/plasteel{icon_state = "red"},/area/centcom/gamma)
-"oU" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/centcom/gamma)
-"oV" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/centcom/gamma)
+"oU" = (/turf/simulated/floor/plasteel{icon_state = "red";dir = 10},/area/centcom/gamma)
+"oV" = (/turf/simulated/floor/plasteel{icon_state = "red";dir = 6},/area/centcom/gamma)
"oW" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"oX" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"oY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/ausbushes,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"oZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"pa" = (/obj/structure/noticeboard{pixel_x = -32},/obj/item/paper/syndimemo,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/ausbushes/leafybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops)
-"pc" = (/mob/living/simple_animal/pet/fox/Syndifox,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pd" = (/obj/effect/decal/warning_stripes/southeastcorner,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pe" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"oY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/ausbushes,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"oZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"pa" = (/obj/structure/noticeboard{pixel_x = -32},/obj/item/paper/syndimemo,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/ausbushes/leafybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/specops)
+"pc" = (/mob/living/simple_animal/pet/fox/Syndifox,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pd" = (/obj/effect/decal/warning_stripes/southeastcorner,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pe" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"pf" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
"pg" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "16"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
"ph" = (/obj/machinery/recharger/wallcharger{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
"pi" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"pj" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
+"pj" = (/obj/structure/sign/securearea{pixel_x = -32;pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
"pk" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/gun/rocketlauncher,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"pl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pm" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = -2; pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"pl" = (/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pm" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = -2;pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
"pn" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
"po" = (/obj/structure/table/reinforced,/obj/item/grenade/clusterbuster,/obj/item/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/kitchen/knife/combat,/obj/item/kitchen/knife/combat,/obj/item/kitchen/knife/combat,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
"pp" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership)
-"pq" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Bathroom"; dir = 2; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops)
-"pr" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ps" = (/obj/machinery/telecomms/server/presets/centcomm,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
+"pq" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Bathroom";dir = 2;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/specops)
+"pr" = (/obj/machinery/door/airlock/centcom{name = "Bathroom";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"ps" = (/obj/machinery/telecomms/server/presets/centcomm,/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
"pt" = (/obj/machinery/door/airlock/shuttle{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"pu" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHWEST)"; icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership)
-"pv" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership)
-"pw" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/snacks/mushroompizzaslice{pixel_x = -5; pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"px" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = 5; pixel_y = -2},/obj/item/toy/cards/deck/syndicate{pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"py" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership)
+"pu" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHWEST)";icon_state = "fakewindows";dir = 9},/area/syndicate_mothership)
+"pv" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/syndicate_mothership)
+"pw" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/snacks/mushroompizzaslice{pixel_x = -5;pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"px" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/cans/beer{pixel_x = 5;pixel_y = -2},/obj/item/toy/cards/deck/syndicate{pixel_x = -6;pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"py" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)";icon_state = "fakewindows2";dir = 1},/area/syndicate_mothership)
"pz" = (/turf/unsimulated/floor{icon_state = "floor"},/area/syndicate_mothership)
"pA" = (/obj/machinery/light,/turf/unsimulated/floor{icon_state = "floor"},/area/syndicate_mothership)
-"pB" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{dir = 4; pixel_x = 32; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops)
-"pC" = (/obj/machinery/door/poddoor{id_tag = "nukeop_ready"; name = "Shuttle Dock Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"pD" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/gamma/space)
-"pE" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"pB" = (/obj/structure/sink{dir = 4;icon_state = "sink";pixel_x = 11;pixel_y = 0},/obj/structure/mirror{dir = 4;pixel_x = 32;pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/specops)
+"pC" = (/obj/machinery/door/poddoor{id_tag = "nukeop_ready";name = "Shuttle Dock Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"pD" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5";dir = 2},/area/shuttle/gamma/space)
"pF" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership)
-"pG" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops)
-"pH" = (/obj/machinery/bsa/full/admin/east,/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"pI" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"pJ" = (/obj/structure/flora/ausbushes/stalkybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"pK" = (/obj/structure/flora/ausbushes/pointybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"pL" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"pM" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"pN" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"pO" = (/obj/structure/flora/ausbushes,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"pP" = (/obj/structure/flora/ausbushes/leafybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
+"pG" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/specops)
+"pI" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"pJ" = (/obj/structure/flora/ausbushes/stalkybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"pK" = (/obj/structure/flora/ausbushes/pointybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"pL" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"pM" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"pN" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"pO" = (/obj/structure/flora/ausbushes,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"pP" = (/obj/structure/flora/ausbushes/leafybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
"pQ" = (/obj/structure/closet/secure_closet/brig,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"pR" = (/obj/structure/table/wood,/obj/item/storage/box/drinkingglasses,/obj/item/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"pS" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"pT" = (/obj/structure/table/wood,/obj/item/syndicatedetonator,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"pU" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pV" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pW" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"pX" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"pY" = (/obj/structure/closet/secure_closet/brig,/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room East"; dir = 8; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"pZ" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"qa" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"qb" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
+"pR" = (/obj/structure/table/wood,/obj/item/storage/box/drinkingglasses,/obj/item/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"pS" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"pT" = (/obj/structure/table/wood,/obj/item/syndicatedetonator,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"pU" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pV" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pW" = (/obj/machinery/door/airlock/centcom{name = "Restroom";opacity = 1;req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"pX" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/syndicate_mothership)
+"pY" = (/obj/structure/closet/secure_closet/brig,/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room East";dir = 8;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"pZ" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"qa" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
+"qb" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass1";name = "grass"},/area/centcom/evac)
"qc" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"qd" = (/obj/machinery/door/airlock/centcom{name = "Medical Treatment Post"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"qe" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/centcom/evac)
-"qf" = (/obj/effect/decal/warning_stripes/southeastcorner,/obj/item/radio/intercom/syndicate{pixel_x = -28},/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"qg" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"qh" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"qi" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"qj" = (/obj/machinery/door/window{dir = 4; name = "Uplink Management Control"; req_access_txt = "151"},/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
-"qk" = (/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/centcom/evac)
-"ql" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/centcom/evac)
-"qm" = (/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/centcom/evac)
-"qn" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/centcom/evac)
+"qd" = (/obj/machinery/door/airlock/centcom{name = "Medical Treatment Post";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"qe" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTHWEST)";icon_state = "whiteblue";dir = 9},/area/centcom/evac)
+"qf" = (/obj/effect/decal/warning_stripes/southeastcorner,/obj/item/radio/intercom/syndicate{pixel_x = -28},/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"qg" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"qh" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"qi" = (/obj/effect/decal/warning_stripes/southwestcorner,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"qj" = (/obj/machinery/door/window{dir = 4;name = "Uplink Management Control";req_access_txt = "151"},/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
+"qk" = (/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)";icon_state = "whiteblue";dir = 1},/area/centcom/evac)
+"ql" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)";icon_state = "whiteblue";dir = 1},/area/centcom/evac)
+"qm" = (/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTHEAST)";icon_state = "whiteblue";dir = 5},/area/centcom/evac)
+"qn" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (WEST)";icon_state = "whiteblue";dir = 8},/area/centcom/evac)
"qo" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/centcom/evac)
-"qp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/centcom/evac)
-"qq" = (/turf/simulated/floor/plasteel{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/centcom/evac)
-"qr" = (/obj/structure/sign/double/map/left{pixel_y = -32},/obj/effect/decal/warning_stripes/west,/obj/machinery/light,/obj/structure/rack/skeletal_bar/left,/obj/item/reagent_containers/food/drinks/bottle/vodka,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
+"qp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9;icon_state = "intact"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/centcom/evac)
+"qq" = (/turf/simulated/floor/plasteel{tag = "icon-whiteblue (EAST)";icon_state = "whiteblue";dir = 4},/area/centcom/evac)
+"qr" = (/obj/structure/sign/double/map/left{pixel_y = -32},/obj/effect/decal/warning_stripes/west,/obj/machinery/light,/obj/structure/rack/skeletal_bar/left,/obj/item/reagent_containers/food/drinks/bottle/vodka,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
"qs" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/centcom/evac)
"qt" = (/obj/machinery/computer/telecrystals/boss,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership)
-"qu" = (/obj/structure/sign/double/map/right{pixel_y = -32},/obj/structure/rack/skeletal_bar/right,/obj/item/reagent_containers/food/drinks/bottle/gin,/turf/unsimulated/floor{dir = 2; icon_state = "wood"},/area/syndicate_mothership)
+"qu" = (/obj/structure/sign/double/map/right{pixel_y = -32},/obj/structure/rack/skeletal_bar/right,/obj/item/reagent_containers/food/drinks/bottle/gin,/turf/unsimulated/floor{dir = 2;icon_state = "wood"},/area/syndicate_mothership)
"qv" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/centcom/evac)
-"qw" = (/obj/machinery/door/airlock/multi_tile/glass{name = "Equipment Room"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"qx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; initialize_directions = 10},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/centcom/evac)
-"qy" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/centcom/evac)
-"qz" = (/obj/structure/table,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/centcom/evac)
-"qA" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/centcom/evac)
-"qB" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/centcom/evac)
-"qC" = (/obj/structure/table,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/brute,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/centcom/evac)
-"qD" = (/turf/unsimulated/floor{dir = 2; icon_state = "stage_stairs"},/area/syndicate_mothership)
-"qE" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor,/area/syndicate_mothership)
+"qw" = (/obj/machinery/door/airlock/multi_tile/glass{name = "Equipment Room";req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"qx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10;initialize_directions = 10},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (EAST)";icon_state = "whiteblue";dir = 4},/area/centcom/evac)
+"qy" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1;name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (SOUTHWEST)";icon_state = "whiteblue";dir = 10},/area/centcom/evac)
+"qz" = (/obj/structure/table,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0;pixel_y = 0},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0;pixel_y = 0},/turf/simulated/floor/plasteel{dir = 2;icon_state = "whiteblue";tag = "icon-whitehall (WEST)"},/area/centcom/evac)
+"qA" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1;name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor/plasteel{dir = 2;icon_state = "whiteblue";tag = "icon-whitehall (WEST)"},/area/centcom/evac)
+"qB" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (SOUTHEAST)";icon_state = "whiteblue";dir = 6},/area/centcom/evac)
+"qC" = (/obj/structure/table,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/brute,/turf/simulated/floor/plasteel{dir = 2;icon_state = "whiteblue";tag = "icon-whitehall (WEST)"},/area/centcom/evac)
+"qD" = (/turf/unsimulated/floor{dir = 2;icon_state = "stage_stairs"},/area/syndicate_mothership)
+"qE" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/unsimulated/floor,/area/syndicate_mothership)
"qF" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/syndicate_mothership)
"qG" = (/obj/machinery/computer/mech_bay_power_console,/turf/unsimulated/floor,/area/syndicate_mothership)
-"qH" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
+"qH" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
"qI" = (/turf/unsimulated/wall,/area/centcom/suppy)
-"qJ" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
"qK" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/centcom)
-"qL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
-"qM" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
+"qL" = (/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
+"qM" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
"qN" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom)
"qO" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom)
"qP" = (/obj/effect/decal/cleanable/blood,/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom)
-"qQ" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/centcom)
"qR" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
-"qS" = (/obj/effect/decal/warning_stripes/northeast,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
"qT" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/centcom)
"qU" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/centcom)
"qV" = (/turf/unsimulated/floor{name = "plating"},/area/centcom)
"qW" = (/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/centcom)
-"qX" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/syndicate_mothership)
-"qY" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi'; icon_state = "closed"; name = "Locked Door"},/area/centcom)
-"qZ" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/centcom)
+"qX" = (/turf/unsimulated/wall/fakeglass{dir = 8;icon_state = "fakewindows3";tag = "icon-fakewindows (WEST)"},/area/syndicate_mothership)
+"qY" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly.";icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi';icon_state = "closed";name = "Locked Door"},/area/centcom)
+"qZ" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/unsimulated/wall/fakeglass{dir = 8;icon_state = "fakewindows3";tag = "icon-fakewindows (WEST)"},/area/centcom)
"ra" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"rb" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Bathroom"; dir = 2; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
+"rb" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Bathroom";dir = 2;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
"rc" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
"rd" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{icon_state = "panelscorched"},/area/centcom)
-"re" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/syndicate_mothership)
-"rf" = (/obj/structure/table,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership)
+"re" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{icon_state = "vault";dir = 8},/area/syndicate_mothership)
+"rf" = (/obj/structure/table,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
"rg" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
"rh" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "platingdmg1"},/area/centcom)
"ri" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/centcom)
-"rj" = (/obj/structure/rack,/obj/item/implanter/adrenalin{pixel_x = 12; pixel_y = -12},/obj/item/implanter/emp{pixel_x = 9; pixel_y = -9},/obj/item/implanter/explosive{pixel_x = 6; pixel_y = -6},/obj/item/implanter/explosive_macro{pixel_x = 3; pixel_y = -3},/obj/item/implanter/freedom,/obj/item/implanter/krav_maga{pixel_x = -9; pixel_y = 9},/obj/item/implanter/mindshield{pixel_x = -6; pixel_y = 6},/obj/item/implanter/storage{pixel_x = -3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"rk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/gamma/space)
-"rl" = (/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"rm" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/mech_bay_recharge_port/upgraded,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"rn" = (/obj/machinery/power/apc{dir = 2; name = "Gamma Armory APC"; pixel_y = -24},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"ro" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/computer/mech_bay_power_console,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
-"rp" = (/obj/mecha/combat/durand/loaded{operation_req_access = list(1)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/mech_bay_recharge_floor,/area/shuttle/gamma/space)
-"rq" = (/obj/item/radio/intercom/specops{pixel_y = 25},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"rr" = (/obj/effect/decal/warning_stripes/southwest,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"rs" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Assault Armor Storage"; dir = 2; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"rt" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT"; name = "Assault Armor"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"ru" = (/obj/item/radio/intercom/specops{pixel_y = -28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"rv" = (/obj/machinery/door/poddoor{id_tag = "GRAVPULTS"; name = "Gravity Catapults"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"rw" = (/obj/machinery/door/poddoor{id_tag = "GRAVPULTS"; name = "Gravity Catapults"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
-"rx" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"ry" = (/obj/machinery/door/poddoor{id_tag = "CCTELE"; name = "Specops Teleporter"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"rj" = (/obj/structure/rack,/obj/item/implanter/adrenalin{pixel_x = 12;pixel_y = -12},/obj/item/implanter/emp{pixel_x = 9;pixel_y = -9},/obj/item/implanter/explosive{pixel_x = 6;pixel_y = -6},/obj/item/implanter/explosive_macro{pixel_x = 3;pixel_y = -3},/obj/item/implanter/freedom,/obj/item/implanter/krav_maga{pixel_x = -9;pixel_y = 9},/obj/item/implanter/mindshield{pixel_x = -6;pixel_y = 6},/obj/item/implanter/storage{pixel_x = -3;pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"rk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9";dir = 2},/area/shuttle/gamma/space)
+"rl" = (/obj/structure/sign/securearea{pixel_x = 32;pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
+"rm" = (/obj/structure/cable{d2 = 8;icon_state = "0-8"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/obj/machinery/mech_bay_recharge_port/upgraded,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
+"rn" = (/obj/machinery/power/apc{dir = 2;name = "Gamma Armory APC";pixel_y = -24},/obj/structure/cable{d2 = 4;icon_state = "0-4"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
+"ro" = (/obj/structure/cable{d2 = 8;icon_state = "0-8"},/obj/machinery/computer/mech_bay_power_console,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/gamma/space)
+"rp" = (/obj/mecha/combat/durand/loaded{operation_req_access = list(1)},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/simulated/floor/mech_bay_recharge_floor,/area/shuttle/gamma/space)
+"rq" = (/obj/item/radio/intercom/specops{pixel_y = 25},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"rs" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Assault Armor Storage";dir = 2;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"rt" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT";name = "Assault Armor"},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"ru" = (/obj/item/radio/intercom/specops{pixel_y = -28},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"rv" = (/obj/machinery/door/poddoor{id_tag = "GRAVPULTS";name = "Gravity Catapults"},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"rw" = (/obj/machinery/door/poddoor{id_tag = "GRAVPULTS";name = "Gravity Catapults"},/turf/unsimulated/floor{icon_state = "vault";dir = 5},/area/centcom/specops)
+"ry" = (/obj/machinery/door/poddoor{id_tag = "CCTELE";name = "Specops Teleporter"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"rz" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"rA" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"rB" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rC" = (/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "GRAVPULTS"; name = "Gravity Catapults"; pixel_x = -6; pixel_y = 6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "ASSAULT"; name = "Mech Storage"; pixel_x = 6; pixel_y = 6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CCTELE"; name = "Teleporter Access"; pixel_x = -6; pixel_y = -6; req_access_txt = "114"},/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
-"rD" = (/obj/item/radio/intercom/specops,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
"rE" = (/turf/unsimulated/wall,/area/start)
-"rF" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "specopsoffice"; name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
-"rG" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "114"},/obj/machinery/door/poddoor{id_tag = "specopsoffice"; name = "Super Privacy Shutters"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"rF" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/obj/machinery/door/poddoor/shutters{dir = 2;id_tag = "specopsoffice";name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass{dir = 8;icon_state = "fakewindows3";tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
+"rG" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command";opacity = 1;req_access_txt = "114"},/obj/machinery/door/poddoor{id_tag = "specopsoffice";name = "Super Privacy Shutters"},/turf/unsimulated/floor{icon_state = "vault";dir = 8},/area/centcom/specops)
"rH" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start)
-"rI" = (/obj/machinery/computer/security/telescreen{name = "Special Ops. Monitor"; desc = "Used for watching the Special Ops."; network = list("ERT")},/obj/structure/table/wood,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"rJ" = (/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "SPECOPS"; name = "Ready Room"; pixel_x = -6; pixel_y = 6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "specopsoffice"; name = "Privacy Shutters"; pixel_x = 6; pixel_y = -6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CCGAMMA"; name = "Gamma Lockdown"; pixel_x = -6; pixel_y = -6; req_access_txt = "114"},/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
"rK" = (/turf/unsimulated/wall/splashscreen,/area/start)
-"rL" = (/obj/structure/table/abductor,/obj/item/bonegel/alien,/obj/item/bonesetter/alien,/obj/item/FixOVein/alien,/obj/item/surgicaldrill/alien,/obj/item/circular_saw/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
-"rM" = (/obj/effect/decal/warning_stripes/southeast,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"rN" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"rO" = (/obj/machinery/mass_driver{dir = 8; drive_range = 50; id_tag = "ASSAULT1"; name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rP" = (/obj/machinery/mass_driver{dir = 8; drive_range = 50; id_tag = "ASSAULT0"; name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rQ" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Assault Armor South"; dir = 1; network = list("ERT","CentComm")},/obj/effect/decal/warning_stripes/yellow/partial{dir = 8},/obj/effect/decal/warning_stripes/arrow{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rR" = (/obj/machinery/door/airlock/centcom{name = "Team Storage"; opacity = 1; req_access_txt = "109"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rS" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"rT" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rU" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "109"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rV" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "109"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"rW" = (/obj/machinery/door/airlock/centcom{name = "Prison"; opacity = 1; req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rX" = (/obj/machinery/teleport/hub/upgraded{admin_usage = 1},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rY" = (/obj/effect/decal/warning_stripes/northwest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"rZ" = (/obj/effect/decal/warning_stripes/northeast,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"sa" = (/obj/effect/decal/warning_stripes/southwest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"sb" = (/obj/effect/decal/warning_stripes/southeast,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"sc" = (/obj/machinery/door/airlock/centcom{name = "Prison Cell"; opacity = 1; req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"sd" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom)
-"se" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"sf" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"sg" = (/obj/machinery/teleport/hub/upgraded{admin_usage = 1},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"sq" = (/turf/unsimulated/wall,/area/centcom/control)
-"sr" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ss" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"st" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
+"sr" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/centcom/control)
+"ss" = (/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/centcom/control)
+"st" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/centcom/control)
"su" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
"sv" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor,/area/centcom/control)
-"sw" = (/obj/structure/bed,/obj/item/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"sx" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"sy" = (/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"sz" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"sB" = (/obj/item/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"sC" = (/obj/item/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"sE" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"sF" = (/obj/structure/closet/secure_closet/bar{req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"sG" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"sH" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
+"sx" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters";opacity = 1;req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"sy" = (/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"sz" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"sB" = (/obj/item/reagent_containers/food/condiment/peppermill{pixel_x = 2;pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"sC" = (/obj/item/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"sE" = (/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"sF" = (/obj/structure/closet/secure_closet/bar{req_access = null;req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"sG" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"sH" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
"sI" = (/obj/machinery/vending/boozeomat{req_access_txt = "102"},/turf/unsimulated/wall,/area/centcom/control)
-"sJ" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"sK" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"sL" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"sM" = (/obj/item/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"sN" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"sO" = (/obj/structure/piano,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"sQ" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"sR" = (/obj/structure/closet/secure_closet/freezer/meat{req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"sS" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"sT" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"sU" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"sV" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"sW" = (/obj/machinery/door/airlock/centcom{name = "Freezer"; opacity = 1; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
+"sJ" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/control)
+"sK" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/control)
+"sL" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/control)
+"sM" = (/obj/item/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"sN" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"sO" = (/obj/structure/piano,/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"sQ" = (/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"sR" = (/obj/structure/closet/secure_closet/freezer/meat{req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/control)
+"sS" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/control)
+"sT" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo";pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/control)
+"sU" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"sV" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"sW" = (/obj/machinery/door/airlock/centcom{name = "Freezer";opacity = 1;req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/control)
"sX" = (/turf/unsimulated/wall,/area/centcom/specops)
-"sZ" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"td" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"te" = (/obj/machinery/recharge_station/upgraded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"tf" = (/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"tg" = (/obj/structure/table,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
+"sZ" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0;pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"td" = (/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"te" = (/obj/machinery/recharge_station/upgraded,/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"tf" = (/obj/structure/table,/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"tg" = (/obj/structure/table,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
"th" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"ti" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"tj" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT3"; name = "Launch Bay #3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"tn" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
-"to" = (/obj/structure/sign/poster/random{pixel_x = -32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"tp" = (/obj/item/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/control)
-"tq" = (/obj/machinery/vending/dinnerware{req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"tr" = (/obj/structure/table,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"ts" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave/upgraded,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control)
-"tv" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT2"; name = "Launch Bay #2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"tx" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access_txt = "114"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"ty" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"tA" = (/obj/machinery/computer/pod/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"tB" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/control)
-"tC" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/control)
-"tD" = (/obj/machinery/sleeper/upgraded,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/control)
-"tE" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control)
-"tF" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control)
-"tG" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control)
-"tH" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control)
-"tI" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT1"; name = "Launch Bay #1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"tK" = (/obj/structure/bed,/obj/item/bedsheet,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/control)
-"tL" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/control)
-"tM" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/control)
-"tQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
+"tj" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT3";name = "Launch Bay #3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"tn" = (/turf/unsimulated/floor{icon_state = "vault";dir = 5},/area/centcom/specops)
+"to" = (/obj/structure/sign/poster/random{pixel_x = -32},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"tp" = (/obj/item/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"tq" = (/obj/machinery/vending/dinnerware{req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"tr" = (/obj/structure/table,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"ts" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave/upgraded,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"tv" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT2";name = "Launch Bay #2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"tx" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters";opacity = 1;req_access_txt = "114"},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"ty" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"tA" = (/obj/machinery/computer/pod/deathsquad,/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"tB" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9;icon_state = "carpetside"},/area/centcom/control)
+"tC" = (/turf/unsimulated/floor{dir = 1;icon_state = "carpetside"},/area/centcom/control)
+"tD" = (/obj/machinery/sleeper/upgraded,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/turf/unsimulated/floor{dir = 5;icon_state = "carpetside"},/area/centcom/control)
+"tE" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/control)
+"tF" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/control)
+"tG" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/control)
+"tH" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"tI" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT1";name = "Launch Bay #1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"tL" = (/turf/unsimulated/floor{dir = 2;icon_state = "carpetside"},/area/centcom/control)
+"tM" = (/turf/unsimulated/floor{dir = 6;icon_state = "carpetside"},/area/centcom/control)
+"tQ" = (/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
"tR" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"tS" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control)
-"tT" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control)
-"tU" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control)
-"tV" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT0"; name = "Launch Bay #0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"tZ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control)
-"ub" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT"; name = "Assault Armor"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"tS" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 4},/area/centcom/control)
+"tT" = (/turf/unsimulated/floor{icon_state = "green";dir = 1},/area/centcom/control)
+"tU" = (/turf/unsimulated/floor{icon_state = "green";dir = 5},/area/centcom/control)
+"tV" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT0";name = "Launch Bay #0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"tZ" = (/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/control)
+"ub" = (/obj/machinery/door/poddoor{id_tag = "ASSAULT";name = "Assault Armor"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"uc" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control)
"ud" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control)
-"ue" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control)
+"ue" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 8},/area/centcom/control)
"uf" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"ug" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"uh" = (/obj/structure/reagent_dispensers/water_cooler,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ui" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/storage/box/cups,/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room North"; dir = 2; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"ui" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/storage/box/cups,/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room North";dir = 2;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"uj" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"uk" = (/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"ul" = (/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/obj/machinery/camera{c_tag = "CentComm Special Ops. Starting Room"; dir = 2; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"uk" = (/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
+"ul" = (/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/obj/machinery/camera{c_tag = "CentComm Special Ops. Starting Room";dir = 2;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "vault";dir = 1},/area/centcom/specops)
"um" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/item/radio/intercom/specops{pixel_y = 25},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"un" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
-"uq" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"ur" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"us" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"un" = (/turf/unsimulated/wall/fakeglass{dir = 8;icon_state = "fakewindows3";tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
+"uq" = (/obj/machinery/door/airlock/centcom{name = "Special Operations";opacity = 1;req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "vault";dir = 8},/area/centcom/specops)
+"ur" = (/turf/unsimulated/floor{icon_state = "vault";dir = 8},/area/centcom/specops)
"ut" = (/obj/machinery/computer/message_monitor,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"uu" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"uv" = (/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control)
"uw" = (/mob/living/silicon/decoy{name = "A.L.I.C.E."},/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control)
"ux" = (/obj/machinery/blackbox_recorder,/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control)
"uy" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"uz" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"uA" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/centcom/specops)
-"uB" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/centcom/specops)
-"uC" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/centcom/specops)
-"uE" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control)
+"uA" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/centcom/specops)
+"uB" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/centcom/specops)
+"uC" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/centcom/specops)
+"uE" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 1},/area/centcom/control)
"uF" = (/obj/structure/table/reinforced,/obj/item/radio/intercom/specops,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"uG" = (/obj/item/radio/intercom/specops{pixel_y = 25},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"uI" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"uJ" = (/obj/machinery/door/poddoor{id_tag = "SPECOPS"; name = "Ready Room"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"uN" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "113"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"uJ" = (/obj/machinery/door/poddoor{id_tag = "SPECOPS";name = "Ready Room"},/turf/unsimulated/floor{icon_state = "vault";dir = 8},/area/centcom/specops)
+"uN" = (/obj/machinery/door/airlock/centcom{name = "Bridge";opacity = 1;req_access_txt = "113"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"uO" = (/obj/structure/table/reinforced,/obj/item/radio/intercom/specops,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"uP" = (/obj/structure/table/reinforced,/obj/effect/landmark{name = "nukecode"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"uQ" = (/obj/structure/table/reinforced,/obj/item/paper,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"uR" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"uS" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room East"; dir = 8; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"uT" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
+"uS" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room East";dir = 8;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"uT" = (/obj/effect/forcefield{desc = "You can't get in. Heh.";layer = 1;name = "Blocker"},/turf/unsimulated/wall/fakeglass{dir = 8;icon_state = "fakewindows3";tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
"uW" = (/obj/structure/urinal,/turf/unsimulated/wall,/area/centcom/specops)
-"uX" = (/obj/structure/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"va" = (/obj/structure/table/reinforced,/obj/effect/landmark{name = "Commando_Manual"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"vb" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"vc" = (/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "specopsoffice"; name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
+"vc" = (/obj/machinery/door/poddoor/shutters{dir = 8;id_tag = "specopsoffice";name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass{dir = 1;icon_state = "fakewindows";tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
"vd" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
"ve" = (/obj/machinery/photocopier,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
"vf" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"vg" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"vh" = (/obj/structure/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"vi" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"vk" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops)
-"vm" = (/obj/structure/table/reinforced,/obj/item/ashtray/glass{icon_state = "ashtray_half_gl"},/obj/item/cigbutt/cigarbutt{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"vn" = (/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "specopsoffice"; name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/centcom/specops)
-"vo" = (/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/specops)
-"vp" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/specops)
-"vq" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/specops)
-"vr" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control)
+"vk" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/specops)
+"vm" = (/obj/structure/table/reinforced,/obj/item/ashtray/glass{icon_state = "ashtray_half_gl"},/obj/item/cigbutt/cigarbutt{pixel_x = 3;pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"vn" = (/obj/machinery/door/poddoor/shutters{dir = 8;id_tag = "specopsoffice";name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)";icon_state = "fakewindows2";dir = 1},/area/centcom/specops)
+"vo" = (/turf/unsimulated/floor{dir = 9;icon_state = "carpetside"},/area/centcom/specops)
+"vp" = (/turf/unsimulated/floor{dir = 1;icon_state = "carpetside"},/area/centcom/specops)
+"vq" = (/turf/unsimulated/floor{dir = 5;icon_state = "carpetside"},/area/centcom/specops)
+"vr" = (/turf/unsimulated/floor{icon_state = "green";dir = 9},/area/centcom/control)
"vs" = (/obj/machinery/computer/security{network = list("SS13","Telecomms","Research Outpost","Mining Outpost","ERT","CentComm","Thunderdome")},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"vt" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"vu" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"vv" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"vw" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"vx" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops)
-"vy" = (/obj/structure/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"vz" = (/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "specopsoffice"; name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass,/area/centcom/specops)
-"vF" = (/obj/machinery/door/airlock/centcom{name = "Telecommunications"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"vI" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room South"; dir = 1; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"vJ" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"vx" = (/obj/machinery/door/airlock/centcom{name = "Bathroom";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/specops)
+"vz" = (/obj/machinery/door/poddoor/shutters{dir = 8;id_tag = "specopsoffice";name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass,/area/centcom/specops)
+"vF" = (/obj/machinery/door/airlock/centcom{name = "Telecommunications";opacity = 1;req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"vI" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room South";dir = 1;network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"vJ" = (/obj/machinery/newscaster{layer = 3.3;pixel_x = 0;pixel_y = -27},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"vL" = (/obj/item/radio/intercom/specops{pixel_y = -28},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"vP" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"vQ" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
+"vQ" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
"vS" = (/obj/machinery/newscaster/security_unit{pixel_x = -32},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"vT" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/specops)
-"vU" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/specops)
-"vV" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/specops)
-"vW" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
-"vX" = (/obj/machinery/telecomms/hub/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control)
-"wb" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
+"vT" = (/turf/unsimulated/floor{dir = 10;icon_state = "carpetside"},/area/centcom/specops)
+"vU" = (/turf/unsimulated/floor{dir = 2;icon_state = "carpetside"},/area/centcom/specops)
+"vV" = (/turf/unsimulated/floor{dir = 6;icon_state = "carpetside"},/area/centcom/specops)
+"vW" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/control)
+"vX" = (/obj/machinery/telecomms/hub/preset_cent,/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/control)
+"wb" = (/turf/unsimulated/wall/fakeglass{dir = 1;icon_state = "fakewindows";tag = "icon-fakewindows (WEST)"},/area/centcom/specops)
"we" = (/turf/space,/area/centcom/specops)
"wg" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
"wh" = (/obj/machinery/recharge_station/upgraded,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"wi" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Tactics)"},/area/centcom/specops)
-"wj" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Reports)"},/area/centcom/specops)
-"wk" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/control)
-"wl" = (/obj/machinery/telecomms/broadcaster/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/control)
-"wm" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/control)
-"wn" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/control)
+"wi" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi';icon_state = "book-5";name = "bookcase (Tactics)"},/area/centcom/specops)
+"wj" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi';icon_state = "book-5";name = "bookcase (Reports)"},/area/centcom/specops)
+"wk" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "green";dir = 10},/area/centcom/control)
+"wl" = (/obj/machinery/telecomms/broadcaster/preset_cent,/turf/unsimulated/floor{icon_state = "green";dir = 6},/area/centcom/control)
+"wm" = (/turf/unsimulated/floor{icon_state = "green";dir = 10},/area/centcom/control)
+"wn" = (/turf/unsimulated/floor{icon_state = "green";dir = 6},/area/centcom/control)
"wr" = (/turf/unsimulated/wall/fakeglass,/area/centcom/specops)
-"wu" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"wu" = (/obj/machinery/door/airlock/centcom{name = "General Access";opacity = 1;req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"wC" = (/turf/unsimulated/wall,/area/centcom/bathroom)
-"wD" = (/obj/structure/toilet{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"wE" = (/obj/machinery/door/airlock/centcom{name = "Unit 4"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"wF" = (/obj/structure/sink{pixel_y = 15},/obj/structure/mirror{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"wG" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 15},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"wH" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; tag = "icon-shower (EAST)"},/obj/structure/curtain/open/shower/centcom,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"wI" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"wJ" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; tag = "icon-shower (WEST)"},/obj/structure/curtain/open/shower/centcom,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
+"wD" = (/obj/structure/toilet{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"wE" = (/obj/machinery/door/airlock/centcom{name = "Unit 4";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"wF" = (/obj/structure/sink{pixel_y = 15},/obj/structure/mirror{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"wG" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 15},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"wH" = (/obj/machinery/shower{dir = 4;icon_state = "shower";pixel_x = 5;tag = "icon-shower (EAST)"},/obj/structure/curtain/open/shower/centcom,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"wI" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"wJ" = (/obj/machinery/shower{dir = 8;icon_state = "shower";pixel_x = -5;tag = "icon-shower (WEST)"},/obj/structure/curtain/open/shower/centcom,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
"wK" = (/turf/unsimulated/wall,/area/centcom/evac)
-"wL" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac)
-"wM" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/evac)
+"wL" = (/turf/unsimulated/floor{icon_state = "green";dir = 9},/area/centcom/evac)
+"wM" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 1},/area/centcom/evac)
"wN" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"wO" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/evac)
-"wP" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/evac)
-"xc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
+"wO" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 4},/area/centcom/evac)
+"wP" = (/turf/unsimulated/floor{icon_state = "green";dir = 5},/area/centcom/evac)
+"xc" = (/obj/machinery/door/poddoor{density = 0;icon_state = "open";id_tag = "CentComPort";name = "Security Doors";opacity = 0},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/evac)
"xd" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor,/area/centcom/evac)
-"xe" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = -4; req_access_txt = "104"},/obj/machinery/door/window/southleft{dir = 1; name = "security checkpoint"; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"xf" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
-"xl" = (/obj/machinery/door/airlock/centcom{name = "Unit 3"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"xm" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"xn" = (/obj/machinery/door/window/westright{name = "security checkpoint"; req_access_txt = "104"},/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"xo" = (/obj/machinery/door/window/eastleft{name = "security checkpoint"; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"xx" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"xy" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/evac)
+"xe" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors.";icon_state = "doorctrl0";id = "CentComPort";name = "Security Doors";pixel_y = -4;req_access_txt = "104"},/obj/machinery/door/window/southleft{dir = 1;name = "security checkpoint";req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"xf" = (/turf/unsimulated/floor{icon_state = "green";dir = 4},/area/centcom/evac)
+"xl" = (/obj/machinery/door/airlock/centcom{name = "Unit 3";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"xm" = (/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/evac)
+"xn" = (/obj/machinery/door/window/westright{name = "security checkpoint";req_access_txt = "104"},/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"xo" = (/obj/machinery/door/window/eastleft{name = "security checkpoint";req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"xx" = (/obj/structure/sink{dir = 4;icon_state = "sink";pixel_x = 11;pixel_y = 0},/obj/structure/mirror{pixel_x = 32},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"xy" = (/turf/unsimulated/floor{icon_state = "green";dir = 10},/area/centcom/evac)
"xz" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"xA" = (/obj/structure/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"xI" = (/obj/machinery/door/airlock/centcom{name = "Unit 2"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"xJ" = (/obj/machinery/door/poddoor{id_tag = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"xK" = (/obj/structure/table,/obj/machinery/door/window/southleft{name = "security checkpoint"; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"xR" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/evac)
-"xS" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/evac)
-"xW" = (/obj/machinery/door/airlock/centcom{name = "Unit 1"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/bathroom)
-"xX" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"xY" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"xI" = (/obj/machinery/door/airlock/centcom{name = "Unit 2";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
+"xJ" = (/obj/machinery/door/poddoor{id_tag = "CentComPort";name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green";dir = 8},/area/centcom/evac)
+"xK" = (/obj/structure/table,/obj/machinery/door/window/southleft{name = "security checkpoint";req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"xR" = (/obj/machinery/door/airlock/centcom{name = "Bathroom";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/evac)
+"xS" = (/turf/unsimulated/floor{icon_state = "green";dir = 1},/area/centcom/evac)
+"xW" = (/obj/machinery/door/airlock/centcom{name = "Unit 1";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/centcom/bathroom)
"xZ" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"ya" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/centcom/evac)
-"yb" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac)
-"yc" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/centcom/evac)
-"yd" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac)
-"ye" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/centcom/evac)
+"ya" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6";icon_state = "swall_s6";dir = 2},/area/centcom/evac)
+"yb" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)";icon_state = "propulsion_r";dir = 1},/turf/space,/area/centcom/evac)
+"yc" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)";icon_state = "propulsion";dir = 1},/turf/space,/area/centcom/evac)
+"yd" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)";icon_state = "propulsion_l";dir = 1},/turf/space,/area/centcom/evac)
+"ye" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10";icon_state = "swall_s10";dir = 2},/area/centcom/evac)
"yf" = (/obj/effect/spawner/window/reinforced,/turf/unsimulated/floor,/area/centcom/bathroom)
"yg" = (/obj/effect/decal/warning_stripes/southeastcorner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"yi" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/centcom/evac)
-"yj" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac)
-"yk" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/centcom/evac)
-"yl" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/centcom/evac)
-"yo" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/centcom/evac)
-"yp" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac)
+"yi" = (/turf/simulated/shuttle/wall{tag = "icon-swall3";icon_state = "swall3";dir = 2},/area/centcom/evac)
+"yj" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)";icon_state = "heater";dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac)
+"yk" = (/turf/simulated/shuttle/wall{tag = "icon-swall7";icon_state = "swall7";dir = 2},/area/centcom/evac)
+"yl" = (/turf/simulated/shuttle/wall{tag = "icon-swall12";icon_state = "swall12";dir = 2},/area/centcom/evac)
+"yo" = (/turf/simulated/shuttle/wall{tag = "icon-swall11";icon_state = "swall11";dir = 2},/area/centcom/evac)
+"yp" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";icon_state = "space";layer = 4;name = "EXTERNAL AIRLOCK";pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac)
"yq" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
"yr" = (/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
"yt" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
"yv" = (/turf/simulated/shuttle/plating,/area/centcom/evac)
-"yw" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/centcom/evac)
-"yx" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/centcom/evac)
+"yw" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6";icon_state = "swall_f6";dir = 2},/area/centcom/evac)
+"yx" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9";icon_state = "swall_f9";dir = 2},/area/centcom/evac)
"yy" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"yA" = (/obj/structure/table,/obj/item/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"yB" = (/obj/structure/table,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"yC" = (/obj/structure/table,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"yE" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/centcom/evac)
-"yF" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/centcom/evac)
+"yA" = (/obj/structure/table,/obj/item/storage/firstaid/toxin{pixel_x = -2;pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yB" = (/obj/structure/table,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -2;pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yC" = (/obj/structure/table,/obj/item/storage/firstaid/regular{pixel_x = 2;pixel_y = 0},/obj/item/storage/firstaid/regular{pixel_x = -2;pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yE" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5";icon_state = "swall_f5";dir = 2},/area/centcom/evac)
+"yF" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3;icon_state = "swall_f10";layer = 2;tag = "icon-swall_f10"},/area/centcom/evac)
"yG" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
"yH" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"yK" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"; dir = 2},/area/centcom/evac)
-"yL" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yK" = (/turf/simulated/shuttle/wall{tag = "icon-swall1";icon_state = "swall1";dir = 2},/area/centcom/evac)
+"yL" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed";pixel_x = -30;pixel_y = 0;req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac)
"yM" = (/turf/simulated/shuttle/floor,/area/centcom/evac)
-"yN" = (/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"yO" = (/obj/structure/chair/stool,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"yP" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"yN" = (/turf/simulated/shuttle/floor{tag = "icon-floor2";icon_state = "floor2"},/area/centcom/evac)
+"yP" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed";pixel_x = 30;pixel_y = 0;req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac)
"yQ" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/evac)
-"yR" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/evac)
-"yS" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/centcom/evac)
+"yR" = (/turf/unsimulated/floor{icon_state = "greencorner";dir = 8},/area/centcom/evac)
+"yS" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5";icon_state = "swall_s5";dir = 2},/area/centcom/evac)
"yT" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "106"},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"yU" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/centcom/evac)
+"yU" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9";icon_state = "swall_s9";dir = 2},/area/centcom/evac)
"yW" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"yX" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"yY" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"yZ" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"za" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"zb" = (/obj/structure/chair{dir = 4; name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
"zc" = (/obj/machinery/computer/arcade,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"zd" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"ze" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"zf" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
+"zd" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"ze" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"zf" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
"zh" = (/obj/machinery/computer/card,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"zi" = (/obj/structure/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"zj" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"zk" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/stamp/granted,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"zl" = (/obj/structure/closet/secure_closet/bar{req_access = null; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"zm" = (/obj/structure/table,/obj/item/lighter/zippo,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"zn" = (/obj/machinery/door/airlock/centcom{name = "Rest Area"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"zq" = (/obj/machinery/computer/secure_data,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
+"zl" = (/obj/structure/closet/secure_closet/bar{req_access = null;req_access_txt = "0"},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"zm" = (/obj/structure/table,/obj/item/lighter/zippo,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"zn" = (/obj/machinery/door/airlock/centcom{name = "Rest Area";opacity = 1;req_access_txt = "0"},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"zq" = (/obj/machinery/computer/secure_data,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)";icon_state = "tube1";dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
"zr" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"zt" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"zu" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac)
-"zv" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac)
+"zt" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"zu" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"zv" = (/turf/unsimulated/floor{icon_state = "green";dir = 6},/area/centcom/evac)
"zx" = (/obj/structure/table,/obj/item/storage/box/handcuffs,/obj/item/flash,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"zy" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "104"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"zB" = (/obj/machinery/door/airlock/centcom{name = "Auxillary Shuttles"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"zy" = (/obj/machinery/door/window/northright{base_state = "right";dir = 4;icon_state = "right";name = "Security Desk";req_access_txt = "104"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
+"zB" = (/obj/machinery/door/airlock/centcom{name = "Auxillary Shuttles";opacity = 1;req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
"zH" = (/obj/machinery/vending/cola,/turf/simulated/shuttle/floor,/area/centcom/evac)
"zO" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"zP" = (/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
+"zP" = (/obj/item/storage/firstaid/regular{pixel_x = 2;pixel_y = 6},/obj/item/storage/firstaid/regular{pixel_x = -2;pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
"zQ" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "16"},/turf/simulated/floor/plating,/area/centcom/evac)
"zR" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor,/area/centcom/evac)
"zV" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/centcom/evac)
"zW" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
"zX" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/centcom/evac)
-"Al" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
+"Al" = (/obj/machinery/door/airlock/hatch{name = "Infirmary";req_access_txt = "0"},/turf/simulated/shuttle/floor{tag = "icon-floor2";icon_state = "floor2"},/area/centcom/evac)
"Aw" = (/turf/unsimulated/wall,/area/centcom)
-"AD" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
+"AD" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed";pixel_x = -30;pixel_y = 0;req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
"AM" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/centcom/evac)
"AN" = (/obj/structure/table,/obj/item/hand_labeler,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"AO" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/obj/machinery/vending/snack,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"AX" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/centcom/evac)
-"AY" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "106"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
+"AO" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed";pixel_x = 30;pixel_y = 0;req_access_txt = "0"},/obj/machinery/vending/snack,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"AX" = (/turf/simulated/shuttle/wall{tag = "icon-swall14";icon_state = "swall14";dir = 2},/area/centcom/evac)
+"AY" = (/obj/machinery/door/airlock/hatch{name = "Cockpit";req_access_txt = "106"},/turf/simulated/shuttle/floor{tag = "icon-floor2";icon_state = "floor2"},/area/centcom/evac)
"Bb" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor,/area/centcom/evac)
"Bc" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"Be" = (/obj/structure/chair,/turf/simulated/shuttle/floor,/area/centcom/evac)
"Bf" = (/obj/structure/table,/obj/item/radio,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"Bh" = (/obj/structure/table,/obj/item/storage/lockbox{req_access = null; req_access_txt = "106"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Bh" = (/obj/structure/table,/obj/item/storage/lockbox{req_access = null;req_access_txt = "106"},/turf/simulated/shuttle/floor,/area/centcom/evac)
"Bi" = (/obj/structure/table,/obj/item/stamp/captain,/turf/simulated/shuttle/floor,/area/centcom/evac)
"Bj" = (/obj/machinery/computer{name = "EMERGENCY SHUTTLE COMPUTER"},/turf/simulated/shuttle/floor,/area/centcom/evac)
"Bk" = (/obj/structure/table,/obj/item/clipboard,/obj/item/pen,/turf/simulated/shuttle/floor,/area/centcom/evac)
"Bl" = (/obj/structure/table,/obj/item/paper_bin,/turf/simulated/shuttle/floor,/area/centcom/evac)
"Bq" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "window4"},/turf/simulated/floor/plating,/area/centcom/evac)
-"Br" = (/obj/structure/grille,/obj/structure/window/full/shuttle{dir = 10; icon_state = "9"},/turf/simulated/floor/plating,/area/centcom/evac)
+"Br" = (/obj/structure/grille,/obj/structure/window/full/shuttle{dir = 10;icon_state = "9"},/turf/simulated/floor/plating,/area/centcom/evac)
"Bs" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/floor/plating,/area/centcom/evac)
-"Dt" = (/turf/space,/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"Du" = (/turf/space,/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
+"Dt" = (/turf/space,/turf/unsimulated/wall{dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"Du" = (/turf/space,/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
"Dv" = (/turf/space,/area/admin)
-"Dw" = (/turf/unsimulated/wall{tag = "icon-wall3 (NORTH)"; icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"; dir = 1},/area/admin)
-"Dx" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end"},/area/admin)
-"Dy" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_mid"; name = "window"; opacity = 0; tag = "icon-window5_mid"},/area/admin)
-"Dz" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (NORTH)"},/area/admin)
-"DA" = (/turf/unsimulated/wall{tag = "icon-wall3 (EAST)"; icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"; dir = 4},/area/admin)
-"DB" = (/obj/structure/rack,/obj/item/clothing/mask/gas/swat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/mask/gas/cyborg,/obj/item/clothing/mask/gas/voice,/obj/item/clothing/mask/balaclava{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DC" = (/obj/structure/rack,/obj/item/clothing/head/bandana,/obj/item/clothing/head/ushanka,/obj/item/clothing/head/helmet/roman/legionaire,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DD" = (/obj/structure/rack,/obj/item/clothing/head/helmet/swat/syndicate{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/helmet/space/deathsquad,/obj/item/clothing/head/helmet/space/deathsquad/beret{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DE" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/hardsuit/wizard{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/helmet/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/santahat{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DF" = (/obj/structure/rack,/obj/item/clothing/head/welding/flamedecal{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/welding/flamedecal/blue,/obj/item/clothing/head/welding/white{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DG" = (/obj/structure/rack,/obj/item/clothing/head/soft/black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft/blue,/obj/item/clothing/head/soft/red{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DH" = (/obj/structure/rack,/obj/item/storage/backpack/holding,/obj/item/storage/backpack/duffel/clown,/obj/item/storage/backpack/duffel/captain,/obj/item/storage/backpack/duffel/science,/obj/item/storage/backpack/duffel/syndie/ammo,/obj/item/storage/backpack/duffel/syndie/med,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DI" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (WEST)"},/area/admin)
-"DJ" = (/obj/structure/rack,/obj/item/clothing/under/shorts/black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/shorts/blue,/obj/item/clothing/under/shorts/red{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DK" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DL" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/clothing/suit/space/deathsquad/officer{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DM" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5"},/area/admin)
-"DN" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_mid"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin)
-"DO" = (/obj/structure/rack,/obj/item/clothing/under/chameleon/all{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/soviet,/obj/item/clothing/under/pirate{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DP" = (/obj/structure/rack,/obj/item/clothing/glasses/material{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/thermal{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DR" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/yellow,/obj/item/clothing/gloves/color/rainbow{pixel_x = 3; pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DS" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/armor/laserproof,/obj/item/clothing/suit/armor/vest{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DT" = (/obj/mecha/combat/marauder/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DU" = (/obj/mecha/combat/marauder/seraph/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DV" = (/obj/mecha/combat/honker/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DW" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/mech_bay_recharge_port/upgraded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"Dw" = (/turf/unsimulated/wall{tag = "icon-wall3 (NORTH)";icon = 'icons/turf/shuttle.dmi';icon_state = "wall3";dir = 1},/area/admin)
+"Dx" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end"},/area/admin)
+"Dy" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_mid";name = "window";opacity = 0;tag = "icon-window5_mid"},/area/admin)
+"Dz" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end (NORTH)"},/area/admin)
+"DA" = (/turf/unsimulated/wall{tag = "icon-wall3 (EAST)";icon = 'icons/turf/shuttle.dmi';icon_state = "wall3";dir = 4},/area/admin)
+"DB" = (/obj/structure/rack,/obj/item/clothing/mask/gas/swat{pixel_x = -3;pixel_y = 3},/obj/item/clothing/mask/gas/cyborg,/obj/item/clothing/mask/gas/voice,/obj/item/clothing/mask/balaclava{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DC" = (/obj/structure/rack,/obj/item/clothing/head/bandana,/obj/item/clothing/head/ushanka,/obj/item/clothing/head/helmet/roman/legionaire,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DD" = (/obj/structure/rack,/obj/item/clothing/head/helmet/swat/syndicate{pixel_x = -3;pixel_y = 3},/obj/item/clothing/head/helmet/space/deathsquad,/obj/item/clothing/head/helmet/space/deathsquad/beret{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DE" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/hardsuit/wizard{pixel_x = -3;pixel_y = 3},/obj/item/clothing/head/helmet/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/santahat{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DF" = (/obj/structure/rack,/obj/item/clothing/head/welding/flamedecal{pixel_x = -3;pixel_y = 3},/obj/item/clothing/head/welding/flamedecal/blue,/obj/item/clothing/head/welding/white{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DG" = (/obj/structure/rack,/obj/item/clothing/head/soft/black{pixel_x = -3;pixel_y = 3},/obj/item/clothing/head/soft/blue,/obj/item/clothing/head/soft/red{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DH" = (/obj/structure/rack,/obj/item/storage/backpack/holding,/obj/item/storage/backpack/duffel/clown,/obj/item/storage/backpack/duffel/captain,/obj/item/storage/backpack/duffel/science,/obj/item/storage/backpack/duffel/syndie/ammo,/obj/item/storage/backpack/duffel/syndie/med,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DI" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end (WEST)"},/area/admin)
+"DJ" = (/obj/structure/rack,/obj/item/clothing/under/shorts/black{pixel_x = -3;pixel_y = 3},/obj/item/clothing/under/shorts/blue,/obj/item/clothing/under/shorts/red{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DK" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DL" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/clothing/suit/space/deathsquad/officer{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DM" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5";name = "window";opacity = 0;tag = "icon-window5"},/area/admin)
+"DN" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_mid";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/admin)
+"DO" = (/obj/structure/rack,/obj/item/clothing/under/chameleon/all{pixel_x = -3;pixel_y = 3},/obj/item/clothing/under/soviet,/obj/item/clothing/under/pirate{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DP" = (/obj/structure/rack,/obj/item/clothing/glasses/material{pixel_x = -3;pixel_y = 3},/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/thermal{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DR" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief{pixel_x = -3;pixel_y = 3},/obj/item/clothing/gloves/color/yellow,/obj/item/clothing/gloves/color/rainbow{pixel_x = 3;pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3;pixel_y = 3},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DS" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = -3;pixel_y = 3},/obj/item/clothing/suit/armor/laserproof,/obj/item/clothing/suit/armor/vest{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DT" = (/obj/mecha/combat/marauder/loaded,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DU" = (/obj/mecha/combat/marauder/seraph/loaded,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DV" = (/obj/mecha/combat/honker/loaded,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DW" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/machinery/mech_bay_recharge_port/upgraded,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
"DX" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/admin)
-"DY" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"DZ" = (/obj/structure/rack,/obj/item/clothing/under/rank/centcom/captain{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/rank/centcom/officer,/obj/item/clothing/under/rank/centcom/representative{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ea" = (/obj/structure/rack,/obj/item/clothing/glasses/night{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/hud/health/night,/obj/item/clothing/glasses/hud/security/night{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Eb" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots/syndie{pixel_x = -3; pixel_y = 3},/obj/item/clothing/shoes/magboots/advance,/obj/item/clothing/shoes/magboots{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ec" = (/obj/structure/rack,/obj/item/clothing/shoes/green{pixel_x = -3; pixel_y = 3},/obj/item/clothing/shoes/centcom,/obj/item/clothing/shoes/syndigaloshes{pixel_x = 3; pixel_y = -3},/obj/item/clothing/shoes/rainbow{pixel_x = -3; pixel_y = 3},/obj/item/clothing/shoes/combat/swat,/obj/item/clothing/shoes/combat{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ed" = (/obj/structure/rack,/obj/item/clothing/suit/pirate_black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/blacktrenchcoat,/obj/item/clothing/suit/jacket{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ee" = (/obj/item/mecha_parts/mecha_equipment/cable_layer,/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/rcd,/obj/item/mecha_parts/mecha_equipment/extinguisher,/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ef" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin)
-"Eg" = (/obj/structure/rack,/obj/item/clothing/under/syndicate{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/acj{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Eh" = (/obj/structure/mirror{pixel_y = -30},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ei" = (/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/syndi{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/space/hardsuit/wizard,/obj/item/clothing/suit/space/santa{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ej" = (/obj/mecha/combat/marauder/mauler/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ek" = (/obj/mecha/combat/gygax/dark/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"El" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Em" = (/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/obj/item/mecha_parts/mecha_equipment/weapon/honker,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot,/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"En" = (/turf/space,/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"Eo" = (/obj/machinery/door/airlock/hatch{name = "Clothing Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ep" = (/obj/machinery/door/airlock/hatch{name = "Mecha Room"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Eq" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end"},/area/admin)
-"Er" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_mid"; name = "window"; opacity = 0; tag = "icon-window5_mid"},/area/admin)
-"Es" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (NORTH)"},/area/admin)
-"Et" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3 (EAST)"; icon_state = "diagonalWall3"; dir = 4},/area/admin)
-"Eu" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3"; icon_state = "diagonalWall3"; dir = 2},/area/admin)
-"Ev" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Ew" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Ex" = (/obj/structure/table,/obj/item/storage/box/beakers,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Ey" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Ez" = (/obj/structure/table,/obj/item/storage/pill_bottle/random_drug_bottle,/obj/item/reagent_containers/glass/bottle/adminordrazine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EB" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"EC" = (/obj/machinery/door/airlock/hatch{name = "External Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"ED" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (WEST)"},/area/admin)
-"EE" = (/obj/machinery/chem_dispenser{desc = "It appears Fox is doing more fruit chemistry today!"; hackedcheck = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EF" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EG" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EH" = (/obj/machinery/door/airlock/hatch{name = "Armory"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"EI" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"EJ" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin)
-"EK" = (/obj/machinery/chem_heater,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EL" = (/obj/item/storage/box/syringes,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/gun/syringe/rapidsyringe,/obj/item/reagent_containers/spray/chemsprayer,/obj/structure/closet,/obj/item/gun/projectile/shotgun/sc_pump,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EM" = (/turf/space,/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"EN" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/gun/projectile/automatic/pistol,/obj/item/gun/projectile/automatic/pistol{pixel_x = 3; pixel_y = -3},/obj/item/suppressor,/obj/item/suppressor{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"EO" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m12g,/obj/item/ammo_box/magazine/m12g,/obj/item/ammo_box/magazine/m12g/stun,/obj/item/ammo_box/magazine/m12g/stun,/obj/item/ammo_box/magazine/m12g/dragon,/obj/item/ammo_box/magazine/m12g/dragon,/obj/item/gun/projectile/automatic/shotgun/bulldog,/obj/item/gun/projectile/automatic/shotgun/bulldog{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"EP" = (/obj/structure/rack,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"EQ" = (/obj/machinery/vending/liberationstation,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"ER" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/gun/projectile/automatic/gyropistol,/obj/item/gun/projectile/automatic/gyropistol{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"ES" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/gun/projectile/automatic/pistol/deagle,/obj/item/gun/projectile/automatic/pistol/deagle{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"ET" = (/obj/structure/rack,/obj/item/ammo_box/a357,/obj/item/ammo_box/a357,/obj/item/gun/projectile/revolver/mateba,/obj/item/gun/projectile/revolver/mateba{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"EV" = (/obj/structure/table,/obj/item/storage/box/beakers,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/storage/box/autoinjectors,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EW" = (/obj/structure/table,/obj/item/storage/box/syringes,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EX" = (/obj/structure/table,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"EY" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin)
-"EZ" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5"},/area/admin)
-"Fa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "ADMINCHEMLOCKDOWN"; name = "Security Doors"; opacity = 0},/obj/machinery/door/airlock/hatch{name = "Chem Lab"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Fb" = (/obj/structure/rack,/obj/item/ammo_box/magazine/mm556x45,/obj/item/ammo_box/magazine/mm556x45,/obj/item/ammo_box/magazine/mm556x45,/obj/item/ammo_box/magazine/mm556x45,/obj/item/gun/projectile/automatic/l6_saw,/obj/item/gun/projectile/automatic/l6_saw{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Fc" = (/obj/structure/rack,/obj/item/gun/projectile/automatic/proto,/obj/item/gun/projectile/automatic/proto{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Fd" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/a40mm,/obj/item/ammo_box/a40mm,/obj/item/ammo_box/a40mm,/obj/item/ammo_box/a40mm,/obj/item/gun/projectile/automatic/m90,/obj/item/gun/projectile/automatic/m90{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Fe" = (/obj/structure/mirror{dir = 4; pixel_x = 0; pixel_y = -32},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ff" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Fh" = (/obj/structure/table,/obj/item/gun/energy/pulse/pistol,/obj/machinery/door_control{desc = "A remote control switch to lock down the admin lab."; icon_state = "doorctrl0"; id = "ADMINCHEMLOCKDOWN"; name = "Lockdown"; pixel_y = 24; req_access_txt = "0"},/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/admin)
-"Fi" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/admin)
-"Fj" = (/obj/machinery/computer/secure_data,/obj/item/paper/sop,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/admin)
-"Fk" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"Fl" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Fm" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/rods,/obj/item/pen,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Fn" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/admin)
-"Fo" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/admin)
-"Fp" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/admin)
-"Fq" = (/obj/structure/rack,/obj/item/shield/energy,/obj/item/shield/energy{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Fr" = (/obj/structure/rack,/obj/item/katana{pixel_x = 3; pixel_y = -3},/obj/item/katana,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Fs" = (/obj/structure/rack,/obj/item/melee/energy/sword/saber,/obj/item/melee/energy/sword/saber{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ft" = (/obj/structure/rack,/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/item/gun/energy/xray,/obj/item/gun/energy/xray{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Fu" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/obj/machinery/syndicatebomb/badmin/clown,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Fv" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Fw" = (/obj/structure/table,/obj/item/storage/toolbox/syndicate,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Fx" = (/obj/structure/table,/obj/item/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/storage/pill_bottle/random_drug_bottle,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Fy" = (/obj/structure/table,/obj/item/scalpel,/obj/item/bonesetter,/obj/item/bonegel,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"Fz" = (/obj/structure/table,/obj/item/kitchen/utensil/fork,/obj/item/lighter,/obj/item/restraints/handcuffs/cable/red,/obj/item/storage/box/mousetraps,/obj/item/storage/fancy/cigarettes,/obj/item/pen,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"FA" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/admin)
-"FB" = (/obj/structure/table,/obj/machinery/door/window/southleft{name = "security checkpoint"; req_access_txt = "0"},/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/admin)
-"FC" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/machinery/recharger,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/admin)
-"FD" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/gun/energy/pulse/pistol/m1911,/obj/item/gun/energy/pulse/pistol/m1911{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"FE" = (/obj/structure/table,/obj/item/tank/oxygen/yellow,/obj/random/bomb_supply,/obj/item/clothing/under/rebeloutfit,/obj/item/clothing/suit/poncho/ponchoshame,/obj/item/clothing/head/sombrero/shamebrero,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"FF" = (/obj/machinery/door/airlock/hatch{name = "Tool Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"FG" = (/obj/structure/table,/obj/item/FixOVein,/obj/item/retractor,/obj/item/cautery,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"FH" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"FI" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end"},/area/admin)
-"FJ" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_mid"; name = "window"; opacity = 0; tag = "icon-window5_mid"},/area/admin)
-"FK" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (NORTH)"},/area/admin)
+"DY" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"DZ" = (/obj/structure/rack,/obj/item/clothing/under/rank/centcom/captain{pixel_x = -3;pixel_y = 3},/obj/item/clothing/under/rank/centcom/officer,/obj/item/clothing/under/rank/centcom/representative{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ea" = (/obj/structure/rack,/obj/item/clothing/glasses/night{pixel_x = -3;pixel_y = 3},/obj/item/clothing/glasses/hud/health/night,/obj/item/clothing/glasses/hud/security/night{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Eb" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots/syndie{pixel_x = -3;pixel_y = 3},/obj/item/clothing/shoes/magboots/advance,/obj/item/clothing/shoes/magboots{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ec" = (/obj/structure/rack,/obj/item/clothing/shoes/green{pixel_x = -3;pixel_y = 3},/obj/item/clothing/shoes/centcom,/obj/item/clothing/shoes/syndigaloshes{pixel_x = 3;pixel_y = -3},/obj/item/clothing/shoes/rainbow{pixel_x = -3;pixel_y = 3},/obj/item/clothing/shoes/combat/swat,/obj/item/clothing/shoes/combat{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ed" = (/obj/structure/rack,/obj/item/clothing/suit/pirate_black{pixel_x = -3;pixel_y = 3},/obj/item/clothing/suit/blacktrenchcoat,/obj/item/clothing/suit/jacket{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ee" = (/obj/item/mecha_parts/mecha_equipment/cable_layer,/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/rcd,/obj/item/mecha_parts/mecha_equipment/extinguisher,/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ef" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/admin)
+"Eg" = (/obj/structure/rack,/obj/item/clothing/under/syndicate{pixel_x = -3;pixel_y = 3},/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/acj{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Eh" = (/obj/structure/mirror{pixel_y = -30},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ei" = (/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/syndi{pixel_x = -3;pixel_y = 3},/obj/item/clothing/suit/space/hardsuit/wizard,/obj/item/clothing/suit/space/santa{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ej" = (/obj/mecha/combat/marauder/mauler/loaded,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ek" = (/obj/mecha/combat/gygax/dark/loaded,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"El" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Em" = (/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/obj/item/mecha_parts/mecha_equipment/weapon/honker,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot,/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"En" = (/turf/space,/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"Eo" = (/obj/machinery/door/airlock/hatch{name = "Clothing Storage";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ep" = (/obj/machinery/door/airlock/hatch{name = "Mecha Room";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Eq" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end"},/area/admin)
+"Er" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_mid";name = "window";opacity = 0;tag = "icon-window5_mid"},/area/admin)
+"Es" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end (NORTH)"},/area/admin)
+"Et" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3 (EAST)";icon_state = "diagonalWall3";dir = 4},/area/admin)
+"Eu" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3";icon_state = "diagonalWall3";dir = 2},/area/admin)
+"Ev" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Ew" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Ex" = (/obj/structure/table,/obj/item/storage/box/beakers,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Ey" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Ez" = (/obj/structure/table,/obj/item/storage/pill_bottle/random_drug_bottle,/obj/item/reagent_containers/glass/bottle/adminordrazine,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EB" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0;icon_state = "open";id_tag = "ADMINLOCKDOWN";name = "Security Doors";opacity = 0},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"EC" = (/obj/machinery/door/airlock/hatch{name = "External Airlock";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"ED" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end (WEST)"},/area/admin)
+"EE" = (/obj/machinery/chem_dispenser{desc = "It appears Fox is doing more fruit chemistry today!";hackedcheck = 1},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EG" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EH" = (/obj/machinery/door/airlock/hatch{name = "Armory";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"EI" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"EJ" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/admin)
+"EK" = (/obj/machinery/chem_heater,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EL" = (/obj/item/storage/box/syringes,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/gun/syringe/rapidsyringe,/obj/item/reagent_containers/spray/chemsprayer,/obj/structure/closet,/obj/item/gun/projectile/shotgun/sc_pump,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/obj/item/ammo_casing/shotgun/dart,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EM" = (/turf/space,/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"EN" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/gun/projectile/automatic/pistol,/obj/item/gun/projectile/automatic/pistol{pixel_x = 3;pixel_y = -3},/obj/item/suppressor,/obj/item/suppressor{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"EO" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m12g,/obj/item/ammo_box/magazine/m12g,/obj/item/ammo_box/magazine/m12g/stun,/obj/item/ammo_box/magazine/m12g/stun,/obj/item/ammo_box/magazine/m12g/dragon,/obj/item/ammo_box/magazine/m12g/dragon,/obj/item/gun/projectile/automatic/shotgun/bulldog,/obj/item/gun/projectile/automatic/shotgun/bulldog{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"EP" = (/obj/structure/rack,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/ammo_box/magazine/smgm45,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"EQ" = (/obj/machinery/vending/liberationstation,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"ER" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/gun/projectile/automatic/gyropistol,/obj/item/gun/projectile/automatic/gyropistol{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"ES" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/gun/projectile/automatic/pistol/deagle,/obj/item/gun/projectile/automatic/pistol/deagle{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"ET" = (/obj/structure/rack,/obj/item/ammo_box/a357,/obj/item/ammo_box/a357,/obj/item/gun/projectile/revolver/mateba,/obj/item/gun/projectile/revolver/mateba{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"EV" = (/obj/structure/table,/obj/item/storage/box/beakers,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/reagent_containers/glass/beaker/bluespace,/obj/item/storage/box/autoinjectors,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EW" = (/obj/structure/table,/obj/item/storage/box/syringes,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/assembly/timer,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/obj/item/grenade/chem_grenade/large,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EX" = (/obj/structure/table,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/signaler,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/infra,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/obj/item/assembly/prox_sensor,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"EY" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/admin)
+"EZ" = (/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5";name = "window";opacity = 0;tag = "icon-window5"},/area/admin)
+"Fa" = (/obj/machinery/door/poddoor{density = 0;icon_state = "open";id_tag = "ADMINCHEMLOCKDOWN";name = "Security Doors";opacity = 0},/obj/machinery/door/airlock/hatch{name = "Chem Lab";req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Fb" = (/obj/structure/rack,/obj/item/ammo_box/magazine/mm556x45,/obj/item/ammo_box/magazine/mm556x45,/obj/item/ammo_box/magazine/mm556x45,/obj/item/ammo_box/magazine/mm556x45,/obj/item/gun/projectile/automatic/l6_saw,/obj/item/gun/projectile/automatic/l6_saw{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Fc" = (/obj/structure/rack,/obj/item/gun/projectile/automatic/proto,/obj/item/gun/projectile/automatic/proto{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Fd" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/magazine/m556,/obj/item/ammo_box/a40mm,/obj/item/ammo_box/a40mm,/obj/item/ammo_box/a40mm,/obj/item/ammo_box/a40mm,/obj/item/gun/projectile/automatic/m90,/obj/item/gun/projectile/automatic/m90{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Fe" = (/obj/structure/mirror{dir = 4;pixel_x = 0;pixel_y = -32},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ff" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Fh" = (/obj/structure/table,/obj/item/gun/energy/pulse/pistol,/obj/machinery/door_control{desc = "A remote control switch to lock down the admin lab.";icon_state = "doorctrl0";id = "ADMINCHEMLOCKDOWN";name = "Lockdown";pixel_y = 24;req_access_txt = "0"},/turf/unsimulated/floor{dir = 9;icon_state = "carpetside"},/area/admin)
+"Fi" = (/turf/unsimulated/floor{dir = 1;icon_state = "carpetside"},/area/admin)
+"Fj" = (/obj/machinery/computer/secure_data,/obj/item/paper/sop,/turf/unsimulated/floor{dir = 5;icon_state = "carpetside"},/area/admin)
+"Fk" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"Fl" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Fm" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/rods,/obj/item/pen,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Fn" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{dir = 8;icon_state = "carpetside"},/area/admin)
+"Fp" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{dir = 4;icon_state = "carpetside"},/area/admin)
+"Fq" = (/obj/structure/rack,/obj/item/shield/energy,/obj/item/shield/energy{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Fr" = (/obj/structure/rack,/obj/item/katana{pixel_x = 3;pixel_y = -3},/obj/item/katana,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Fs" = (/obj/structure/rack,/obj/item/melee/energy/sword/saber,/obj/item/melee/energy/sword/saber{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ft" = (/obj/structure/rack,/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/item/gun/energy/xray,/obj/item/gun/energy/xray{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Fu" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/obj/machinery/syndicatebomb/badmin/clown,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Fv" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Fw" = (/obj/structure/table,/obj/item/storage/toolbox/syndicate,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Fx" = (/obj/structure/table,/obj/item/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/storage/pill_bottle/random_drug_bottle,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Fy" = (/obj/structure/table,/obj/item/scalpel,/obj/item/bonesetter,/obj/item/bonegel,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Fz" = (/obj/structure/table,/obj/item/kitchen/utensil/fork,/obj/item/lighter,/obj/item/restraints/handcuffs/cable/red,/obj/item/storage/box/mousetraps,/obj/item/storage/fancy/cigarettes,/obj/item/pen,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"FA" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/unsimulated/floor{dir = 10;icon_state = "carpetside"},/area/admin)
+"FB" = (/obj/structure/table,/obj/machinery/door/window/southleft{name = "security checkpoint";req_access_txt = "0"},/turf/unsimulated/floor{dir = 2;icon_state = "carpetside"},/area/admin)
+"FC" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/machinery/recharger,/turf/unsimulated/floor{dir = 6;icon_state = "carpetside"},/area/admin)
+"FD" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/gun/energy/pulse/pistol/m1911,/obj/item/gun/energy/pulse/pistol/m1911{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"FE" = (/obj/structure/table,/obj/item/tank/oxygen/yellow,/obj/random/bomb_supply,/obj/item/clothing/under/rebeloutfit,/obj/item/clothing/suit/poncho/ponchoshame,/obj/item/clothing/head/sombrero/shamebrero,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"FF" = (/obj/machinery/door/airlock/hatch{name = "Tool Storage";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"FG" = (/obj/structure/table,/obj/item/FixOVein,/obj/item/retractor,/obj/item/cautery,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"FH" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"FI" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end"},/area/admin)
+"FJ" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_mid";name = "window";opacity = 0;tag = "icon-window5_mid"},/area/admin)
+"FK" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end (NORTH)"},/area/admin)
"FL" = (/turf/simulated/wall/r_wall,/area/adminconstruction)
-"FM" = (/obj/structure/rack,/obj/item/gun/energy/meteorgun,/obj/item/gun/energy/meteorgun{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"FN" = (/obj/structure/rack,/obj/item/twohanded/knighthammer{pixel_x = -3; pixel_y = 3},/obj/item/twohanded/mjollnir,/obj/item/twohanded/singularityhammer{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"FO" = (/obj/structure/rack,/obj/item/gun/energy/kinetic_accelerator/crossbow,/obj/item/gun/energy/kinetic_accelerator/crossbow{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"FP" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/gun/energy/pulse,/obj/item/gun/energy/pulse{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"FQ" = (/obj/structure/table,/obj/random/tool,/obj/item/clothing/gloves/color/yellow,/obj/item/pinpointer/advpinpointer,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"FR" = (/obj/structure/table,/obj/item/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2; pixel_z = 0},/obj/item/grenade/syndieminibomb{pixel_x = -1},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"FS" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/obj/item/toy/cards/deck/syndicate/black,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"FU" = (/obj/structure/table,/obj/item/hemostat,/obj/item/circular_saw,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"FV" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "ADMINCHEMLOCKDOWN"; name = "Security Doors"; opacity = 0},/obj/machinery/door/airlock/hatch{desc = "Uh oh."; name = "Operating Theater"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/admin)
-"FW" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"FX" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"FY" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"FZ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/adminconstruction)
-"Ga" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"Gb" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"Gc" = (/obj/machinery/door/airlock/hatch{desc = "You've heard rumors of the horrors that go on within this lab."; name = "Laboratory (DANGER!)"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gd" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Ge" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gf" = (/obj/machinery/computer/security{network = list("SS13","Telecomms","Research Outpost","Mining Outpost","ERT","CentComm","Thunderdome")},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gg" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gh" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gi" = (/obj/structure/table,/obj/item/card/id/silver{pixel_x = -3; pixel_y = -3},/obj/item/card/id/captains_spare,/obj/item/card/id/lifetime{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gj" = (/obj/structure/table,/obj/item/card/id/centcom{pixel_x = -3; pixel_y = -3},/obj/item/card/id{pixel_x = 0; pixel_y = 0},/obj/item/card/id/admin{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gk" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5"},/area/admin)
-"Gl" = (/obj/structure/chair/comfy/black,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"Gm" = (/obj/machinery/computer/card,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Go" = (/obj/machinery/door/airlock/public/glass{name = "Computer Hub"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gp" = (/obj/effect/landmark{name = "aroomwarp"; tag = ""},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Gq" = (/obj/machinery/door/airlock/hatch{desc = "For all your shady business needs"; name = "Gambling Den"; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"Gr" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"Gs" = (/obj/structure/table/wood,/obj/item/toy/cards/deck/syndicate,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"Gt" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"Gu" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (WEST)"},/area/admin)
-"Gx" = (/obj/structure/chair/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"Gy" = (/obj/structure/table/wood,/obj/item/lighter/zippo/engraved,/obj/item/storage/fancy/cigarettes/dromedaryco,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"Gz" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin)
-"GA" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GC" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"GD" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"GE" = (/obj/machinery/computer/message_monitor,/obj/item/paper/monitorkey,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GF" = (/obj/machinery/computer/atmos_alert,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GG" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GH" = (/obj/machinery/computer/account_database{name = "Admin Accounts Database"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GI" = (/obj/structure/table,/obj/item/gun/projectile/automatic/pistol,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GJ" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch to lock down external access to the admin room."; icon_state = "doorctrl0"; id = "ADMINLOCKDOWN"; name = "Lockdown"; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GK" = (/obj/structure/table,/obj/item/storage/fancy/cigarettes/syndicate,/obj/item/reagent_containers/food/drinks/cans/adminbooze,/obj/item/reagent_containers/food/drinks/cans/badminbrew,/obj/item/reagent_containers/food/drinks/cans/madminmalt,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GL" = (/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness"; name = "Dojo"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GM" = (/obj/machinery/door/airlock/public/glass{name = "Shuttle Bay"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"GN" = (/obj/structure/showcase,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GO" = (/obj/item/storage/toolbox/syndicate{desc = "A powerful relic many men worked long and hard to keep safe and away from the forces of evil."; force = 1e+008; name = "toolbox of robustness"},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
+"FM" = (/obj/structure/rack,/obj/item/gun/energy/meteorgun,/obj/item/gun/energy/meteorgun{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"FN" = (/obj/structure/rack,/obj/item/twohanded/knighthammer{pixel_x = -3;pixel_y = 3},/obj/item/twohanded/mjollnir,/obj/item/twohanded/singularityhammer{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"FO" = (/obj/structure/rack,/obj/item/gun/energy/kinetic_accelerator/crossbow,/obj/item/gun/energy/kinetic_accelerator/crossbow{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"FP" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/gun/energy/pulse,/obj/item/gun/energy/pulse{pixel_x = 3;pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"FQ" = (/obj/structure/table,/obj/random/tool,/obj/item/clothing/gloves/color/yellow,/obj/item/pinpointer/advpinpointer,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"FR" = (/obj/structure/table,/obj/item/grenade/syndieminibomb{pixel_x = 4;pixel_y = 2;pixel_z = 0},/obj/item/grenade/syndieminibomb{pixel_x = -1},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"FS" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/obj/item/toy/cards/deck/syndicate/black,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"FU" = (/obj/structure/table,/obj/item/hemostat,/obj/item/circular_saw,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"FV" = (/obj/machinery/door/poddoor{density = 0;icon_state = "open";id_tag = "ADMINCHEMLOCKDOWN";name = "Security Doors";opacity = 0},/obj/machinery/door/airlock/hatch{desc = "Uh oh.";name = "Operating Theater";req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"FW" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"FX" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"FY" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"FZ" = (/turf/simulated/floor/plasteel{dir = 8;icon_state = "neutralfull"},/area/adminconstruction)
+"Ga" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"Gb" = (/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"Gc" = (/obj/machinery/door/airlock/hatch{desc = "You've heard rumors of the horrors that go on within this lab.";name = "Laboratory (DANGER!)";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gd" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Ge" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gf" = (/obj/machinery/computer/security{network = list("SS13","Telecomms","Research Outpost","Mining Outpost","ERT","CentComm","Thunderdome")},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gg" = (/obj/machinery/computer/rdservercontrol{badmin = 1;name = "Master R&D Server Controller"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gh" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gi" = (/obj/structure/table,/obj/item/card/id/silver{pixel_x = -3;pixel_y = -3},/obj/item/card/id/captains_spare,/obj/item/card/id/lifetime{pixel_x = 3;pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gj" = (/obj/structure/table,/obj/item/card/id/centcom{pixel_x = -3;pixel_y = -3},/obj/item/card/id{pixel_x = 0;pixel_y = 0},/obj/item/card/id/admin{pixel_x = 3;pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gk" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5";name = "window";opacity = 0;tag = "icon-window5"},/area/admin)
+"Gm" = (/obj/machinery/computer/card,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Go" = (/obj/machinery/door/airlock/public/glass{name = "Computer Hub";req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0;icon_state = "open";id_tag = "ADMINLOCKDOWN";name = "Security Doors";opacity = 0},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gp" = (/obj/effect/landmark{name = "aroomwarp";tag = ""},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Gq" = (/obj/machinery/door/airlock/hatch{desc = "For all your shady business needs";name = "Gambling Den";req_access_txt = "0"},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Gr" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Gs" = (/obj/structure/table/wood,/obj/item/toy/cards/deck/syndicate,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Gt" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Gu" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5_end (WEST)"},/area/admin)
+"Gy" = (/obj/structure/table/wood,/obj/item/lighter/zippo/engraved,/obj/item/storage/fancy/cigarettes/dromedaryco,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Gz" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break.";dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5_end";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/admin)
+"GA" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GC" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"GD" = (/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/turf/unsimulated/wall{dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"GE" = (/obj/machinery/computer/message_monitor,/obj/item/paper/monitorkey,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GF" = (/obj/machinery/computer/atmos_alert,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GG" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GH" = (/obj/machinery/computer/account_database{name = "Admin Accounts Database"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GI" = (/obj/structure/table,/obj/item/gun/projectile/automatic/pistol,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GJ" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch to lock down external access to the admin room.";icon_state = "doorctrl0";id = "ADMINLOCKDOWN";name = "Lockdown";pixel_y = 0;req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GK" = (/obj/structure/table,/obj/item/storage/fancy/cigarettes/syndicate,/obj/item/reagent_containers/food/drinks/cans/adminbooze,/obj/item/reagent_containers/food/drinks/cans/badminbrew,/obj/item/reagent_containers/food/drinks/cans/madminmalt,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GL" = (/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness";name = "Dojo";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GM" = (/obj/machinery/door/airlock/public/glass{name = "Shuttle Bay";req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"GN" = (/obj/structure/showcase,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GO" = (/obj/item/storage/toolbox/syndicate{desc = "A powerful relic many men worked long and hard to keep safe and away from the forces of evil.";force = 1e+008;name = "toolbox of robustness"},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
"GP" = (/turf/unsimulated/floor{icon_state = "gcircuit"},/area/admin)
-"GQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/grenade/clusterbuster/smoke,/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/table/wood,/obj/item/sleeping_carp_scroll,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/table/wood,/obj/item/twohanded/bostaff,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GT" = (/obj/structure/ninjatele{pixel_x = -28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GU" = (/obj/structure/ninjatele{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GV" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"GW" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"GX" = (/obj/structure/bed,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GY" = (/obj/effect/decal/cleanable/blood,/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"GZ" = (/obj/effect/decal/cleanable/fungus,/turf/unsimulated/wall{tag = "icon-wall3 (EAST)"; icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"; dir = 4},/area/admin)
+"GQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/grenade/clusterbuster/smoke,/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/table/wood,/obj/item/sleeping_carp_scroll,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/table/wood,/obj/item/twohanded/bostaff,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GT" = (/obj/structure/ninjatele{pixel_x = -28},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GU" = (/obj/structure/ninjatele{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GV" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"GW" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/turf/unsimulated/wall{dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"GY" = (/obj/effect/decal/cleanable/blood,/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"GZ" = (/obj/effect/decal/cleanable/fungus,/turf/unsimulated/wall{tag = "icon-wall3 (EAST)";icon = 'icons/turf/shuttle.dmi';icon_state = "wall3";dir = 4},/area/admin)
+"Ha" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 1;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
"Hb" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"Hc" = (/obj/machinery/door/window{dir = 1; name = "Suit Storage"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"He" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Hf" = (/obj/machinery/door/window/southleft{name = "Cell B"; req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
+"Hc" = (/obj/machinery/door/window{dir = 1;name = "Suit Storage";req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
+"Hd" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 8;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"He" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Hf" = (/obj/machinery/door/window/southleft{name = "Cell B";req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
"Hg" = (/obj/structure/rack,/obj/item/clothing/suit/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
"Hh" = (/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
"Hi" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
"Hj" = (/turf/unsimulated/wall,/area/tdome)
-"Hk" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi'; icon_state = "closed"; name = "Locked Door"},/area/tdome)
-"Hl" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Hm" = (/obj/structure/chair,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Hn" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Ho" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"Hp" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"Hq" = (/obj/structure/table/reinforced,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Hr" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/straight_jacket,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Hs" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/muzzle,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Ht" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin)
+"Hk" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly.";icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi';icon_state = "closed";name = "Locked Door"},/area/tdome)
+"Hl" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Hn" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Ho" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"Hp" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "diagonalWall3"},/area/admin)
+"Hq" = (/obj/structure/table/reinforced,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Hr" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/straight_jacket,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Hs" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/muzzle,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Ht" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/admin)
"Hu" = (/obj/structure/rack,/obj/item/clothing/gloves/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
"Hv" = (/obj/structure/rack,/obj/item/katana/energy,/obj/item/clothing/mask/gas/voice/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
"Hw" = (/obj/structure/rack,/obj/item/clothing/shoes/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"Hx" = (/obj/structure/closet/secure_closet/bar{req_access = null; req_access_txt = "112"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
+"Hx" = (/obj/structure/closet/secure_closet/bar{req_access = null;req_access_txt = "112"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"Hy" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"Hz" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"HA" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5 (EAST)"},/area/admin)
-"HB" = (/obj/machinery/door/airlock/hatch{desc = "Uh oh. You'd better hope you aren't going in here!"; name = "Prisoner Treatment"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"HC" = (/obj/machinery/door/airlock/hatch{desc = "Uh oh. You'd better hope you aren't going in here!"; name = "Detainment"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"HD" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; name = "window"; opacity = 0; tag = "icon-window5"},/area/admin)
-"HE" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HF" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/cans/beer,/obj/item/reagent_containers/food/drinks/cans/beer,/obj/item/reagent_containers/food/drinks/cans/beer,/obj/item/lighter/zippo,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HG" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HH" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HI" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the Thunderdome."; name = "Thunderdome Telescreen"; network = list("Thunderdome"); pixel_y = 30},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HJ" = (/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HK" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HL" = (/obj/structure/table/reinforced,/obj/item/melee/classic_baton/telescopic,/obj/item/paper/Court,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"HO" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashes,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"HP" = (/obj/structure/table/reinforced,/obj/item/storage/box/grenades,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"HQ" = (/obj/structure/table/reinforced,/obj/item/storage/box/teargas,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
+"HA" = (/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/turf/unsimulated/wall{dir = 4;icon = 'icons/turf/shuttle.dmi';icon_state = "window5";name = "window";opacity = 0;tag = "icon-window5 (EAST)"},/area/admin)
+"HB" = (/obj/machinery/door/airlock/hatch{desc = "Uh oh. You'd better hope you aren't going in here!";name = "Prisoner Treatment"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"HC" = (/obj/machinery/door/airlock/hatch{desc = "Uh oh. You'd better hope you aren't going in here!";name = "Detainment"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"HD" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 2;icon = 'icons/turf/shuttle.dmi';icon_state = "window5";name = "window";opacity = 0;tag = "icon-window5"},/area/admin)
+"HE" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HF" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/cans/beer,/obj/item/reagent_containers/food/drinks/cans/beer,/obj/item/reagent_containers/food/drinks/cans/beer,/obj/item/lighter/zippo,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HG" = (/obj/structure/table{icon_state = "tabledir";dir = 2},/obj/item/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HH" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HI" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the Thunderdome.";name = "Thunderdome Telescreen";network = list("Thunderdome");pixel_y = 30},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HJ" = (/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HK" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HL" = (/obj/structure/table/reinforced,/obj/item/melee/classic_baton/telescopic,/obj/item/paper/Court,/obj/item/pen,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"HO" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashes,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"HP" = (/obj/structure/table/reinforced,/obj/item/storage/box/grenades,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"HQ" = (/obj/structure/table/reinforced,/obj/item/storage/box/teargas,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
"HR" = (/obj/structure/closet/secure_closet/freezer/meat{req_access_txt = "112"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"HS" = (/obj/structure/closet/secure_closet/freezer/fridge{req_access_txt = "112"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"HT" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HU" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"HV" = (/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"HW" = (/obj/machinery/door/window{dir = 1; name = "Cell A"; req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"HX" = (/obj/structure/table{icon_state = "tabledir"; dir = 9},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
+"HU" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"HV" = (/obj/structure/window/reinforced{dir = 1;layer = 2.9},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"HW" = (/obj/machinery/door/window{dir = 1;name = "Cell A";req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"HX" = (/obj/structure/table{icon_state = "tabledir";dir = 9},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3;pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"HY" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave/upgraded,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"HZ" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"Ia" = (/obj/item/camera,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"Ib" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"Id" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/tdome)
-"Ie" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/tdome)
-"If" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/tdome)
-"Ih" = (/obj/machinery/door/poddoor{id_tag = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"Ia" = (/obj/item/camera,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"Ib" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"Id" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)";icon_state = "fakewindows";dir = 8},/area/tdome)
+"Ie" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)";icon_state = "fakewindows2";dir = 8},/area/tdome)
+"If" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)";icon_state = "fakewindows";dir = 4},/area/tdome)
+"Ih" = (/obj/machinery/door/poddoor{id_tag = "thunderdomeaxe";name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
"Ii" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"Ij" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"Ij" = (/obj/machinery/door/poddoor{id_tag = "thunderdomegen";name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
"Ik" = (/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"Il" = (/obj/machinery/door/poddoor{id_tag = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
-"Im" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena)
-"In" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena)
+"Il" = (/obj/machinery/door/poddoor{id_tag = "thunderdome";name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
+"Im" = (/turf/simulated/floor/plasteel{icon_state = "red";dir = 8},/area/tdome/arena)
+"In" = (/turf/simulated/floor/plasteel{icon_state = "green";dir = 4},/area/tdome/arena)
"Io" = (/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
"Ip" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"Iq" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Access"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"Iq" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Access";req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0;icon_state = "open";id_tag = "ADMINLOCKDOWN";name = "Security Doors";opacity = 0},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
"Ir" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
"Is" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"It" = (/obj/structure/rack,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Iu" = (/obj/structure/rack,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"Iv" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("Thunderdome"); c_tag = "Thunderdome Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"It" = (/obj/structure/rack,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Iu" = (/obj/structure/rack,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Iv" = (/obj/machinery/camera{pixel_x = 11;pixel_y = -9;network = list("Thunderdome");c_tag = "Thunderdome Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
"Iw" = (/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"Ix" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"Iy" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("Thunderdome"); c_tag = "Thunderdome Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"Iz" = (/obj/machinery/camera{pixel_x = 10; network = list("Thunderdome"); c_tag = "Thunderdome Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"IA" = (/obj/structure/table,/obj/random/powercell,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"IB" = (/obj/structure/table,/obj/random/tool,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"IC" = (/obj/structure/table,/obj/item/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"ID" = (/obj/structure/table,/obj/random/technology_scanner,/obj/random/tech_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"IE" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"IF" = (/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"IG" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"IH" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"IJ" = (/obj/structure/table,/obj/item/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"IK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3; pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"IL" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3; pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"IM" = (/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"IN" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"IO" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"IP" = (/obj/structure/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"IQ" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdome"; name = "Main Blast Doors"; pixel_x = -3; pixel_y = 0; req_access_txt = "104"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"IR" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the Thunderdome."; name = "Thunderdome Telescreen"; network = list("Thunderdome"); pixel_y = -30},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
+"Ix" = (/obj/machinery/flasher{id = "flash";name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"Iy" = (/obj/machinery/camera{pixel_x = 12;pixel_y = -10;network = list("Thunderdome");c_tag = "Thunderdome Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"Iz" = (/obj/machinery/camera{pixel_x = 10;network = list("Thunderdome");c_tag = "Thunderdome Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"IA" = (/obj/structure/table,/obj/random/powercell,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"IB" = (/obj/structure/table,/obj/random/tool,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"IC" = (/obj/structure/table,/obj/item/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"ID" = (/obj/structure/table,/obj/random/technology_scanner,/obj/random/tech_supply,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"IE" = (/obj/machinery/door/poddoor{id_tag = "thunderdomehea";name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"IF" = (/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"IG" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"IH" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"IJ" = (/obj/structure/table,/obj/item/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"IK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3;pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"IL" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/obj/item/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3;pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"IM" = (/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"IO" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"IQ" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors.";icon_state = "doorctrl0";id = "thunderdome";name = "Main Blast Doors";pixel_x = -3;pixel_y = 0;req_access_txt = "104"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"IR" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the Thunderdome.";name = "Thunderdome Telescreen";network = list("Thunderdome");pixel_y = -30},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
"IS" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"IT" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdomehea"; name = "Ranged Gear"; pixel_x = 0; pixel_y = 5; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"IU" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdomegen"; name = "General Equiptment"; pixel_x = 0; pixel_y = 5; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"IV" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "thunderdomeaxe"; name = "Specialist Supply"; pixel_x = 0; pixel_y = 5; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"Jb" = (/mob/living/simple_animal/pet/cat/Syndi,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"IT" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors.";icon_state = "doorctrl0";id = "thunderdomehea";name = "Ranged Gear";pixel_x = 0;pixel_y = 5;req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"IU" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors.";icon_state = "doorctrl0";id = "thunderdomegen";name = "General Equiptment";pixel_x = 0;pixel_y = 5;req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"IV" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors.";icon_state = "doorctrl0";id = "thunderdomeaxe";name = "Specialist Supply";pixel_x = 0;pixel_y = 5;req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"Jb" = (/mob/living/simple_animal/pet/cat/Syndi,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"Jc" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"Jd" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"Je" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"Jf" = (/obj/structure/chair/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid";icon_state = "asteroid";dir = 2},/area/holodeck/source_picnicarea)
+"Jg" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"Jh" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"Ji" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"Jj" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"Jk" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"Jl" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"Jm" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"Jn" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"Jo" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"Jp" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)";icon_state = "carpet7-3";dir = 4},/area/holodeck/source_theatre)
+"Jq" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)";icon_state = "carpet15-15";dir = 4},/area/holodeck/source_theatre)
+"Jr" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)";icon_state = "carpet11-12";dir = 4},/area/holodeck/source_theatre)
+"Js" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-1 (EAST)";icon_state = "carpet5-1";dir = 4},/area/holodeck/source_theatre)
+"Jt" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-5 (EAST)";icon_state = "carpet13-5";dir = 4},/area/holodeck/source_theatre)
+"Ju" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-4 (EAST)";icon_state = "carpet9-4";dir = 4},/area/holodeck/source_theatre)
+"Jv" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet6-0 (EAST)";icon_state = "carpet6-0";dir = 4},/area/holodeck/source_meetinghall)
+"Jw" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet14-0 (EAST)";icon_state = "carpet14-0";dir = 4},/area/holodeck/source_meetinghall)
+"Jx" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet10-0 (EAST)";icon_state = "carpet10-0";dir = 4},/area/holodeck/source_meetinghall)
+"Jy" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"Jz" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)";icon_state = "carpet7-0";dir = 4},/area/holodeck/source_meetinghall)
+"JA" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)";icon_state = "carpet15-0";dir = 4},/area/holodeck/source_meetinghall)
+"JB" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)";icon_state = "carpet11-0";dir = 4},/area/holodeck/source_meetinghall)
+"JC" = (/obj/structure/chair/stool,/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/ninja/holding)
+"JD" = (/obj/structure/chair/stool,/turf/unsimulated/beach/sand,/area/ninja/holding)
+"JE" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)";icon_state = "carpet7-0";dir = 4},/area/holodeck/source_meetinghall)
+"JF" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)";icon_state = "carpet15-0";dir = 4},/area/holodeck/source_meetinghall)
+"JG" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)";icon_state = "carpet11-0";dir = 4},/area/holodeck/source_meetinghall)
+"JH" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JI" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JJ" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JK" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JL" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JM" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)";icon_state = "carpet7-0";dir = 4},/area/holodeck/source_meetinghall)
+"JN" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)";icon_state = "carpet15-0";dir = 4},/area/holodeck/source_meetinghall)
+"JO" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)";icon_state = "carpet11-0";dir = 4},/area/holodeck/source_meetinghall)
+"JP" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-0 (EAST)";icon_state = "carpet5-0";dir = 4},/area/holodeck/source_meetinghall)
+"JQ" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-0 (EAST)";icon_state = "carpet13-0";dir = 4},/area/holodeck/source_meetinghall)
+"JR" = (/obj/structure/chair/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-0 (EAST)";icon_state = "carpet9-0";dir = 4},/area/holodeck/source_meetinghall)
+"JS" = (/obj/structure/chair/stool,/obj/machinery/computer/security/telescreen{name = "Entertainment monitor";desc = "Damn, they better have /tg/thechannel on these things.";icon_state = "entertainment";pixel_y = -30},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JT" = (/obj/structure/chair/stool,/obj/machinery/computer/security/telescreen{name = "Entertainment monitor";desc = "Damn, they better have /tg/thechannel on these things.";icon_state = "entertainment";pixel_y = -30},/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JU" = (/obj/structure/chair/comfy/black,/obj/effect/landmark{name = "Syndicate-Infiltrator-Admin";tag = "Commando"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"JV" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JW" = (/obj/structure/chair/stool,/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JX" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JY" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"JZ" = (/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"Ka" = (/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/ninja/holding)
+"Kb" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/infteam)
+"Kc" = (/obj/structure/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
+"Kd" = (/obj/structure/chair/comfy/brown{dir = 8},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
+"Ke" = (/obj/structure/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
+"Kf" = (/obj/machinery/light/small{dir = 1},/obj/structure/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
+"Kg" = (/obj/machinery/light/small{dir = 1},/obj/structure/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
+"Kh" = (/obj/structure/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
+"Ki" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
+"Kj" = (/obj/structure/chair/stool,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
+"Kk" = (/obj/structure/chair/stool,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
+"Kl" = (/obj/structure/bed,/obj/item/bedsheet/wiz,/turf/unsimulated/floor{dir = 5;icon_state = "carpetside"},/area/wizard_station)
+"Km" = (/obj/structure/chair,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"Kn" = (/obj/structure/chair,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"Ko" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"Kp" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/wizard_station)
+"Kq" = (/obj/structure/chair/comfy/red,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
+"Kr" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
+"Ks" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
+"Kt" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
+"Ku" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
+"Kv" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "voxstart"},/turf/unsimulated/floor/vox,/area/vox_station)
+"Kw" = (/obj/structure/chair/comfy/brown,/obj/effect/landmark{name = "traderstart_sol"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"Kx" = (/obj/structure/chair/comfy/brown{dir = 4},/obj/effect/landmark{name = "traderstart_sol"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"Ky" = (/obj/structure/chair/comfy/brown{dir = 4},/obj/effect/landmark{name = "traderstart_sol"},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"Kz" = (/obj/structure/chair/comfy/brown{dir = 1},/obj/effect/landmark{name = "traderstart_sol"},/obj/machinery/light{dir = 4},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/trader_station/sol)
+"KA" = (/obj/docking_port/stationary{area_type = /area/syndicate_mothership;dir = 1;dwidth = 11;height = 18;id = "emergency_syndicate";name = "404 Not Found";turf_type = /turf/unsimulated/floor/snow;width = 29},/turf/unsimulated/floor/snow,/area/syndicate_mothership)
+"KB" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KC" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KD" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KE" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KF" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KG" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KH" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KI" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KJ" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KK" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KL" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KM" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KN" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KO" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KP" = (/obj/structure/chair/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/syndicate_mothership)
+"KQ" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KR" = (/obj/structure/chair{dir = 1},/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KS" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KT" = (/obj/structure/chair{dir = 8},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KU" = (/obj/structure/chair{dir = 4},/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KV" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KW" = (/obj/structure/chair,/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KX" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KY" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/assault_pod)
+"KZ" = (/obj/structure/chair/stool,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/syndicate_mothership)
+"La" = (/obj/structure/bed,/obj/item/bedsheet,/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/centcom/control)
+"Lb" = (/obj/structure/chair/stool,/obj/structure/sign/poster/random{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"Lc" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"Ld" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"Le" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"Lf" = (/obj/structure/chair/stool,/obj/machinery/light/spot{tag = "icon-tube1 (EAST)";icon_state = "tube1";dir = 4},/turf/unsimulated/floor{tag = "icon-redyellowfull";icon_state = "redyellowfull"},/area/centcom/control)
+"Lg" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lh" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Li" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lj" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lk" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ll" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lm" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ln" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lo" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lp" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lq" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lr" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ls" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lt" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lu" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lv" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lw" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lx" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ly" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Lz" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"LA" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"LB" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"LC" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "cafeteria";dir = 2},/area/centcom/control)
+"LD" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"LE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"LX" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"LY" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"LZ" = (/obj/mecha/combat/marauder/seraph/loaded,/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Ma" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"Mb" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"Mc" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Md" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Me" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mf" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mg" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mh" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mi" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ml" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mo" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ms" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Mw" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Mx" = (/obj/effect/decal/warning_stripes/west,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"My" = (/obj/machinery/mass_driver{dir = 8;drive_range = 50;id_tag = "ASSAULT3";name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Mz" = (/obj/effect/decal/warning_stripes/yellow/partial{dir = 8},/obj/effect/decal/warning_stripes/arrow{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"MA" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"MB" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "bar";dir = 2},/area/centcom/control)
+"MC" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"MD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"ME" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"ML" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"MW" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"MX" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"MY" = (/obj/mecha/combat/marauder/loaded,/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"MZ" = (/obj/structure/bed,/obj/item/bedsheet,/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/centcom/control)
+"Na" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Nb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nd" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ne" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nf" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ng" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nh" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ni" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nl" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"No" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Np" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ns" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Nu" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Nv" = (/obj/effect/decal/warning_stripes/west,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"Nw" = (/obj/machinery/mass_driver{dir = 8;drive_range = 50;id_tag = "ASSAULT2";name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Nx" = (/obj/effect/decal/warning_stripes/yellow/partial{dir = 8},/obj/effect/decal/warning_stripes/arrow{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Ny" = (/obj/structure/chair/office/dark{dir = 4},/turf/unsimulated/floor{dir = 8;icon_state = "carpet15-14";tag = "icon-carpet (WEST)"},/area/centcom/control)
+"Nz" = (/obj/effect/decal/warning_stripes/northwest,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NA" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NB" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NC" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"ND" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NE" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NF" = (/obj/machinery/bsa/full/admin/east,/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NG" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NH" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NI" = (/obj/effect/decal/warning_stripes/north,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NJ" = (/obj/effect/decal/warning_stripes/northeast,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"NK" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"NL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"NZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Oa" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ob" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Oc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Od" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Oe" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Of" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Og" = (/obj/mecha/combat/marauder/loaded,/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Oh" = (/obj/effect/decal/warning_stripes/southwest,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Oi" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Oj" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Ok" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Ol" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Om" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"On" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Oo" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Op" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Oq" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Or" = (/obj/effect/decal/warning_stripes/southeast,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
+"Os" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ot" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ou" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ov" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ow" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ox" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Oy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Oz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OM" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"ON" = (/obj/effect/decal/warning_stripes/west,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"OO" = (/obj/machinery/mass_driver{dir = 8;drive_range = 50;id_tag = "ASSAULT1";name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"OP" = (/obj/effect/decal/warning_stripes/yellow/partial{dir = 8},/obj/effect/decal/warning_stripes/arrow{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"OQ" = (/obj/structure/bed,/obj/item/bedsheet,/turf/unsimulated/floor{dir = 10;icon_state = "carpetside"},/area/centcom/control)
+"OR" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"OS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"OZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pa" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pd" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pe" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pf" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pg" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ph" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pi" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pl" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Pm" = (/obj/machinery/mech_bay_recharge_port/upgraded,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Pn" = (/obj/mecha/combat/marauder/loaded,/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Po" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Pp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ps" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Px" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Py" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Pz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PI" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"PJ" = (/obj/effect/decal/warning_stripes/west,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"PK" = (/obj/machinery/mass_driver{dir = 8;drive_range = 50;id_tag = "ASSAULT0";name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"PL" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Assault Armor South";dir = 1;network = list("ERT","CentComm")},/obj/effect/decal/warning_stripes/yellow/partial{dir = 8},/obj/effect/decal/warning_stripes/arrow{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"PM" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"PN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"PZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qa" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qd" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qe" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qf" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qg" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Qh" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Qi" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ql" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qo" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qr" = (/obj/effect/landmark/ai_multicam_room,/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qs" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Qz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QB" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"QC" = (/obj/structure/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red";dir = 1},/area/centcom/gamma)
+"QD" = (/obj/structure/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel{icon_state = "red";dir = 1},/area/centcom/gamma)
+"QE" = (/obj/structure/chair/sofa/right,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"QF" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"QG" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"QH" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"QI" = (/obj/structure/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"QJ" = (/obj/structure/chair/sofa/corner,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape)
+"QK" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"QL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"QZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ra" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rd" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Re" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Rf" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Rg" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"Rh" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ri" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rj" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rk" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rl" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rm" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rn" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ro" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rs" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ru" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ry" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Rz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RB" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"RC" = (/obj/machinery/door/airlock/centcom{name = "Team Storage";opacity = 1;req_access_txt = "109"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"RD" = (/obj/effect/decal/warning_stripes/south,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"RE" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"RF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RH" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RI" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RJ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"RY" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"RZ" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sa" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sb" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sc" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sd" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Se" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sf" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sg" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sh" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Si" = (/obj/machinery/door/airlock/centcom{name = "Special Operations";opacity = 1;req_access_txt = "109"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sj" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sk" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sl" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Sm" = (/obj/machinery/door/airlock/centcom{name = "Special Operations";opacity = 1;req_access_txt = "109"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
+"Sn" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"So" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ss" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"St" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Su" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Sz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SH" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"SI" = (/obj/machinery/door/airlock/centcom{name = "Prison";opacity = 1;req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"SJ" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"SK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"ST" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"SZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ta" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Td" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Te" = (/obj/machinery/teleport/hub/upgraded{admin_usage = 1},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Tf" = (/obj/structure/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Tg" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Th" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Ti" = (/obj/structure/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"Tj" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"Tk" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"Tl" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"Tm" = (/obj/structure/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
+"Tn" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"To" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tp" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tr" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ts" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tt" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tx" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ty" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Tz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TE" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TF" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TG" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TH" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"TI" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"TJ" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"TK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TS" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"TZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ua" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ub" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ud" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ue" = (/obj/structure/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Uf" = (/obj/structure/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Ug" = (/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity.";icon_state = "doorctrl0";id = "GRAVPULTS";name = "Gravity Catapults";pixel_x = -6;pixel_y = 6;req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity.";icon_state = "doorctrl0";id = "ASSAULT";name = "Mech Storage";pixel_x = 6;pixel_y = 6;req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity.";icon_state = "doorctrl0";id = "CCTELE";name = "Teleporter Access";pixel_x = -6;pixel_y = -6;req_access_txt = "114"},/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8;icon_state = "carpetside"},/area/centcom/specops)
+"Uh" = (/obj/machinery/computer/security/telescreen{name = "Special Ops. Monitor";desc = "Used for watching the Special Ops.";network = list("ERT")},/obj/structure/table/wood,/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/centcom/specops)
+"Ui" = (/obj/item/radio/intercom/specops,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 4;icon_state = "carpetside"},/area/centcom/specops)
+"Uj" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Uk" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ul" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Um" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Un" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uo" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Up" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uq" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ur" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Us" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ut" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uu" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uv" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uw" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Ux" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uy" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Uz" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UA" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UB" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UC" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UD" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UE" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"UF" = (/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity.";icon_state = "doorctrl0";id = "SPECOPS";name = "Ready Room";pixel_x = -6;pixel_y = 6;req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity.";icon_state = "doorctrl0";id = "specopsoffice";name = "Privacy Shutters";pixel_x = 6;pixel_y = -6;req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity.";icon_state = "doorctrl0";id = "CCGAMMA";name = "Gamma Lockdown";pixel_x = -6;pixel_y = -6;req_access_txt = "114"},/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8;icon_state = "carpetside"},/area/centcom/specops)
+"UG" = (/obj/structure/chair/comfy/black{dir = 1},/obj/effect/landmark{name = "ERT Director"},/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/centcom/specops)
+"UH" = (/obj/structure/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
+"UI" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"UJ" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"UK" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UL" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UM" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UN" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UO" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UP" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UQ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UR" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"US" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UT" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UU" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UV" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UW" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UX" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UY" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"UZ" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Va" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Vb" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Vc" = (/turf/unsimulated/ai_visible,/area/ai_multicam_room)
+"Vd" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Ve" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Vf" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vg" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vh" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vi" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vj" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vk" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vl" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vm" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vn" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vo" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vp" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vq" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vr" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vs" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vt" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vu" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vv" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vw" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vx" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vy" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"Vz" = (/turf/unsimulated/wall,/area/ai_multicam_room)
+"VA" = (/obj/effect/decal/warning_stripes/northwest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VB" = (/obj/effect/decal/warning_stripes/northeast,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VC" = (/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VD" = (/obj/effect/decal/warning_stripes/southwest,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VE" = (/obj/effect/decal/warning_stripes/southeast,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VF" = (/obj/machinery/door/airlock/centcom{name = "Prison";opacity = 1;req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VG" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VH" = (/obj/machinery/door/airlock/centcom{name = "Prison Cell";opacity = 1;req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VI" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VJ" = (/obj/structure/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VK" = (/obj/machinery/door/airlock/centcom{name = "Prison Cell";opacity = 1;req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VL" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VM" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VN" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VO" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VP" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VQ" = (/obj/machinery/door/airlock/centcom{name = "Prison Cell";opacity = 1;req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"VR" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VS" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VT" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VU" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VV" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VW" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VX" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VY" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"VZ" = (/obj/docking_port/stationary{dir = 4;dwidth = 11;height = 18;id = "emergency_away";name = "emergency centcom";width = 29},/turf/space,/area/space)
+"Wa" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Wb" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"Wc" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"Wd" = (/obj/structure/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"We" = (/obj/structure/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"Wf" = (/obj/structure/chair/stool,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wg" = (/obj/machinery/door/airlock/centcom{name = "Prison Cell";opacity = 1;req_access_txt = "104"},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"Wh" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wi" = (/obj/structure/chair{dir = 4;name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wj" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"Wk" = (/obj/structure/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
+"Wl" = (/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
+"Wm" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wn" = (/obj/structure/chair{dir = 4;name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wo" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"Wp" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wq" = (/obj/structure/chair{dir = 4;name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wr" = (/obj/structure/chair/stool/bar,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/centcom/evac)
+"Ws" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wt" = (/obj/structure/chair{dir = 4;name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wu" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wv" = (/obj/structure/chair{dir = 4;name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Ww" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wx" = (/obj/structure/chair{dir = 4;name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"Wy" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"Wz" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WA" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WB" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WC" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WD" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WE" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WF" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WG" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WH" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WI" = (/obj/structure/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"WJ" = (/obj/structure/chair{dir = 4;name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
+"WK" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WL" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WM" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WN" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WO" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WP" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WQ" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WR" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WS" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WT" = (/obj/structure/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)";icon_state = "redbluefull";dir = 8},/area/tdome/tdomeobserve)
+"WU" = (/obj/structure/chair,/turf/simulated/shuttle/floor,/area/centcom/evac)
+"WV" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"WW" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"WX" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"WY" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"WZ" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"Xa" = (/obj/structure/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"Xb" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"Xc" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"Xd" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"Xe" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"Xf" = (/obj/structure/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)";icon_state = "redyellowfull";dir = 5},/area/tdome/tdomeadmin)
+"Xg" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xh" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xi" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xj" = (/obj/structure/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/centcom)
+"Xk" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xl" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom)
+"Xm" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom)
+"Xn" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xo" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xp" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xq" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xr" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"Xs" = (/obj/structure/chair/stool,/turf/unsimulated/floor{icon_state = "freezerfloor";dir = 2},/area/admin)
+"Xt" = (/obj/structure/chair/office/dark,/turf/unsimulated/floor{icon_state = "carpet";dir = 2},/area/admin)
+"Xu" = (/obj/structure/chair/comfy/black,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Xv" = (/obj/structure/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Xw" = (/obj/structure/chair/comfy/black{dir = 8},/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"Xx" = (/obj/structure/chair/stool,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Xy" = (/obj/structure/chair/stool,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"Xz" = (/obj/structure/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
+"XA" = (/obj/structure/chair/stool,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"XB" = (/obj/structure/chair/stool,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"XC" = (/obj/structure/chair/stool,/turf/unsimulated/floor{dir = 8;icon_state = "wood"},/area/admin)
+"XD" = (/obj/structure/bed,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"XE" = (/obj/structure/chair,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"XF" = (/obj/structure/table/abductor,/obj/item/bonegel/alien,/obj/item/bonesetter/alien,/obj/item/FixOVein/alien,/obj/item/surgicaldrill/alien,/obj/item/circular_saw/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"XG" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"XH" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"XI" = (/obj/structure/bed,/turf/unsimulated/floor{tag = "icon-dark";icon_state = "dark"},/area/admin)
+"XJ" = (/obj/structure/table/abductor,/obj/item/bonegel/alien,/obj/item/bonesetter/alien,/obj/item/FixOVein/alien,/obj/item/surgicaldrill/alien,/obj/item/circular_saw/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"XK" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"XL" = (/obj/structure/table/abductor,/obj/item/bonegel/alien,/obj/item/bonesetter/alien,/obj/item/FixOVein/alien,/obj/item/surgicaldrill/alien,/obj/item/circular_saw/alien,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"XM" = (/obj/structure/bed/abductor,/turf/unsimulated/floor/abductor,/area/abductor_ship)
+"XN" = (/obj/machinery/teleport/hub/upgraded{admin_usage = 1},/obj/effect/decal/warning_stripes/yellow,/turf/unsimulated/floor{tag = "icon-floor";icon_state = "floor"},/area/admin)
(1,1,1) = {"
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaOaPaPaPaPaPaQaPaPaPaPaPaQaPaPaPaPaPaQaPaPaPaPaPaQaPaPaPaPaPaQaPaPaPaPaPaQaPaPaPaPaPaQaPaPaPaPaPaR
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdhdgdgdgdibsbqbqbrbqbqbsbtbubtbubtbsbwbvbvbvbvbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsbAbBbBbBbCbD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdkdjdjdjdlbsbqbEbqbqbFbsbGbHbGbHbGbsbIbIbIbIbIbsbxbJbxbJbxbsbybybybybybsbzbKbzbKbzbsbLbMbMbMbNbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdkdjdjdjdlbsbqbObqbqbqbsahaSahaSahbsbIbIbIbIbIbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdkdjdjdjdlbsbqbObqbqbqbsbPbQbPbQbPbsbIbIbIbIbIbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdkdjdjdjdlbsbqbqbRbSbqbsbTbTbTbTbTbsbUbUbUbUbVbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdndmdmdmdrbscabqbqbqbqbsaUcccdccbPbscfcgchcicfbsbxbxbJbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdxdvdvdvdybsbqcabqbqctbsbQcccdcccbbscfcwcxcycfbsbxbxbJbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdzdjdjdjdAbsbqbEcabqbRbsbTbTbTbTbTbsdbcwcxcydbbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdzdjdjdjdAbsbqbqbqcabqbscecucecucebsducwcxcydubsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapaparapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdzdjdjdjdAbsbqdGbqbqcabsbGbHbGbHbGbsducwcxcydubsbxbJbxbJbxbsbybybybybybsbzbKbzbKbzbsczbMbMbMcAbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdCdBdBdBdDbsbRbqdNbqbEbsbtbubtbubtbsdOdPdQdRdObsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsdSdTdTdTdUbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdndmdmdmdrbscabqbqbqbqbscbJccdJdcebscfcgchcicfbsbxbxbJbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdxdvdvdvdybsbqcabqbqctbscuJecdJfcvbscfJgJhJicfbsbxbxbJbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdzdjdjdjdAbsbqbEcabqbRbsbTbTbTbTbTbsdbJjJkJldbbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdzdjdjdjdAbsbqbqbqcabqbsdsdtdsdtdsbsduJmJnJodubsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapaparapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdzdjdjdjdAbsbqdGbqbqcabsbGbHbGbHbGbsduJpJqJrdubsbxbJbxbJbxbsbybybybybybsbzbKbzbKbzbsczbMbMbMcAbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpdCdBdBdBdDbsbRbqdNbqbEbsbtbubtbubtbsdOJsJtJudObsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsdSdTdTdTdUbD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNhyhzhzhzhzhzbZejejejejejbZejejejejejbZejejejejejbZekekekekekbZekekekekekbZekekekekekbZekekekekekel
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeneoepeneobseqeqeqeqeqbserererererbseseseteueubsevevevevevbsewexexexeybsezeAeAeAeBbD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckbockckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeoepeneoepbseqeDeqeqeqbsereEeFeGerbseHeHeIeJeJbseveKeveLevbseMeNeNeNeObsePeQeQeQeRbD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapavapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpepeneoepenbseqeqeqeXeqbsereYeYeYerbseHeZeZeZeJbsevevevevevbseMeNeNeNeObsePeQeQeQeRbD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNfffffffffffgfgfhfififjfgfgfgfgfgfgfgfgfgfkfgfgfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeneoepeneobseqeqeqeqeqbserererererbseHeIeIeIeJbsevevevevevbseMeNeNeNeObsePeQeQeQeRbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNftfufvfwfffgfxfyfzfAfAfBfCfDdJdMfGfHfIfHfHfJfKfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeoepeneoepbseqeqeqfMeqbserfNfOfPerbsfQfRfRfRfSbsevfTevevevbsfUfVfVfVfWbsePeQeQeQeRbD
-ckckckckckckckclckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNfffffffufufufffggbfyfyfyfyfygcgdgdgdgefHfHfHgffHfHfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpepeneoepenbseqgkeqeqeqbserglgmgnerbsgogpgpgpgqbsevevevgrevbsgsgtgtgtgubsgveQeQeQgwbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNgygzgAfufufufffggBfygCgDgEgFgGgdgdgdgdfHfHgHfHgIfIfgaNaNitisisisisisitnqnqnqnqnqnqnqnqnqnqnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeneoepeneobseqeqeqeqeDbserglgmgnerbsgJeIgKeIgLbsevevevevevbsgMeNeNeNgNbsgveQeQeQgwbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckcmckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNgOgPgQfufufufffggRgdcDcDcDcDcDgdgdgdgdfHfHfHgSfHfHfgaNaNisaNaNaNaNaNitnsnrnuntnvnqnxnwnznynqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeoepeneoepbsgTeqeqeqeqbserglgmgnerbsgJgUgUgUgLbsgVgVgVgVgVbsgMeNeNeNgNbsgveQeQeQgwbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckiAckckckckckckckckckaNaNaNaNaNfffffffffffffffggWgdgdgdgdgdgdgdgdgdgdgXfHfHfHfHfHfgaNaNisaNaNaNaNaNitnAnxnxnxnBnqnxnxnxnxnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpepeneoepenbseqfMeqgkeqbsergYgZhaerbsgJgJeIgLgLbshbhbhbhbhbbsgMeNeNeNgNbsgveQeQeQgwbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNfggWgdgdgdgdgdhcgdgdhcgdhdhehehehfhefgaNaNisaNaNaNaNaNitnCnxnxnxnEnDnxnFnGhOnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeneoepeneobseqeqeqeqgTbserererererbshhhhhihjhjbshkhkhkhkhkbshlhmhmhmhnbshohphphphqbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNfghrgdgdgdgdgehshtgehsgehuhvhvhvhwhvfgaNaNisaNaNaNaNaNitnHnxnInInxnJnxnKnMnLnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNhyhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhB
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNfgfghCdsdshCfgfgfgfgfgfgfgfgfgfgfgfgfgaNaNisaNaNaNaNaNnqnHnxnInNnxnOnxnxnQnPnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNftfufvfwfffgfxfyfzfAfAfBfCfDdJdMfGfHfIfHfHfJfKfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeoepeneoepbseqeqeqfMeqbserJvJwJxerbsfQfRfRfRfSbsevfTevevevbsfUfVfVfVfWbsePeQeQeQeRbD
+ckckckckckckckclckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNfffffffufufufffggbfyfyfyfyfygcgdgdgdJyfHfHfHgffHfHfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpepeneoepenbseqgkeqeqeqbserJzJAJBerbsgogpgpgpgqbsevevevgrevbsgsgtgtgtgubsgveQeQeQgwbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNgygzgAfufufufffggBfygCgDgEgFgGgdgdgdgdfHfHJCfHJDfIfgaNaNitisisisisisitnqnqnqnqnqnqnqnqnqnqnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeneoepeneobseqeqeqeqeDbserJEJFJGerbsgJeIgKeIgLbsevevevevevbsgMeNeNeNgNbsgveQeQeQgwbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckcmckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNgOgPgQfufufufffggRgdJHJIJJJKJLgdgdgdgdfHfHfHgSfHfHfgaNaNisaNaNaNaNaNitnsnrnuntnvnqnxnwnznynqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeoepeneoepbsgTeqeqeqeqbserJMJNJOerbsgJgUgUgUgLbsgVgVgVgVgVbsgMeNeNeNgNbsgveQeQeQgwbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckiAckckckckckckckckckaNaNaNaNaNfffffffffffffffggWgdgdgdgdgdgdgdgdgdgdgXfHfHfHfHfHfgaNaNisaNaNaNaNaNitnAnxnxnxnBnqnxnxnxnxnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpepeneoepenbseqfMeqgkeqbserJPJQJRerbsgJgJeIgLgLbshbhbhbhbhbbsgMeNeNeNgNbsgveQeQeQgwbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNfggWgdgdgdgdgdJSgdgdJTgdhdhehehehfhefgaNaNisaNaNaNaNaNitnCnxnxnxnEnDnxnFJUhOnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpeneoepeneobseqeqeqeqgTbserererererbshhhhhihjhjbshkhkhkhkhkbshlhmhmhmhnbshohphphphqbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNfghrgdgdgdgdJVhsJWJXhsJYhuhvhvhvhwhvfgaNaNisaNaNaNaNaNitnHnxnInInxnJnxnKnMnLnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNhyhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhAhzhzhzhzhzhB
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNapapapapapapapapapapapapapapapapapapapapapapapapaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNfgfghCJZKahCfgfgfgfgfgfgfgfgfgfgfgfgfgaNaNisaNaNaNaNaNnqnHnxnInNnxnOnxnxKbnPnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNfghEhFhFhFfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNaNnqnRnxnxnxnBnqnqnqnqnqnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZaPaPaPaPaPbZaPaPaPaPaPbZaPaPaPaPaPbZ
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNfghFhFhFhFfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNaNnqnHnxnxnxnSnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbphHhIhJhKhLbshMhNhYhPhQbshRhShThUhVbD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNfgfgfgfgfgfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNnUnTnxnxnxnxnVnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbphWhWhXhWhWbshYhZhZhZhYbsiaiaiaiaiabD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNfghFhFhFhFfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNaNnqnHnxnxnxnSnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbphHKchJKdhLbsKeKfhYKgKhbshRhShThUhVbD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNfgfgfgfgfgfgaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNnUnTnxnxnxnxnVnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbphWhWKihWhWbshYhZhZhZhYbsiaiaiaiaiabD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNaNnqnWnxnxnxnXnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbphWhWhWhWhWbshYhZhZhZhYbsiaiaiaiaiabD
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNaNitnYnxnZnxoanqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpibichWicibbshYidhZidhYbsieifiaigiebD
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNaNitnYnxnZnxoanqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpibichWicibbshYidhZidhYbsKjifiaigKkbD
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNisaNaNaNaNaNitnYnxobnxoanqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZhzhzhzhzhzbZhzhzhzhzhzbZhzhzhzhzhzbZ
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNihihihihihihihihihihihihaNaNaNaNaNaNaNaNaNaNaNaNitisisisisisitnqnqnqnqnqnqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNatatatatataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihiiijikiliminihioipiqihaNaNirisisisisisitaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNatauauauataNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaN
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihiiijikiliminihioipKlihaNaNirisisisisisitaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNatauauauataNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaN
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihikikikikikikikixiyizihaNaNisaNaNaNaNaNitaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNatauayauataNaNaNaNaNaNaNaNaNaNaNbZdEdEdEdEdEbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZdFdFdFdFdFbZaNaNaNaNaN
ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihiLiLikikikiMihiNiOiPihaNaNisaNaNaNaNaNititititaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNatauauauataNaNaNaNaNaNaNaNaNbZbZbZiZiZiZiZiZjajbjcjcjcjcjcjcjcjcjcjcjcjcjcjbjaiZiZiZiZiZbZbZbZaNaNaN
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihikikikikjdjdihihjeihihaNaNisaNaNaNaNaNitjgjhitaNaNaNaNaNaNaNaNaNaNmrmrmrmrmrmrmrmrmrmrmrmrmrmxmwatatatatataFaGaGaGaGaGaGaGaHatataIatataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpjpjpjpjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihjAjAikjBjCjDihjEjejFihaNaNisaNaNaNaNaNititititititititititititaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmzmyataJaJaJaKauauauauauauauauaKaKaKauaJataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpjpjpjpjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
-ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihkbikikjBkceUihkekfkgihaNaNisaNaNaNaNaNkikjkkklkmknkjkokpkqkrksaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmBmAataKauauauauauauauaMauauauauauauauaJataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpkBkCkBjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihikikikikKmKnihihjeihihaNaNisaNaNaNaNaNitjgjhitaNaNaNaNaNaNaNaNaNaNmrmrmrmrmrmrmrmrmrmrmrmrmrmxmwatatatatataFaGaGaGaGaGaGaGaHatataIatataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpjpjpjpjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihjAjAikKojCjDihjEjejFihaNaNisaNaNaNaNaNititititititititititititaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmzmyataJaJaJaKauauauauauauauauaKaKaKauaJataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpjpjpjpjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
+ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihkbikikKpkceUihkekfkgihaNaNisaNaNaNaNaNkikjkkklkmknkjkokpkqkrksaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmBmAataKauauauauauauauKqauauauauauauauaJataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpkBkCkBjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihkJikikikikihihihihihihaNaNisaNaNaNaNaNkKkjknknkLknkjknkrkrkrksaNaNmraNaNaNaNaNaNaNaNaNaNmDmCmFmEatbhauauauauauaubibibiauauauauauauaJataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpkBkTkBjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
-aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihkWkXkYkZiklalblcldleihaNaNisaNaNaNaNaNlgiBknknkLknkjkokpkrkrksaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmGmEatbhauauauauaubjbibibibjauauauauauaKataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpjpjpjpjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
-aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihlolplqikikiklrlsltluihaNaNisaNaNaNaNiClgiBknknknknlxknkrkrkrksaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmEmEatbhauauauauauaubjbjbjauauauauauauauataNaNaNaNaNaNaNaNaNbZbZbZlBlBlBlBlBlClDjpjpjpjpjpjplEjpjpjpjpjpjplDlClBlBlBlBlBbZbZbZaNaNaN
+aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihkWkXkYkZiklalblcldleihaNaNisaNaNaNaNaNlgiBknknkLknkjkokpkrkrksaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmGmEatbhauauauauauKrbibibiKsauauauauauaKataNaNaNaNaNaNaNaNaNbZjljmbZbZbZbZbZjnjojpjpjpjpjpjpjpjpjpjpjpjpjpjqjnbZbZbZbZbZjmjrbZaNaNaN
+aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihlolplqikikiklrlsltluihaNaNisaNaNaNaNiClgiBknknknknlxknkrkrkrksaNaNmraNaNaNaNaNaNaNaNaNaNaNmrmEmEatbhauauauauauauKtKuKvauauauauauauauataNaNaNaNaNaNaNaNaNbZbZbZlBlBlBlBlBlClDjpjpjpjpjpjplEjpjpjpjpjpjplDlClBlBlBlBlBbZbZbZaNaNaN
aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihlGlplqikikiklHlIlHlIihaNaNisaNaNaNaNaNkKkjknknkLknkjkokpkrkrksaNaNmrmrmrmrmrmrmrmrmrmrmrmrmrmEmEatauauauauauauauauauauauauauauauauauataNaNaNaNaNaNaNaNaNaNaNbZlWlWlWlWlWbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZlXlXlXlXlXbZaNaNaNaNaN
-aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihlomambkJmcladclumeddihaNaNisaNaNaNaNaNkikjknknkLknkjknkrkrkrksaNaNaNaNaNaNmHmEmEmEmImEmEmEmEmEmJatauauaKaJaJaKauauauauauauauauauauauataNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaN
-aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihihihihihihihihihihihihaNaNisaNaNaNaNaNmtkjknknmuknkjkokpmvkrksaNaNaNaNaNaNmKmEmLmNmMmOmOmMmEmQmPatatbkatatatatatatatatatatatatatbkatataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNititititititititititititititititititaNaNaNaNaNaNmKmEmEmEmEmEmEmEmEmQmRatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckbmckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmKmEmMmOmOmOmSmMmEmEmTatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihlomambkJmcladclumeddihaNaNisaNaNaNaNaNkikjknknkLknkjknkrkrkrksaNaNaNaNaNaNmHmEmEmEmImEmEmEmEmEKwatauauaKaJaJaKauauauauauauauauauauauataNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaN
+aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihihihihihihihihihihihihaNaNisaNaNaNaNaNmtkjknknmuknkjkokpmvkrksaNaNaNaNaNaNmKmEmLmNmMmOmOmMmEKxmPatatbkatatatatatatatatatatatatatbkatataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNititititititititititititititititititaNaNaNaNaNaNmKmEmEmEmEmEmEmEmEKymRatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckbmckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmKmEmMmOmOmOmSmMmEmEKzatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckaackckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmUmVmEmEmEmEmEmEmEmEatatblblatatatatatatatatatatatatatblblatataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckaEckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmrmrmrmWmrmXmOmOmMmEmEataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbnaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmrmYnamZmrmEmEmEmEnbncataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
@@ -1565,33 +2194,33 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckck
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababababababababababababababababababababababababababababababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNatatatatatatatatatatatatatatatatatatatatataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababababababababababababababababababababababababababababababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababababababababababababababababababababababababababababababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababababababababcvababababababababababababababababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababababababababKAababababababababababababababababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababababaonjafnjafnjalabaonjafnjafnjalababababababacabnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababababaoajoOajoOajalabaoajoOajoOajalabacababababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbXbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababaeabamakoOakoOakanagamakoOakoOakdtagagababaeabababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaeababacaeababaonjnjafnjafnjaTpvoCnjafnjafnjnjnjnjecababacababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbXbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababaeabamakoOakoOakanagamakoOakoOakaSagagababaeabababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaeababacaeababaonjnjafnjafnjaTpvoCnjafnjafnjnjnjnjaUababacababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaeababababacaonjaZoOoOoOaZoOoOoOaZoOoOoOaZoOoOnjalabababaeabnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababababaeabababaonjoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOnjalacababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjaeababababaeabaeaonjaTpvpvpvpvpvpvpvpvpvpvpvoCnjbbnjalabaeabacabnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaeacababagagagbcbcbcbcbababababababababaaXnjoOnjecabacabababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaeacababagagagbcbcbcbcbababababababababaaXnjoOnjaUabacabababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababaiaNaNaNaNaNaNaNaiacababaeababagagamnjoOnjalabababababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjacaeabababaNaNaNaNaNaNaNaNaNecabababacamnjnjqXnjbdnjefagegagegagnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjacaeabababaNaNaNaNaNaNaNaNaNaUabababacamnjnjqXnjbdnjiwagiHagiHagnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababaNaNaNaNaNaNaNaNaNalabababaonjnjoHoIjtoOnjnjnjnjnjnjnjnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababaNaNaNaNaNaNaNaNaNalaeabadaonjaLoOoOoOoOfZoQoRnjfYjMmgnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabacabababaiaNaNaNaNaNaNaNaiababababehnjpaoOmfmfpcoOpdpepWpXpXganjnjnjnjnjnjnjnjnjnjnjnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErHrErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababaNaNaNaNaNefagagagagegamnjplmfpmjNmfoOmkppnjpXggnjnjghgjgigxgxhggxgxhxhGnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababaeabababaNaNaNaNaNpupvpvpvpvpvoCnjmhmfpwpxmfoOmkppnjnjnjnjnjgjgiiuemiviFiveCiGhxnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjacabaiaNaNaNaNaNaNaNaNaNpypzpApzpzpzpzpCoOJboOoOoOoOmkppnjnjnjnjnjgjiIemiviJiSiKiveCiTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaNaNaNaNaNaNaNaNaNaNpFaVoBpvpvpvoCnjmiouououmhoOmkppoBpvpvpvpvpvpviviJiSiUiSiKiviTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaNaNaNaNaNaNaNaNaNaNaNaWaNaiababaXnjpRpSpTpSjOoOpUpViWiViViXiViViWiFiSiYjjjiiSiFiTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqasaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjaYabaNaNaNaNaNaNaNaNaNaNaNaNaNaNeSabaonjqfqgqhqiqjoOoOoOoBpvpvpvpvpvpviviJiSjkiSiSiviTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjaeabaNaNaNaNaNaNaNaNaNaNaNaNaNaNalabaonjnjppqtqrqunjqwoOnjnjnjnjnjgjiIhDiviJiSiKiviwiTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-rKrErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWcPbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaNaNaNaNaNaNaNaNaNaNaNaNaNaNanabababnjnjnjnjnjnjqDqDqEqFqGqHnjgjjvjuhDivjwiviwjxjynjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaiabababbabaiHaXnjqLqMqMqMqMqMnjjzgjjvjJjJjKjJjJjyjznjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNalababacababaoqXqMqMqMqMqMmlnjnjnjnjnjnjnjnjnjnjnjnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNalababadjsmqamnjrerererererfnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabacabababaiaNaNaNaNaNaNaNaiababababjsnjpaoOKBKCpcoOpdpepWpXpXganjnjnjnjnjnjnjnjnjnjnjnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErHrErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababababababaNaNaNaNaNiwagagagagiHamnjplKDpmjNKEoOKFppnjpXggnjnjghgjgigxgxhggxgxhxhGnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabababaeabababaNaNaNaNaNpupvpvpvpvpvoCnjmhKGpwpxKHoOKIppnjnjnjnjnjgjgiiuotiviFivouiGhxnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjacabaiaNaNaNaNaNaNaNaNaNpypzpApzpzpzpzpCoOJboOoOoOoOKJppnjnjnjnjnjgjiIotivKKiSKLivouiTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaNaNaNaNaNaNaNaNaNaNpFaVoBpvpvpvoCnjmiKMKNKOmhoOKPppoBpvpvpvpvpvpvivKQiSKRiSKSiviTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaNaNaNaNaNaNaNaNaNaNaNaWaNaiababaXnjpRpSpTpSjOoOpUpViWiViViXiViViWiFiSKTjjKUiSiFiTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqasaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjaYabaNaNaNaNaNaNaNaNaNaNaNaNaNaNovabaonjqfqgqhqiqjoOoOoOoBpvpvpvpvpvpvivKViSKWiSiSiviTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rErErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjaeabaNaNaNaNaNaNaNaNaNaNaNaNaNaNalabaonjnjppqtqrqunjqwoOnjnjnjnjnjgjiIowivKXiSKYivoxiTnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+rKrErErErErErErErErErErErErErEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWcPbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjababaNaNaNaNaNaNaNaNaNaNaNaNaNaNanabababnjnjnjnjnjnjqDqDqEqFqGqHnjgjjvjuowivjwivoxjxjynjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaiabababbabaoyaXnjqLqMqMqMqMqMnjjzgjjvjJjJjKjJjJjyjznjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNalababacababaoqXqMqMqMqMqMKZnjnjnjnjnjnjnjnjnjnjnjnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNalababadoAozamnjrerererererfnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNalababaonjnjnjnjnjnjnjnjnjnjnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmsaeababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNoDaeababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNalabababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNabaNaNaNaNaNabaNaNaNaNaNalabababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNnjabaNaNaNaNaNabaiaNaNaNaiabaNaNaNaNaNalabababnjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
@@ -1620,55 +2249,55 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsqsqsqsqsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsqsrssstsqsqsqsqsusvsvsvsqsqsqsqsqsqsqsqsqsqsqsqsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsqswsssssxsyszmmsBsCmnsEsEsysysqsFsGsHsIsqsJsKsLsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsqsqsqsqsqsysEmnsMsNmnsEsEsOmosqsQsQsQsQsqsRsSsTsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsvsEsEsEsEsEsEsEsEsysysqsQsUsVsVsqsqsWsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsqaNaNaNsvsEsEsEsEsEsEsEsEsEsEsusQmpmpsQsQsQsQsZsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXoSrqtdtesXotovrstdsqsqsqsqsqsEsEmnsMsCmnsEsEsEsEsEsQsQsQsQtfsQsQtgsqsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititjowtitititjoxoytntdtdrttdtdtdtdsqsrssstsqtosEmnsMtpmnsEsEsEsEsutqsQsQsQtrsQsQtssqsqsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXtdtdtdtdsXotoztdtdsqswsssssxsEsEsEsEsEsEsEsEsEsEsqsusususususususqsqdWdXsqsqsqsqsqsqsqsqsqsqsqsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititvowtitititvoAoytntdtdrttdtdtdtdsqsqsqsqsqsqsqtxsqsqsqsqsEsEtysqcScRcUcTcWcVcXsudZdYebeasuoMoXoXoXoXoXpHoXoXoXqSeiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXtdtdtdtAsXotoztdtdsqtBtCtDsqtEtFtFtFtFtGsqsEsEtHsqdodedqdpdLdKdesufbfatLfcsurrrxrxrxrxrxrxrxrxrxrMeiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititIowtitititIrOoytntdtdrttdtdtdtdsqtKtLtMedtFtFtFtFtFeesqsusxsusqsusususususususqsqfLsqsqsqsqsqsqsqsqsqsqsqsqsqsqfXaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXtdtdtdtdsXotoztdtdsqsqeWeVsqeWeVsqsqsqsqsqtQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqfXaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititVowtitititVrPrQtntdrurttdtdtdrusXaNaNaNaNaNaNsXfecoflsqtQtRtRtRtRtRtRtRtRtRtRtRtRtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmfmfmfmfmfmfmfmfmfmfmfmfmfmfmfmfmsXrwrvsXsXsXsXubsXsXsXsXsXsXsXsXsXfeujflsqtQtRucudududududududududuetRtZsqaNaNoeodododododododofaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmcYoEoEoEoEoFfmfofnfqfpfsfrfnfEfmufujujuhuiugujujsXukukukukulukumunfeujflsqtQtRtZsususususususususutQtRtZsqaNaNohogojoioioioiokohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmoGoNoJoWoPoGfmjHfFkdkdkdkdfFlZmdujujujujujujujujuqururururururussXfeujflsqtQtRtZsuutuuuvuwuxuyuzsutQtRtZsqaNaNohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpgpfpfpfphoGfmoKkdkdkdkdkdkdoLmdujujujujujujujujsXuAuBuBuBuBuBuCsXsXrRsXsquEtRtSsuuFtRuGrStRtRtRsuuEtRtZsqsqsqohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpipfpkpopfptfdoUoToToToToToToVfdujujujuIuIujujujuJrTrTrTrTrTrTrTrUrTrTrTrVtRtRtRuNtRtRtRtRtRtRtRuNtRtRtZoltRolomogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmoGpjpfpfrloGfmfmfmfmfmfmfmfmfmfmujujuOuPuQuRujuSsXsXrFrGrFsXsXrWsXoZoYpbsquetRucsutRtRtRtRtRtRtRsuuetRtZsqsqsqohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpnrnrmrprooGfmaNsXrXujujujujujryujuXrzooonvavbujvcvdvdvdvdvesXrTsXsXsXsXsqtQtRtZsuvfuuvgvgvgvhvisutQtRtZsqaNaNohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpDoEoEoEoErkfmaNsXrAujsXuWuWsXsXujujvauRvmuRujujvnvdvovpvqvdsXrTsXvrtTtUsqtQtRtZsqsqvsvtvuvvvwsqsqtQtRtZsqaNaNohogogogopogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmfmfmfmfmfmfmfmaNsXrBujsXvkvkpqprujujujvyvyujujujvzvdrCrIrDbesXrTsqpstRtRvFtRtRtZsqsqsusususususqsqtQtRtZsqaNaNoqodododododododoraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXvkvkvksXvIvJujujujujvLujsXvdrJmjeTvPsXrTsqvQtRtZsutQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpBsXsXsXsXsXsXbfbfsXsXsXvSvTvUvVvdsXrTsqvWtRvXsutQtRtRtRtRtRtRtRtRtRtRtRtRtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpBsXaNaNaNaNwbrYrZwbwesXiDwgwhwiwjsXrTsqwkudwlsuwmudududududuetRucudududududwnsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvxsXsXaNaNaNaNwrsasbwrwesXsXsXsXsXsXsXrWsqsqsqsqsqsqsqsqsqsqsqsqwusqsqsqsqsqsqsqsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkvksXaNaNaNaNaNaNaNaNaNaNaNsXpEujuTujujwCwDwEwFwGwCwHwIwJwKwLwMwNwOwPwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpGsXaNaNaNaNaNaNaNaNaNaNaNsXujujscujujwCwCwCwIwIwIwIwIwIwKxcxdxexdxfwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsqLasssssxsyszLbsBsCLcsEsEsysysqsFsGsHsIsqsJsKsLsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsqsqsqsqsqsysELdsMsNLesEsEsOLfsqsQsQsQsQsqsRsSsTsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsvsEsEsEsEsEsEsEsEsysysqsQsUsVsVsqsqsWsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsqaNaNaNsvsEsEsEsEsEsEsEsEsEsEsusQLBLCsQsQsQsQsZsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXoSrqtdtesXLYLZrstdsqsqsqsqsqsEsEMasMsCMbsEsEsEsEsEsQsQsQsQtfsQsQtgsqsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititjMxtitititjMyMztntdtdrttdtdtdtdsqsrssstsqtosEMAsMtpMBsEsEsEsEsutqsQsQsQtrsQsQtssqsqsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXtdtdtdtdsXMXMYtdtdsqMZsssssxsEsEsEsEsEsEsEsEsEsEsqsusususususususqsqdWdXsqsqsqsqsqsqsqsqsqsqsqsqsqdVaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNNaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititvNvtitititvNwNxtntdtdrttdtdtdtdsqsqsqsqsqsqsqtxsqsqsqsqsEsEtysqcScRcUcTcWcVcXsudZdYNyeasuNzNANBNCNDNENFNGNHNINJeiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZOaObOcOdOeaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXtdtdtdtAsXOfOgtdtdsqtBtCtDsqtEtFtFtFtFtGsqsEsEtHsqdodedqdpdLdKdesufbfatLfcsuOhOiOjOkOlOmOnOoOpOqOreiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititIONtitititIOOOPtntdtdrttdtdtdtdsqOQtLtMedtFtFtFtFtFeesqsusxsusqsusususususususqsqfLsqsqsqsqsqsqsqsqsqsqsqsqsqsqfXaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNOROSOTOUOVOWOXOYOZPaPbPcPdPePfPgPhPiPjPkPlaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXtdtdtdtdsXPmPntdtdsqsqeWeVsqeWeVsqsqsqsqsqtQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqfXaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNthtitititititititVPJtitititVPKPLtntdrurttdtdtdrusXaNaNaNaNaNaNsXfecoflsqtQtRtRtRtRtRtRtRtRtRtRtRtRtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNPMPNPOPPPQPRPSPTPUPVPWPXPYPZQaQbQcQdQeQfQgaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmfmfmfmfmfmfmfmfmfmfmfmfmfmfmfmfmsXrwrvsXsXsXsXubsXsXsXsXsXsXsXsXsXfeujflsqtQtRucudududududududududuetRtZsqaNaNoeodododododododofaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmcYoEoEoEoEoFfmfofnQCfpfsQDfnfEfmufujujuhuiugujujsXukukukukulukumunfeujflsqtQtRtZsususususususususutQtRtZsqaNaNohogQEQFQGQHQIQJohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZRaRbRcRdReaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmoGoNoJoWoPoGfmjHfFkdkdkdkdfFlZmdujujujujujujujujuqururururururRfsXfeujflsqtQtRtZsuutRguvuwuxuyuzsutQtRtZsqaNaNohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpgpfpfpfphoGfmoKkdkdkdkdkdkdoLmdujujujujujujujujsXuAuBuBuBuBuBuCsXsXRCsXsquEtRtSsuuFtRuGRDtRtRtRsuuEtRtZsqsqsqohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpipfpkpopfptfdoUoToToToToToToVfdujujujRZSaujujujuJSbScSdSeSfSgShSiSjSkSlSmtRtRtRuNtRtRtRtRtRtRtRuNtRtRtZoltRolomogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmoGpjpfpfrloGfmfmfmfmfmfmfmfmfmfmujujuOuPuQuRujuSsXsXrFrGrFsXsXSIsXoZoYpbsquetRucsutRtRtRtRtRtRtRsuuetRtZsqsqsqohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNSJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZTaTbTcTdaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpnrnrmrprooGfmaNsXTeujujujujujryujTfrzooonvaTgujvcvdvdvdvdvesXThsXsXsXsXsqtQtRtZsuvfTiTjTkTlTmvisutQtRtZsqaNaNohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpDoEoEoEoErkfmaNsXrAujsXuWuWsXsXujujvauRvmuRujujvnvdvovpvqvdsXTIsXvrtTtUsqtQtRtZsqsqvsvtvuvvvwsqsqtQtRtZsqaNaNohogogogopogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNTJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZUaUbUcUdaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmfmfmfmfmfmfmfmaNsXrBujsXvkvkpqprujujujUeUfujujujvzvdUgUhUibesXUjsqpstRtRvFtRtRtZsqsqsusususususqsqtQtRtZsqaNaNoqodododododododoraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXvkvkvksXvIvJujujujujvLujsXvdUFUGeTUHsXUIsqvQtRtZsutQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZVaVbVcVdaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpBsXsXsXsXsXsXbfbfsXsXsXvSvTvUvVvdsXVesqvWtRvXsutQtRtRtRtRtRtRtRtRtRtRtRtRtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpBsXaNaNaNaNwbVAVBwbwesXiDwgwhwiwjsXVCsqwkudwlsuwmudududududuetRucudududududwnsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvxsXsXaNaNaNaNwrVDVEwrwesXsXsXsXsXsXsXVFsqsqsqsqsqsqsqsqsqsqsqsqwusqsqsqsqsqsqsqsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkvksXaNaNaNaNaNaNaNaNaNaNaNsXVGujuTujujwCwDwEwFwGwCwHwIwJwKwLwMwNwOwPwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpGsXaNaNaNaNaNaNaNaNaNaNaNsXujujVHujujwCwCwCwIwIwIwIwIwIwKxcxdxexdxfwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXaNaNaNaNaNaNaNaNaNaNbgsXsXsXsXujuSwCwDxlwIwIwIwIwIwIwKxmxnwNxoxfwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXaNaNaNaNaNaNaNaNaNaNaNsXpEujuTujujwCwCwCwIxxwCwHwIwJwKxyxzxAxzxzwKwKwKwKwKwKwKwKwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbYbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXaNaNaNaNaNaNaNaNaNaNaNsXujujscujujwCwDxIwIxxwCwCwCwKwKxJxzxKxzwLwPxzpJpIpLpKpNpMwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXaNaNaNaNaNaNaNaNaNaNaNsXVIujuTujujwCwCwCwIxxwCwHwIwJwKxyxzVJxzxzwKwKwKwKwKwKwKwKwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbYbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXaNaNaNaNaNaNaNaNaNaNaNsXujujVKujujwCwDxIwIxxwCwCwCwKwKxJxzxKxzwLwPxzpJpIpLpKpNpMwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXujujwCwCwCwIwIwIwIwIxRwLxSxSxSxSwMxfxdpOwKxzxzxzxzxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXpEujuTujujwCwDxWwIwIwIwIwIxRxmxXxYwNxXxYxfxdpPxzxZxZxZwNcnytcnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyaybycydyeaNazaNaNaNaAaNyaybycydyeaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXujujscujujwCwCwCyfyfyfyfyfwKxmxXxYwNxXxYxfxzpJxzwNwNwNygxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiyjyjyjykylaBylylylaBylyoyjyjyjyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXujujpQsXaNaNaNaNaNaNxdxmxXxYwNxXxYxfypxdwKyqwNwNyrcnytcnoDaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiyvyvywyxyyyNyAyByCyNyyyEyFyvyvyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXpEujuTujujpYsXaNaNaNaNaNaNxdxmxXxYwNxXxYxfyGytyGwNwNwNyHxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiyvyvyKyLyMyNyMyOyMyNyMyPyKyvyvyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXujujscujujpQsXaNaNaNaNaNaNwKxyyQyQyQyRwNxfypxdwKyqwNwNwNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySyFyvyTyMyNyNyNyNyNyNyNyMyTyvywyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXaNaNaNwKwKwKwKxdxdwKwKxmwNxfxdpZwKwNwNwNwNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySylyoyWyXyYyZyNzazbyNzcykylyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKzdzezfrNzezewKxmwNxfypxdwKyqwNwNwNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizhzizjzkyNzazbyNyyyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKzlzezmrNzezeznxmwNxfyGytyGwNwNwNygxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizqzrzryZyNzazbyNyMyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKztzezurNzezewKxyyQzvwKwKwKyqwNwNyrcnytcnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizxzrzrzyyNyMyMyNyNaBaCaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKztzezezezezewKwKzBwKwKqaxzwNwNwNyHxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNykylylylyoyNzazbyNzHyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjytytytwKpIxzxZwNxZwNcnytcnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizOzOzPzQyNzazbyNzRyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcjcpcpcpcpcpcpcpcpcpcpcpcpcpcqytytytwKpMwKxzwNxzxzxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNzVzWzWzWzXyNzazbyNyMyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXVLujuTujujwCwDxWwIwIwIwIwIxRxmVMVNwNVOVPxfxdpPxzxZxZxZwNcnytcnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyaybycydyeaNazaNaNaNaAaNyaybycydyeaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXujujVQujujwCwCwCyfyfyfyfyfwKxmVRVSwNVTVUxfxzpJxzwNwNwNygxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiyjyjyjykylaBylylylaBylyoyjyjyjyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXujujpQsXaNaNaNaNaNaNxdxmVVVWwNVXVYxfypxdwKyqwNwNyrcnytcnVZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiyvyvywyxyyyNyAyByCyNyyyEyFyvyvyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXWaujuTujujpYsXaNaNaNaNaNaNxdxmWbWcwNWdWexfyGytyGwNwNwNyHxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiyvyvyKyLyMyNyMWfyMyNyMyPyKyvyvyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXujujWgujujpQsXaNaNaNaNaNaNwKxyyQyQyQyRwNxfypxdwKyqwNwNwNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySyFyvyTyMyNyNyNyNyNyNyNyMyTyvywyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXaNaNaNwKwKwKwKxdxdwKwKxmwNxfxdpZwKwNwNwNwNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySylyoyWyXyYyZyNWhWiyNzcykylyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKzdzezfWjzezewKxmwNxfypxdwKyqwNwNwNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizhWkWlzkyNWmWnyNyyyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKzlzezmWozezeznxmwNxfyGytyGwNwNwNygxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizqzrzryZyNWpWqyNyMyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKztzezuWrzezewKxyyQzvwKwKwKyqwNwNyrcnytcnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizxzrzrzyyNyMyMyNyNaBaCaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKztzezezezezewKwKzBwKwKqaxzwNwNwNyHxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNykylylylyoyNWsWtyNzHyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjytytytwKpIxzxZwNxZwNcnytcnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyizOzOzPzQyNWuWvyNzRyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcjcpcpcpcpcpcpcpcpcpcpcpcpcpcqytytytwKpMwKxzwNxzxzxzxzxzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNzVzWzWzWzXyNWwWxyNyMyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHjHjHjHjHjHjHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcjcpcraNaNaNaNaNaNaNaNaNcrcpcsytytytwKpLqbqcwNqcpIwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyinozWzWAlyNyNyNyNyNaBaDaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHxHyHyHyHyHzHjHjHjHjHjHjHjHjHkHkHjHjHjHjHjHjHjaNaNaNaNaNaNaNaNaNaNaNaNcjcraNaNaNaNaNaNaNaNaNaNaNcCcBytytytwKwKwKwKqdwKwKwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiADzWzWzQyNyMyMyMyPyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHxHyHyHyHyHzHjHEHFHGHFHHHIHJHJHJHIHHHJHHHJHKHjaNaNaNaNaNaNaNaNaNaNaNaNcjaNaNaNaNaNaNaNaNaNaNaNcEcGcFytytytcHwKqeqlqkqkqmwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyinozWzWzXyNAMANAOyyyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHRHyHyHyHyHSHjHJHTHTHTHTHTHJHJHJHTHTHTHTHTHUHjaNaNaNaNaNaNaNaNaNaNaNaNcjcraNaNaNaNaNaNaNaNaNaNaNcCcIytytytytwKqnqpqoqoqqwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySAXAXylylAYylylAXAXyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHRHXHYHYHyHyHZHJHJHJIaHJHJHJHJHJHJHJIaHJHJHJHjaNaNaNaNaNaNaNaNaNaNaNaNcjcpcraNaNaNaNaNaNaNaNaNcrcpcsytytytytwKqnqvqsqsqxwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySyoBbzayNzbBcykyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHjHjHjHjHjHjHjHJHTHTHTHTHTHJHJHJHTHTHTHTHTHJHjHjHjHjHjHjHjaNaNaNaNaNaNcjcpcpcpcpcpcpcpcpcpcpcpcpcpcJytytytcKwKqyqAqzqCqBwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiAMyMBeyMBfyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHRHyHyHyHyHSHjHJWyWzWAWBWCHJHJHJWDWEWFWGWHHUHjaNaNaNaNaNaNaNaNaNaNaNaNcjcraNaNaNaNaNaNaNaNaNaNaNcCcIytytytytwKqnqpqoqoqqwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySAXAXylylAYylylAXAXyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHRHXHYHYHyHyHZHJHJHJIaHJHJHJHJHJHJHJIaHJHJHJHjaNaNaNaNaNaNaNaNaNaNaNaNcjcpcraNaNaNaNaNaNaNaNaNcrcpcsytytytytwKqnqvqsqsqxwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySyoBbWIyNWJBcykyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNHjHjHjHjHjHjHjHjHJWKWLWMWNWOHJHJHJWPWQWRWSWTHJHjHjHjHjHjHjHjaNaNaNaNaNaNcjcpcpcpcpcpcpcpcpcpcpcpcpcpcJytytytcKwKqyqAqzqCqBwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiAMyMWUyMBfyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNHjdHdHdHdHdHHjIdIeIeIeIeIeIeIeIeIeIeIeIeIeIfHjdIdIdIdIdIHjaNaNaNaNaNaNcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjwKcLcLwKwKwKwKwKwKwKwKwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyiBhBiBjBkBlyiaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNHjHjHjIhIhIhIhIhjajbjcjcjcjcjcjcjcjcjcjcjcjcjcjbjaIhIhIhIhIhHjHjHjaNaNqIqIqIqIqIqIqIqIqIwKytytytcraNaNaNaNaNcMaNaNaNaNcrytytytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNySBqBrBrBrBsyUaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNHjIiIjIkIkIkIkIkIlImjcjcjcjcjcjcjcjcjcjcjcjcjcInIlIoIoIoIoIoIjIpHjaNaNqIaNaNaNaNaNaNaNqIwKytytcraNaNaNaNaNaNaNaNaNaNaNaNaNcrytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
@@ -1678,7 +2307,7 @@ aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWcNbWbWbWbWbWbWbWbWbWbWbW
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNHjIiIjIkIkIkIkIkIlImjcjcjcjcjcjcjcjcjcjcjcjcjcInIlIoIoIoIoIoIjIpHjaNaNqIaNaNaNaNaNaNaNqIwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcrwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNHjHjHjIEIEIEIEIEjajbjcjcjcjcjcjcjcjcjcjcjcjcjcjbjaIEIEIEIEIEHjHjHjaNaNqIaNaNaNaNaNaNaNqIwKcraNaNaNaNaNaNaNaNaNaNaNaNaNaNytytytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNHjIKIKIKIKIKHjIdIeIeIeIeIeIeIeIeIeIeIeIeIeIfHjILILILILILHjaNaNaNaNqIaNaNaNaNaNaNdwqIwKytaNaNaNaNaNaNaNaNaNaNaNaNaNaNytytytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNHjHjHjHjHjHjHjIMINININININIOIPIQINININININIMHjHjHjHjHjHjHjaNaNaNaNqIaNaNaNaNaNaNaNqIwKcraNaNaNaNaNaNaNaNaNaNaNaNaNaNytytytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNHjHjHjHjHjHjHjIMWVWWWXWYWZIOXaIQXbXcXdXeXfIMHjHjHjHjHjHjHjaNaNaNaNqIaNaNaNaNaNaNaNqIwKcraNaNaNaNaNaNaNaNaNaNaNaNaNaNytytytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNHjIMIMIMIRIMISISISISISIMIRIMIMIMHjaNaNaNaNaNaNaNaNaNaNqIaNaNaNaNaNaNaNqIwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcrwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNHjHjHkHjHjHjHjITIUIVHjHjHjHjHkHjHjaNaNaNaNaNaNaNaNaNaNqIaNaNaNaNaNaNaNqIwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNHjHjHjHjHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNqIaNaNaNaNaNaNaNqIwKcraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
@@ -1686,14 +2315,14 @@ aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbW
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNqIqIqIqIqIqIqIqIqIwKytytcraNaNaNaNaNaNaNaNaNaNaNaNaNcrytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKytytytcraNaNaNaNaNaNaNaNaNaNcrytytytwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWcObWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwKwKwKwKwKwKwKwKwKwKwKwKwKwKwKwKwKwKwKwKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqJqKAwqJqNAwqJqOAwqQqPAwqJqNAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqRsdAwqRqTAwqRqUAwqRqVAwqRqWAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwXgqKAwXhqNAwXiqOAwXjqPAwXkqNAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqRXlAwqRqTAwqRqUAwqRqVAwqRqWAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqYqZAwqYqZAwqYqZAwqYqZAwqYqZAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwrarararararbrararbrararararaAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwrararcrararararararararararaAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqYqZAwqYqZAwqYqZAwqYqZAwqYqZAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqRsdAwrdqWAwqRqWAwrgqVAwqRqTAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqJqKAwqJqNAwqJqNAwqJrhAwqJriAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwqRXmAwrdqWAwqRqWAwrgqVAwqRqTAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwXnqKAwXoqNAwXpqNAwXqrhAwXrriAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
@@ -1708,20 +2337,20 @@ aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbW
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDAjGEhDKDKDKEhrjDADKDKDKDKDKDKDKEmDADvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDuaNDADwDwDMEoDMDwDwDwDwDwDMEpDMDwDwDwEnaNDtDwEqErErEsDwDuaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDADwDwEtDKDKDKDKDKDKDKDKDKDKDKDKEuDAEnaNDvDwEvEwExEyEwEzDwjIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEBDKECDKDKDKDKDKDKDKDKDKDKDKDKDKDKDAaNaNaNEDEEEFEwEwEwEGEDaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEBDKECDKDKDKDKDKDKDKDKDKDKDKDKDKDKDAaNaNaNEDEEXsEwEwEwEGEDaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWnnbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDADwDwDwDwDwDMEHDMDwDwDwDwDwEIDKDKDAaNaNaNEJEKEwEwEwEwELEJaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEnaNEMDAENEOEPDKDKEQERESETEuDADKDKDAiEaNDtDAosEwEVEWEwEXDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWjLbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEYDKDKDKDKDKDKDKDKDKDKEYDKDKDADwEZDwDwDwFaDwDwFaDwDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDAFbFcFdDKDKDKFeFeFeDKEHDKDKDAFfEwEwdfDADKDAFhFiFjDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEYDKDKDKDKkhFkDwDwDwDwDADKDKDAEwEwFlFmDADKDAFnFoFpDIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEYDKDKDKDKkhFkDwDwDwDwDADKDKDAEwEwFlFmDADKDAFnXtFpDIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDAFqFrFsDKFtDAFuFvFwFxDADKDKDAFyEwEwFzDADKDAFAFBFCDNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEYlfDKDKDKFDDAFEFvFvFvFFDKDKDAFGEwEwFHDADKDKDKDKDKEfaNaNaNaNDtDwFIFJFKDwDuaNaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDAFMFNFODKFPDAFQFvFRFSDADKDKDAnpFUEwEwFVDKDKDKDKDKDAaNaNaNDtDwFWFXFXFXFYDwDuaNaNaNaNaNaN
aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtDwDwDwDwDwDwDwDwDwDwDwDwGaDKDKGbDwDwDwDwDwDwDwDwGcDwDADuaNDtDwFWFXFXFXFXFXFYDADuaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtDAGaGdGeGfGgGhGiGjGbDAGaDKDKDKDKDKDKGbDwDwDwDwDwGaDKGbDwDwGkDwFWFXFXFXGlFXFXFXFYDAaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDIGmlhDKDKlvDKDKDKDKDKGoDKDKGpGpGpGpDKDKDKDKDKDKDKDKDKDKGqFXFXFXFXFXFXGrGsGtFXFXFXGuaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDNDKlwDKDKDKDKDKDKDKDKGoDKDKGpGpGpGpDKDKDKDKDKDKDKDKDKDKGqFXFXFXFXFXGxGyGrGrGxFXFXGzaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEfGADKDKDKlJDKDKDKDKDKGoDKDKGpGpGpGpDKDKDKDKDKDKDKDKDKFkDwDwGkDwGCFXFXGxGxGxFXFXGDDAaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtDAGaGdGeGfGgGhGiGjGbDAGaDKDKDKDKDKDKGbDwDwDwDwDwGaDKGbDwDwGkDwFWFXFXFXXuFXFXFXFYDAaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDIGmlhDKDKXvDKDKDKDKDKGoDKDKGpGpGpGpDKDKDKDKDKDKDKDKDKDKGqFXFXFXFXFXFXGrGsGtFXFXFXGuaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDNDKXwDKDKDKDKDKDKDKDKGoDKDKGpGpGpGpDKDKDKDKDKDKDKDKDKDKGqFXFXFXFXFXXxGyGrGrXyFXFXGzaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEfGADKDKDKXzDKDKDKDKDKGoDKDKGpGpGpGpDKDKDKDKDKDKDKDKDKFkDwDwGkDwGCFXFXXAXBXCFXFXGDDAaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDAEIGEGFGGGHGIGJGKFkDAEIDKDKDKDKDKDKFkDwDwEIDKFkDwDwDwDAEnaNEMDwGCFXFXFXFXFXGDDAEnaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwDwDwDwDwDwDwDwDwDwDwDwEIDKDKFkDwDwDwDwDwGLDwDwDwDADAaNaNaNEMDwGCFXFXFXGDDwEnaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDvDAGMGMDAaNDAFvGNFvFvFvGNFvDADAaNaNaNaNEMDwFIFJFKDwEnaNaNaNaNaNaNaN
@@ -1729,22 +2358,22 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDIDKDKDKDKDKDKDKDAaNDAGRGPFvFvFvGPGSDADAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEfDKDKDKDKDKDKDKDAaNDAGTFvFvGPFvFvGUDADAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtDwDwDuaNEMDxDyDyDzEIDKDKDAaNDAGVFvFvFvFvFvGWDAEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjQjPjSjRjTaNaNaNjQjPjSjRjTaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtaNaNDtDAGXGYGZDuaNaNaNaNaNDIDKDKDAaNEMDwseHbHcHbsfDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjQjPjSjRjTaNaNaNjQjPjSjRjTaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtaNaNDtDAXDGYGZDuaNaNaNaNaNDIDKDKDAaNEMDwHaHbHcHbHdDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjUjWjVjYjXkajZaNjUjWktkvkukajZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtDwDwDwDwDAHeHfDADwDwDwDwDuaNEfDKDKDAaNaNEMDwHgHhHiDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkwkykxkxkxkAkzaNkwkDkxkxkxkAkzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtDAHlHmHnDAHoFvFvHpDAHqHrHsHpDwGaDKDKDAaNaNaNHtHuHvHwHtaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkwkykxkxkxkAkzaNkwkDkxkxkxkAkzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDtDAHlXEHnDAHoFvFvHpDAHqHrHsHpDwGaDKDKDAaNaNaNHtHuHvHwHtaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkEkGkFkIkHkNkMaNkEkGkOkIkPkNkMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNHAFvFvFvHBFvFvFvFvHCFvFvFvFvHCDKDKDKDAaNaNEMDwDwHDDwDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkQkRkxkxkxkAkSaNkQkRkxkxkxkAkSaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDAHLdacZDAGVFvFvGWDAHOHPHQGWDwEIDKDKDAaNaNaNEMaNaNaNEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVrLljlmllaNkUlikVlkljlmllaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwDwDwDwGZHVHWDADwDwDwDwEnaNDIDKDKDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMaNaNEMDAGXIbDAEnaNaNaNaNaNEfDKDKDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVXFXGlmllaNkUlikVlkXHlmllaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwDwDwDwGZHVHWDADwDwDwDwEnaNDIDKDKDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMaNaNEMDAXIIbDAEnaNaNaNaNaNEfDKDKDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwDwEnaNDtDxDyDyDzGaDKDKDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjQjPjSjRjTaNaNaNjQjPjSjRjTaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDIDKDKDKDKDKDKDKDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjUjWlLlNlMkajZaNjUjWlOlQlPkajZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEfDKDKDKDKDKDKFkDAEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkwlRkxkxkxkAkzaNkwlSkxkxkxkAkzaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwDwDMIqDMDwDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkEkGlTkIlUkNkMaNkEkGlVkIlYkNkMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDAItDKDKDKIuDAaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkQkRkxkxkxkAkSaNkQkRkxkxkxkAkSaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDIDKDKDKDKlKDIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVrLljlmllaNkUlikVrLljlmllaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDNIADKDKDKIBDNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVXJXKlmllaNkUlikVXLXMlmllaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDNIADKDKDKIBDNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEfICDKDKDKIDEfaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
-aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwIFIGIHsgIJDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
+aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwIFIGIHXNIJDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwDxDyDzDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMaNaNaNEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN
diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm
index 7eeac05c776..e69905fc814 100644
--- a/_maps/map_files/cyberiad/z6.dmm
+++ b/_maps/map_files/cyberiad/z6.dmm
@@ -268,7 +268,7 @@
"fh" = (/obj/machinery/light/small{dir = 4},/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/derelict/singularity_engine)
"fi" = (/obj/item/shard{icon_state = "medium"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"fj" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8";tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"fk" = (/obj/item/ore/slag,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
+"fk" = (/obj/item/stack/ore/slag,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
"fl" = (/obj/machinery/light/small,/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/derelict/hallway/primary)
"fm" = (/turf/simulated/wall,/area/derelict/hallway/primary)
"fn" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plating/airless,/area/derelict/arrival)
@@ -647,7 +647,7 @@
"mw" = (/obj/machinery/light{dir = 1;on = 1},/obj/effect/spawner/random_spawners/syndicate/turret,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"mx" = (/turf/simulated/shuttle/wall{tag = "icon-swall12";icon_state = "swall12";dir = 2},/area/space)
"my" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{tag = "icon-swall_f9";icon_state = "swall_f9";dir = 2},/area/space)
-"mz" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/ore/bananium,/obj/item/grenade/bananade,/turf/simulated/floor/plasteel/airless,/area/space)
+"mz" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/stack/ore/bananium,/obj/item/grenade/bananade,/turf/simulated/floor/plasteel/airless,/area/space)
"mA" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"mB" = (/obj/effect/spawner/random_spawners/syndicate/layout/door,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"mC" = (/obj/machinery/door/airlock/hatch/syndicate,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
@@ -663,12 +663,12 @@
"mM" = (/obj/effect/spawner/random_spawners/syndicate/loot,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"mN" = (/obj/machinery/light,/obj/effect/spawner/random_spawners/syndicate/turret,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"mO" = (/obj/structure/sign/poster/contraband/lamarr,/turf/simulated/wall/r_wall,/area/syndicate_depot/core)
-"mP" = (/obj/structure/closet/crate,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/turf/simulated/floor/plasteel/airless,/area/space)
-"mQ" = (/obj/structure/closet/crate,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/obj/item/ore/tranquillite,/turf/simulated/floor/plasteel/airless,/area/space)
+"mP" = (/obj/structure/closet/crate,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/turf/simulated/floor/plasteel/airless,/area/space)
+"mQ" = (/obj/structure/closet/crate,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/obj/item/stack/ore/tranquillite,/turf/simulated/floor/plasteel/airless,/area/space)
"mR" = (/obj/machinery/light{dir = 1;on = 1},/obj/effect/spawner/random_spawners/syndicate/loot,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"mS" = (/obj/machinery/light{dir = 1;on = 1},/obj/effect/spawner/random_spawners/syndicate/loot/level2,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"mT" = (/obj/item/shard,/turf/simulated/floor/plating/airless/asteroid,/area/space)
-"mU" = (/obj/structure/closet/crate,/obj/item/ore/bananium,/obj/item/ore/bananium,/obj/item/ore/bananium,/obj/item/ore/bananium,/obj/item/ore/bananium,/turf/simulated/floor/plasteel/airless,/area/space)
+"mU" = (/obj/structure/closet/crate,/obj/item/stack/ore/bananium,/obj/item/stack/ore/bananium,/obj/item/stack/ore/bananium,/obj/item/stack/ore/bananium,/obj/item/stack/ore/bananium,/turf/simulated/floor/plasteel/airless,/area/space)
"mV" = (/obj/effect/mob_spawn/human/mime/corpse{name = "Mime Pilot"},/turf/simulated/floor/plasteel/airless,/area/space)
"mW" = (/obj/structure/computerframe/HONKputer,/turf/simulated/floor/plasteel/airless,/area/space)
"mX" = (/obj/effect/mob_spawn/human/corpse/clownmili,/turf/simulated/floor/plasteel/airless,/area/space)
@@ -676,7 +676,7 @@
"mZ" = (/obj/effect/spawner/random_spawners/syndicate/turret/external,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"na" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/space)
"nb" = (/obj/item/shard{icon_state = "small"},/turf/simulated/floor/plating/airless/asteroid,/area/space)
-"nc" = (/obj/item/ore/bananium,/turf/simulated/floor/plasteel/airless,/area/space)
+"nc" = (/obj/item/stack/ore/bananium,/turf/simulated/floor/plasteel/airless,/area/space)
"nd" = (/obj/item/stack/sheet/metal{layer = 4.1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"ne" = (/obj/structure/shuttle/engine/propulsion{dir = 4;icon_state = "propulsion_l";tag = "icon-propulsion_l (WEST)"},/turf/space,/area/space)
"nf" = (/obj/effect/spawner/random_spawners/syndicate/trap/mine,/obj/item/stack/sheet/metal{layer = 4.1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
@@ -686,7 +686,7 @@
"nj" = (/obj/effect/mob_spawn/human/clown/corpse,/turf/simulated/floor/plasteel/airless,/area/space)
"nk" = (/obj/machinery/computer/syndicate_depot/teleporter,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"nl" = (/obj/item/pickaxe,/turf/simulated/floor/plasteel/airless,/area/space)
-"nm" = (/obj/structure/closet/crate,/obj/item/ore/bananium,/obj/item/ore/bananium,/obj/item/ore/bananium,/obj/item/ore/bananium,/turf/simulated/floor/plasteel/airless,/area/space)
+"nm" = (/obj/structure/closet/crate,/obj/item/stack/ore/bananium,/obj/item/stack/ore/bananium,/obj/item/stack/ore/bananium,/obj/item/stack/ore/bananium,/turf/simulated/floor/plasteel/airless,/area/space)
"nn" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5";icon_state = "swall_f5";dir = 2},/area/space)
"no" = (/obj/machinery/bluespace_beacon/syndicate,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/core)
"np" = (/turf/simulated/floor/plasteel/airless,/turf/simulated/shuttle/wall{tag = "icon-swall_f10";icon_state = "swall_f10";dir = 2},/area/space)
diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
index 1f2670371f8..865490aef28 100644
--- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
@@ -60,7 +60,7 @@
/obj/machinery/atmospherics/unary/vent_pump/New()
..()
- all_vent_pumps += src
+ GLOB.all_vent_pumps += src
icon = null
initial_loc = get_area(loc)
area_uid = initial_loc.uid
@@ -381,6 +381,8 @@
if(!welded)
if(open)
for(var/obj/item/W in src)
+ if(istype(W, /obj/item/pipe))
+ continue
W.forceMove(get_turf(src))
@@ -429,7 +431,7 @@
return ..()
/obj/machinery/atmospherics/unary/vent_pump/Destroy()
- all_vent_pumps -= src
+ GLOB.all_vent_pumps -= src
if(initial_loc)
initial_loc.air_vent_info -= id_tag
initial_loc.air_vent_names -= id_tag
diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm
index 0397b5bcdde..1df551e53e7 100644
--- a/code/__DEFINES/admin.dm
+++ b/code/__DEFINES/admin.dm
@@ -45,19 +45,21 @@
#define R_HOST 65535
-#define ADMIN_QUE(user) "(? )"
-#define ADMIN_FLW(user) "(FLW )"
-#define ADMIN_PP(user) "(PP )"
-#define ADMIN_VV(atom) "(VV )"
-#define ADMIN_SM(user) "(SM )"
-#define ADMIN_TP(user) "(TP )"
-#define ADMIN_BSA(user) "(BSA )"
-#define ADMIN_CENTCOM_REPLY(user) "(RPLY )"
-#define ADMIN_SYNDICATE_REPLY(user) "(RPLY )"
-#define ADMIN_SC(user) "(SC )"
-#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]"
-#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
-#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)]"
+#define ADMIN_QUE(user,display) "[display] "
+#define ADMIN_FLW(user,display) "[display] "
+#define ADMIN_PP(user,display) "[display] "
+#define ADMIN_VV(atom,display) "[display] "
+#define ADMIN_SM(user,display) "[display] "
+#define ADMIN_TP(user,display) "[display] "
+#define ADMIN_BSA(user,display) "[display] "
+#define ADMIN_CENTCOM_REPLY(user,display) "[display] "
+#define ADMIN_SYNDICATE_REPLY(user,display) "[display] "
+#define ADMIN_SC(user,display) "[display] "
+#define ADMIN_LOOKUP(user) "[key_name_admin(user)]([ADMIN_QUE(user,"?")])"
+#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")])"
+#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] ([ADMIN_QUE(user,"?")]) ([ADMIN_PP(user,"PP")]) ([ADMIN_VV(user,"VV")]) ([ADMIN_SM(user,"SM")]) ([ADMIN_FLW(user,"FLW")]) ([ADMIN_TP(user,"TP")])"
#define ADMIN_JMP(src) "(JMP )"
#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
-#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
\ No newline at end of file
+#define AREACOORD(src) "[src ? "[get_area_name(src, TRUE)] [COORD(src)]" : "nonexistent location" ]"
+#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
+#define ADMIN_VERBOSEJMP(src) "[src ? "[AREACOORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm
index 6f14b75b2ec..9c1853f7d02 100644
--- a/code/__DEFINES/components.dm
+++ b/code/__DEFINES/components.dm
@@ -1,3 +1,5 @@
+#define SEND_SIGNAL(target, sigtype, arguments...) ( !target.comp_lookup || !target.comp_lookup[sigtype] ? NONE : target._SendSignal(sigtype, list(target, ##arguments)) )
+
//shorthand
#define GET_COMPONENT_FROM(varname, path, target) var##path/##varname = ##target.GetComponent(##path)
#define GET_COMPONENT(varname, path) GET_COMPONENT_FROM(varname, path, src)
@@ -13,11 +15,13 @@
// All signals. Format:
// When the signal is called: (signal arguments)
+// All signals send the source datum of the signal as the first argument
// /datum signals
#define COMSIG_COMPONENT_ADDED "component_added" //when a component is added to a datum: (/datum/component)
#define COMSIG_COMPONENT_REMOVING "component_removing" //before a component is removed from a datum because of RemoveComponent: (/datum/component)
-#define COMSIG_PARENT_QDELETED "parent_qdeleted" //before a datum's Destroy() is called: ()
+#define COMSIG_PARENT_PREQDELETED "parent_preqdeleted" //before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation
+#define COMSIG_PARENT_QDELETED "parent_qdeleted" //after a datum's Destroy() is called: (force, qdel_hint), at this point none of the other components chose to interrupt qdel and Destroy has been called
// /atom signals
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params)
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index cd6688d095f..ae6943d553a 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -17,8 +17,6 @@
#define HEADBANGPROTECT 4096
-#define OPENCONTAINER 4096 // is an open container for chemistry purposes
-
#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
#define THICKMATERIAL 8192 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with BLOCK_GAS_SMOKE_EFFECT)
@@ -54,6 +52,8 @@
// LAVA_PROTECT used on the flags_2 variable for both SUIT and HEAD items, and stops lava damage. Must be present in both to stop lava damage.
#define LAVA_PROTECT_2 2048
+#define OVERLAY_QUEUED_2 4096
+
//Reagent flags
#define REAGENT_NOREACT 1
diff --git a/code/__DEFINES/math.dm b/code/__DEFINES/math.dm
index 3f360d5bad7..dd0045a2105 100644
--- a/code/__DEFINES/math.dm
+++ b/code/__DEFINES/math.dm
@@ -12,6 +12,10 @@
#define Clamp(x, y, z) ((x) <= (y) ? (y) : ((x) >= (z) ? (z) : (x)))
#define CLAMP01(x) (Clamp((x), 0, 1))
+
+// Similar to clamp but the bottom rolls around to the top and vice versa. min is inclusive, max is exclusive
+#define WRAP(val, min, max) ( min == max ? min : (val) - (round(((val) - (min))/((max) - (min))) * ((max) - (min))) )
+
#define SIMPLE_SIGN(X) ((X) < 0 ? -1 : 1)
#define SIGN(X) ((X) ? SIMPLE_SIGN(X) : 0)
#define hypotenuse(Ax, Ay, Bx, By) (sqrt(((Ax) - (Bx))**2 + ((Ay) - (By))**2))
diff --git a/code/__DEFINES/qdel.dm b/code/__DEFINES/qdel.dm
index 8d504edaf41..6adb876da8d 100644
--- a/code/__DEFINES/qdel.dm
+++ b/code/__DEFINES/qdel.dm
@@ -11,14 +11,12 @@
#define QDEL_HINT_IFFAIL_FINDREFERENCE 6 //Above but only if gc fails.
//defines for the gc_destroyed var
-#define GC_QUEUE_PREQUEUE 1
-#define GC_QUEUE_CHECK 2
-#define GC_QUEUE_HARDDELETE 3
-#define GC_QUEUE_COUNT 3 //increase this when adding more steps.
+#define GC_QUEUE_CHECK 1
+#define GC_QUEUE_HARDDELETE 2
+#define GC_QUEUE_COUNT 2 //increase this when adding more steps.
#define GC_QUEUED_FOR_QUEUING -1
-#define GC_QUEUED_FOR_HARD_DEL -2
-#define GC_CURRENTLY_BEING_QDELETED -3
+#define GC_CURRENTLY_BEING_QDELETED -2
#define QDELING(X) (X.gc_destroyed)
#define QDELETED(X) (!X || QDELING(X))
diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm
index 0d20a3edb74..e2dd3ee3ac7 100644
--- a/code/__DEFINES/reagents.dm
+++ b/code/__DEFINES/reagents.dm
@@ -4,3 +4,15 @@
#define REAGENT_OVERDOSE_EFFECT 1
#define REAGENT_OVERDOSE_FLAGS 2
+// container_type defines
+#define INJECTABLE 1 // Makes it possible to add reagents through droppers and syringes.
+#define DRAWABLE 2 // Makes it possible to remove reagents through syringes.
+
+#define REFILLABLE 4 // Makes it possible to add reagents through any reagent container.
+#define DRAINABLE 8 // Makes it possible to remove reagents through any reagent container.
+
+#define TRANSPARENT 16 // Used on containers which you want to be able to see the reagents off.
+#define AMOUNT_VISIBLE 32 // For non-transparent containers that still have the general amount of reagents in them visible.
+
+// Is an open container for all intents and purposes.
+#define OPENCONTAINER (REFILLABLE | DRAINABLE | TRANSPARENT)
diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
index a03ce11a648..5ade3b0baef 100644
--- a/code/__DEFINES/subsystems.dm
+++ b/code/__DEFINES/subsystems.dm
@@ -18,8 +18,6 @@
//In most cases you want a subsystem instead
#define TIMER_LOOP 32
-#define TIMER_NO_INVOKE_WARNING 600 //number of byond ticks that are allowed to pass before the timer subsystem thinks it hung on something
-
#define TIMER_ID_NULL -1
//For servers that can't do with any additional lag, set this to none in flightpacks.dm in subsystem/processing.
@@ -124,3 +122,22 @@
#define RUNLEVEL_POSTGAME 8
#define RUNLEVELS_DEFAULT (RUNLEVEL_SETUP | RUNLEVEL_GAME | RUNLEVEL_POSTGAME)
+
+#define COMPILE_OVERLAYS(A)\
+ if (TRUE) {\
+ var/list/ad = A.add_overlays;\
+ var/list/rm = A.remove_overlays;\
+ var/list/po = A.priority_overlays;\
+ if(LAZYLEN(rm)){\
+ A.overlays -= rm;\
+ rm.Cut();\
+ }\
+ if(LAZYLEN(ad)){\
+ A.overlays |= ad;\
+ ad.Cut();\
+ }\
+ if(LAZYLEN(po)){\
+ A.overlays |= po;\
+ }\
+ A.flags_2 &= ~OVERLAY_QUEUED_2;\
+}
\ No newline at end of file
diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm
index c30817ed5aa..8573873676b 100644
--- a/code/__HELPERS/_logging.dm
+++ b/code/__HELPERS/_logging.dm
@@ -38,7 +38,7 @@
if(config.log_debug)
WRITE_LOG(GLOB.world_game_log, "DEBUG: [text][log_end]")
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(check_rights(R_DEBUG, 0, C.mob) && (C.prefs.toggles & CHAT_DEBUGLOGS))
to_chat(C, "DEBUG: [text]")
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 6b94e28d91b..eb6fb8a4802 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -197,7 +197,7 @@
// Try to find all the players who can hear the message
- for(var/A in player_list + hear_radio_list)
+ for(var/A in GLOB.player_list + GLOB.hear_radio_list)
var/mob/M = A
if(M)
var/turf/ear = get_turf(M)
@@ -268,7 +268,7 @@
break
/proc/get_mob_by_key(var/key)
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M.ckey == lowertext(key))
return M
return null
@@ -278,7 +278,7 @@
var/list/candidates = list()
// Keep looping until we find a non-afk candidate within the time bracket (we limit the bracket to 10 minutes (6000))
while(!candidates.len && afk_bracket < 6000)
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(G.client != null)
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
if(!G.client.is_afk(afk_bracket) && (be_special_type in G.client.prefs.be_special))
@@ -294,7 +294,7 @@
var/list/candidates = list()
// Keep looping until we find a non-afk candidate within the time bracket (we limit the bracket to 10 minutes (6000))
while(!candidates.len && afk_bracket < 6000)
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(G.client != null)
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
if(!G.client.is_afk(afk_bracket) && (be_special_type in G.client.prefs.be_special))
@@ -315,7 +315,7 @@
/proc/Show2Group4Delay(obj/O, list/group, delay=0)
if(!isobj(O)) return
- if(!group) group = clients
+ if(!group) group = GLOB.clients
for(var/client/C in group)
C.screen += O
if(delay)
@@ -333,8 +333,8 @@
/proc/get_active_player_count()
// Get active players who are playing in the round
var/active_players = 0
- for(var/i = 1; i <= player_list.len; i++)
- var/mob/M = player_list[i]
+ for(var/i = 1; i <= GLOB.player_list.len; i++)
+ var/mob/M = GLOB.player_list[i]
if(M && M.client)
if(istype(M, /mob/new_player)) // exclude people in the lobby
continue
@@ -384,7 +384,7 @@
return new /datum/projectile_data(src_x, src_y, time, distance, power_x, power_y, dest_x, dest_y)
-/proc/mobs_in_area(var/area/the_area, var/client_needed=0, var/moblist=mob_list)
+/proc/mobs_in_area(var/area/the_area, var/client_needed=0, var/moblist=GLOB.mob_list)
var/list/mobs_found[0]
var/area/our_area = get_area(the_area)
for(var/mob/M in moblist)
@@ -397,7 +397,7 @@
/proc/alone_in_area(var/area/the_area, var/mob/must_be_alone, var/check_type = /mob/living/carbon)
var/area/our_area = get_area(the_area)
- for(var/C in living_mob_list)
+ for(var/C in GLOB.living_mob_list)
if(!istype(C, check_type))
continue
if(C == must_be_alone)
@@ -436,7 +436,7 @@ proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time =
if(!Question)
Question = "Would you like to be a special role?"
- for(var/mob/dead/observer/G in (ignore_respawnability ? player_list : respawnable_list))
+ for(var/mob/dead/observer/G in (ignore_respawnability ? GLOB.player_list : GLOB.respawnable_list))
if(!G.key || !G.client)
continue
if(be_special_type)
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index a068bb8604e..a37be148b4e 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -5,38 +5,38 @@
/proc/makeDatumRefLists()
//markings
- init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, marking_styles_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.marking_styles_list)
//head accessory
- init_sprite_accessory_subtypes(/datum/sprite_accessory/head_accessory, head_accessory_styles_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/head_accessory, GLOB.head_accessory_styles_list)
//hair
- init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, hair_styles_public_list, hair_styles_male_list, hair_styles_female_list, hair_styles_full_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, GLOB.hair_styles_public_list, GLOB.hair_styles_male_list, GLOB.hair_styles_female_list, GLOB.hair_styles_full_list)
//facial hair
- init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, facial_hair_styles_list, facial_hair_styles_male_list, facial_hair_styles_female_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hair_styles_list, GLOB.facial_hair_styles_male_list, GLOB.facial_hair_styles_female_list)
//underwear
- init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, underwear_list, underwear_m, underwear_f)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
//undershirt
- init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
//socks
- init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list, GLOB.socks_m, GLOB.socks_f)
//alt heads
- init_sprite_accessory_subtypes(/datum/sprite_accessory/alt_heads, alt_heads_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/alt_heads, GLOB.alt_heads_list)
- init_subtypes(/datum/surgery_step, surgery_steps)
+ init_subtypes(/datum/surgery_step, GLOB.surgery_steps)
for(var/path in (subtypesof(/datum/surgery)))
- surgeries_list += new path()
+ GLOB.surgeries_list += new path()
- init_datum_subtypes(/datum/job, joblist, list(/datum/job/ai, /datum/job/cyborg), "title")
- init_datum_subtypes(/datum/superheroes, all_superheroes, null, "name")
- init_datum_subtypes(/datum/nations, all_nations, null, "default_name")
- init_datum_subtypes(/datum/language, all_languages, null, "name")
+ init_datum_subtypes(/datum/job, GLOB.joblist, list(/datum/job/ai, /datum/job/cyborg), "title")
+ init_datum_subtypes(/datum/superheroes, GLOB.all_superheroes, null, "name")
+ init_datum_subtypes(/datum/nations, GLOB.all_nations, null, "default_name")
+ init_datum_subtypes(/datum/language, GLOB.all_languages, null, "name")
- for(var/language_name in all_languages)
- var/datum/language/L = all_languages[language_name]
+ for(var/language_name in GLOB.all_languages)
+ var/datum/language/L = GLOB.all_languages[language_name]
if(!(L.flags & NONGLOBAL))
- language_keys[":[lowertext(L.key)]"] = L
- language_keys[".[lowertext(L.key)]"] = L
- language_keys["#[lowertext(L.key)]"] = L
+ GLOB.language_keys[":[lowertext(L.key)]"] = L
+ GLOB.language_keys[".[lowertext(L.key)]"] = L
+ GLOB.language_keys["#[lowertext(L.key)]"] = L
var/rkey = 0
for(var/spath in subtypesof(/datum/species))
@@ -45,9 +45,9 @@
GLOB.all_species[S.name] = S
if(IS_WHITELISTED in S.species_traits)
- whitelisted_species += S.name
+ GLOB.whitelisted_species += S.name
- init_subtypes(/datum/crafting_recipe, crafting_recipes)
+ init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
//Pipe list building
init_subtypes(/datum/pipes, GLOB.construction_pipe_list)
@@ -60,10 +60,10 @@
/* // Uncomment to debug chemical reaction list.
/client/verb/debug_chemical_list()
- for(var/reaction in chemical_reactions_list)
- . += "chemical_reactions_list\[\"[reaction]\"\] = \"[chemical_reactions_list[reaction]]\"\n"
- if(islist(chemical_reactions_list[reaction]))
- var/list/L = chemical_reactions_list[reaction]
+ for(var/reaction in GLOB.chemical_reactions_list)
+ . += "GLOB.chemical_reactions_list\[\"[reaction]\"\] = \"[GLOB.chemical_reactions_list[reaction]]\"\n"
+ if(islist(GLOB.chemical_reactions_list[reaction]))
+ var/list/L = GLOB.chemical_reactions_list[reaction]
for(var/t in L)
. += " has: [t]\n"
to_chat(world, .)
diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm
index 27ec6e7202f..2db8621195d 100644
--- a/code/__HELPERS/icon_smoothing.dm
+++ b/code/__HELPERS/icon_smoothing.dm
@@ -108,11 +108,19 @@
return adjacencies
+//do not use, use queue_smooth(atom)
/proc/smooth_icon(atom/A)
+ if(!A || !A.smooth || !A.z)
+ return
if(QDELETED(A))
return
- if(A && (A.smooth & SMOOTH_TRUE) || (A.smooth & SMOOTH_MORE))
+ if((A.smooth & SMOOTH_TRUE) || (A.smooth & SMOOTH_MORE))
var/adjacencies = calculate_adjacencies(A)
+
+ if(A.smooth & SMOOTH_DIAGONAL)
+ A.diagonal_smooth(adjacencies)
+ else
+ cardinal_smooth(A, adjacencies)
if(A.smooth & SMOOTH_DIAGONAL)
A.diagonal_smooth(adjacencies)
else
@@ -149,12 +157,12 @@
/turf/simulated/wall/diagonal_smooth(adjacencies)
adjacencies = reverse_ndir(..())
if(adjacencies)
- underlays.Cut()
+ var/list/U = list()
if(fixed_underlay)
if(fixed_underlay["space"])
- underlays += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER)
+ U += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER)
else
- underlays += image(fixed_underlay["icon"], fixed_underlay["icon_state"], layer=TURF_LAYER)
+ U += image(fixed_underlay["icon"], fixed_underlay["icon_state"], layer=TURF_LAYER)
else
var/turf/T = get_step(src, turn(adjacencies, 180))
if(T && (T.density || T.smooth))
@@ -163,13 +171,14 @@
T = get_step(src, turn(adjacencies, 225))
if(istype(T, /turf/space) && !istype(T, /turf/space/transit))
- underlays += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER)
+ U += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER)
else if(T && !T.density && !T.smooth)
- underlays += T
+ U += T
else if(baseturf && !initial(baseturf.density) && !initial(baseturf.smooth))
- underlays += image(initial(baseturf.icon), initial(baseturf.icon_state), layer=TURF_LAYER)
+ U += image(initial(baseturf.icon), initial(baseturf.icon_state), layer=TURF_LAYER)
else
- underlays += DEFAULT_UNDERLAY_IMAGE
+ U += DEFAULT_UNDERLAY_IMAGE
+ underlays = U
/proc/cardinal_smooth(atom/A, adjacencies)
//NW CORNER
@@ -224,43 +233,36 @@
else if(adjacencies & N_EAST)
se = "4-e"
+ var/list/New = list()
+
if(A.top_left_corner != nw)
A.overlays -= A.top_left_corner
A.top_left_corner = nw
- A.overlays += nw
+ New += nw
if(A.top_right_corner != ne)
A.overlays -= A.top_right_corner
A.top_right_corner = ne
- A.overlays += ne
+ New += ne
if(A.bottom_right_corner != sw)
A.overlays -= A.bottom_right_corner
A.bottom_right_corner = sw
- A.overlays += sw
+ New += sw
if(A.bottom_left_corner != se)
A.overlays -= A.bottom_left_corner
A.bottom_left_corner = se
- A.overlays += se
+ New += se
-/proc/find_type_in_direction(atom/source, direction, range=1)
- var/x_offset = 0
- var/y_offset = 0
+ if(New.len)
+ A.overlays.Add(New)
- if(direction & NORTH)
- y_offset = range
- else if(direction & SOUTH)
- y_offset -= range
-
- if(direction & EAST)
- x_offset = range
- else if(direction & WEST)
- x_offset -= range
-
- var/turf/target_turf = locate(source.x + x_offset, source.y + y_offset, source.z)
+/proc/find_type_in_direction(atom/source, direction)
+ var/turf/target_turf = get_step(source, direction)
if(!target_turf)
return NULLTURF_BORDER
+
if(source.canSmoothWith)
var/atom/A
if(source.smooth & SMOOTH_MORE)
@@ -287,22 +289,22 @@
//Icon smoothing helpers
-/proc/smooth_icon_neighbors(atom/A)
- for(var/V in orange(1,A))
- var/atom/T = V
- if(T.smooth)
- smooth_icon(T)
-
-/proc/smooth_zlevel(var/zlevel)
+/proc/smooth_zlevel(var/zlevel, now = FALSE)
var/list/away_turfs = block(locate(1, 1, zlevel), locate(world.maxx, world.maxy, zlevel))
for(var/V in away_turfs)
var/turf/T = V
if(T.smooth)
- smooth_icon(T)
+ if(now)
+ smooth_icon(T)
+ else
+ queue_smooth(T)
for(var/R in T)
var/atom/A = R
if(A.smooth)
- smooth_icon(A)
+ if(now)
+ smooth_icon(A)
+ else
+ queue_smooth(A)
/atom/proc/clear_smooth_overlays()
overlays -= top_left_corner
@@ -316,14 +318,16 @@
/atom/proc/replace_smooth_overlays(nw, ne, sw, se)
clear_smooth_overlays()
+ var/list/O = list()
top_left_corner = nw
- overlays += nw
+ O += nw
top_right_corner = ne
- overlays += ne
+ O += ne
bottom_left_corner = sw
- overlays += sw
+ O += sw
bottom_right_corner = se
- overlays += se
+ O += se
+ overlays.Add(O)
/proc/reverse_ndir(ndir)
switch(ndir)
@@ -362,6 +366,21 @@
else
return 0
+//SSicon_smooth
+/proc/queue_smooth_neighbors(atom/A)
+ for(var/V in orange(1,A))
+ var/atom/T = V
+ if(T.smooth)
+ queue_smooth(T)
+
+//SSicon_smooth
+/proc/queue_smooth(atom/A)
+ if(SSicon_smooth)
+ SSicon_smooth.smooth_queue[A] = A
+ SSicon_smooth.can_fire = 1
+ else
+ smooth_icon(A)
+
//Example smooth wall
/turf/simulated/wall/smooth
name = "smooth wall"
diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm
index 96109186359..04fc2c6f73c 100644
--- a/code/__HELPERS/icons.dm
+++ b/code/__HELPERS/icons.dm
@@ -215,81 +215,80 @@ world
#define TO_HEX_DIGIT(n) ascii2text((n&15) + ((n&15)<10 ? 48 : 87))
-icon
- proc/MakeLying()
- var/icon/I = new(src,dir=SOUTH)
- I.BecomeLying()
- return I
+/icon/proc/MakeLying()
+ var/icon/I = new(src,dir=SOUTH)
+ I.BecomeLying()
+ return I
- proc/BecomeLying()
- Turn(90)
- Shift(SOUTH,6)
- Shift(EAST,1)
+/icon/proc/BecomeLying()
+ Turn(90)
+ Shift(SOUTH,6)
+ Shift(EAST,1)
// Multiply all alpha values by this float
- proc/ChangeOpacity(opacity = 1.0)
- MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,opacity, 0,0,0,0)
+/icon/proc/ChangeOpacity(opacity = 1.0)
+ MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,opacity, 0,0,0,0)
// Convert to grayscale
- proc/GrayScale()
- MapColors(0.3,0.3,0.3, 0.59,0.59,0.59, 0.11,0.11,0.11, 0,0,0)
+/icon/proc/GrayScale()
+ MapColors(0.3,0.3,0.3, 0.59,0.59,0.59, 0.11,0.11,0.11, 0,0,0)
- proc/ColorTone(tone)
- GrayScale()
+/icon/proc/ColorTone(tone)
+ GrayScale()
- var/list/TONE = ReadRGB(tone)
- var/gray = round(TONE[1]*0.3 + TONE[2]*0.59 + TONE[3]*0.11, 1)
+ var/list/TONE = ReadRGB(tone)
+ var/gray = round(TONE[1]*0.3 + TONE[2]*0.59 + TONE[3]*0.11, 1)
- var/icon/upper = (255-gray) ? new(src) : null
+ var/icon/upper = (255-gray) ? new(src) : null
- if(gray)
- MapColors(255/gray,0,0, 0,255/gray,0, 0,0,255/gray, 0,0,0)
- Blend(tone, ICON_MULTIPLY)
- else SetIntensity(0)
- if(255-gray)
- upper.Blend(rgb(gray,gray,gray), ICON_SUBTRACT)
- upper.MapColors((255-TONE[1])/(255-gray),0,0,0, 0,(255-TONE[2])/(255-gray),0,0, 0,0,(255-TONE[3])/(255-gray),0, 0,0,0,0, 0,0,0,1)
- Blend(upper, ICON_ADD)
+ if(gray)
+ MapColors(255/gray,0,0, 0,255/gray,0, 0,0,255/gray, 0,0,0)
+ Blend(tone, ICON_MULTIPLY)
+ else SetIntensity(0)
+ if(255-gray)
+ upper.Blend(rgb(gray,gray,gray), ICON_SUBTRACT)
+ upper.MapColors((255-TONE[1])/(255-gray),0,0,0, 0,(255-TONE[2])/(255-gray),0,0, 0,0,(255-TONE[3])/(255-gray),0, 0,0,0,0, 0,0,0,1)
+ Blend(upper, ICON_ADD)
// Take the minimum color of two icons; combine transparency as if blending with ICON_ADD
- proc/MinColors(icon)
- var/icon/I = new(src)
- I.Opaque()
- I.Blend(icon, ICON_SUBTRACT)
- Blend(I, ICON_SUBTRACT)
+/icon/proc/MinColors(icon)
+ var/icon/I = new(src)
+ I.Opaque()
+ I.Blend(icon, ICON_SUBTRACT)
+ Blend(I, ICON_SUBTRACT)
// Take the maximum color of two icons; combine opacity as if blending with ICON_OR
- proc/MaxColors(icon)
- var/icon/I
- if(isicon(icon))
- I = new(icon)
- else
- // solid color
- I = new(src)
- I.Blend("#000000", ICON_OVERLAY)
- I.SwapColor("#000000", null)
- I.Blend(icon, ICON_OVERLAY)
- var/icon/J = new(src)
- J.Opaque()
- I.Blend(J, ICON_SUBTRACT)
- Blend(I, ICON_OR)
+/icon/proc/MaxColors(icon)
+ var/icon/I
+ if(isicon(icon))
+ I = new(icon)
+ else
+ // solid color
+ I = new(src)
+ I.Blend("#000000", ICON_OVERLAY)
+ I.SwapColor("#000000", null)
+ I.Blend(icon, ICON_OVERLAY)
+ var/icon/J = new(src)
+ J.Opaque()
+ I.Blend(J, ICON_SUBTRACT)
+ Blend(I, ICON_OR)
// make this icon fully opaque--transparent pixels become black
- proc/Opaque(background = "#000000")
- SwapColor(null, background)
- MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,1)
+/icon/proc/Opaque(background = "#000000")
+ SwapColor(null, background)
+ MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,1)
// Change a grayscale icon into a white icon where the original color becomes the alpha
// I.e., black -> transparent, gray -> translucent white, white -> solid white
- proc/BecomeAlphaMask()
- SwapColor(null, "#000000ff") // don't let transparent become gray
- MapColors(0,0,0,0.3, 0,0,0,0.59, 0,0,0,0.11, 0,0,0,0, 1,1,1,0)
+/icon/proc/BecomeAlphaMask()
+ SwapColor(null, "#000000ff") // don't let transparent become gray
+ MapColors(0,0,0,0.3, 0,0,0,0.59, 0,0,0,0.11, 0,0,0,0, 1,1,1,0)
- proc/UseAlphaMask(mask)
- Opaque()
- AddAlphaMask(mask)
+/icon/proc/UseAlphaMask(mask)
+ Opaque()
+ AddAlphaMask(mask)
- proc/AddAlphaMask(mask)
+/icon/proc/AddAlphaMask(mask)
var/icon/M = new(mask)
M.Blend("#ffffff", ICON_SUBTRACT)
// apply mask
@@ -317,7 +316,7 @@ icon
Higher value means brighter color
*/
-proc/ReadRGB(rgb)
+/proc/ReadRGB(rgb)
if(!rgb) return
// interpret the HSV or HSVA value
@@ -367,7 +366,7 @@ proc/ReadRGB(rgb)
. = list(r, g, b)
if(usealpha) . += alpha
-proc/ReadHSV(hsv)
+/proc/ReadHSV(hsv)
if(!hsv) return
// interpret the HSV or HSVA value
@@ -406,7 +405,7 @@ proc/ReadHSV(hsv)
. = list(hue, sat, val)
if(usealpha) . += alpha
-proc/HSVtoRGB(hsv)
+/proc/HSVtoRGB(hsv)
if(!hsv) return "#000000"
var/list/HSV = ReadHSV(hsv)
if(!HSV) return "#000000"
@@ -434,7 +433,7 @@ proc/HSVtoRGB(hsv)
return (HSV.len > 3) ? rgb(r,g,b,HSV[4]) : rgb(r,g,b)
-proc/RGBtoHSV(rgb)
+/proc/RGBtoHSV(rgb)
if(!rgb) return "#0000000"
var/list/RGB = ReadRGB(rgb)
if(!RGB) return "#0000000"
@@ -465,7 +464,7 @@ proc/RGBtoHSV(rgb)
return hsv(hue, sat, val, (RGB.len>3 ? RGB[4] : null))
-proc/hsv(hue, sat, val, alpha)
+/proc/hsv(hue, sat, val, alpha)
if(hue < 0 || hue >= 1536) hue %= 1536
if(hue < 0) hue += 1536
if((hue & 0xFF) == 0xFF)
@@ -498,7 +497,7 @@ proc/hsv(hue, sat, val, alpha)
amount<0 or amount>1 are allowed
*/
-proc/BlendHSV(hsv1, hsv2, amount)
+/proc/BlendHSV(hsv1, hsv2, amount)
var/list/HSV1 = ReadHSV(hsv1)
var/list/HSV2 = ReadHSV(hsv2)
@@ -552,7 +551,7 @@ proc/BlendHSV(hsv1, hsv2, amount)
amount<0 or amount>1 are allowed
*/
-proc/BlendRGB(rgb1, rgb2, amount)
+/proc/BlendRGB(rgb1, rgb2, amount)
var/list/RGB1 = ReadRGB(rgb1)
var/list/RGB2 = ReadRGB(rgb2)
@@ -568,10 +567,10 @@ proc/BlendRGB(rgb1, rgb2, amount)
return isnull(alpha) ? rgb(r, g, b) : rgb(r, g, b, alpha)
-proc/BlendRGBasHSV(rgb1, rgb2, amount)
+/proc/BlendRGBasHSV(rgb1, rgb2, amount)
return HSVtoRGB(RGBtoHSV(rgb1), RGBtoHSV(rgb2), amount)
-proc/HueToAngle(hue)
+/proc/HueToAngle(hue)
// normalize hsv in case anything is screwy
if(hue < 0 || hue >= 1536) hue %= 1536
if(hue < 0) hue += 1536
@@ -579,7 +578,7 @@ proc/HueToAngle(hue)
hue -= hue >> 8
return hue / (1530/360)
-proc/AngleToHue(angle)
+/proc/AngleToHue(angle)
// normalize hsv in case anything is screwy
if(angle < 0 || angle >= 360) angle -= 360 * round(angle / 360)
var/hue = angle * (1530/360)
@@ -589,7 +588,7 @@ proc/AngleToHue(angle)
// positive angle rotates forward through red->green->blue
-proc/RotateHue(hsv, angle)
+/proc/RotateHue(hsv, angle)
var/list/HSV = ReadHSV(hsv)
// normalize hsv in case anything is screwy
@@ -611,13 +610,13 @@ proc/RotateHue(hsv, angle)
return hsv(HSV[1], HSV[2], HSV[3], (HSV.len > 3 ? HSV[4] : null))
// Convert an rgb color to grayscale
-proc/GrayScale(rgb)
+/proc/GrayScale(rgb)
var/list/RGB = ReadRGB(rgb)
var/gray = RGB[1]*0.3 + RGB[2]*0.59 + RGB[3]*0.11
return (RGB.len > 3) ? rgb(gray, gray, gray, RGB[4]) : rgb(gray, gray, gray)
// Change grayscale color to black->tone->white range
-proc/ColorTone(rgb, tone)
+/proc/ColorTone(rgb, tone)
var/list/RGB = ReadRGB(rgb)
var/list/TONE = ReadRGB(tone)
@@ -833,7 +832,7 @@ The _flatIcons list is a cache for generated icon files.
composite.Blend(icon(I.icon, I.icon_state, I.dir, 1), ICON_OVERLAY)
return composite
-proc/adjust_brightness(var/color, var/value)
+/proc/adjust_brightness(var/color, var/value)
if(!color) return "#FFFFFF"
if(!value) return color
@@ -843,7 +842,7 @@ proc/adjust_brightness(var/color, var/value)
RGB[3] = Clamp(RGB[3]+value,0,255)
return rgb(RGB[1],RGB[2],RGB[3])
-proc/sort_atoms_by_layer(var/list/atoms)
+/proc/sort_atoms_by_layer(var/list/atoms)
// Comb sort icons based on levels
var/list/result = atoms.Copy()
var/gap = result.len
@@ -891,7 +890,7 @@ proc/sort_atoms_by_layer(var/list/atoms)
/image/proc/setDir(newdir)
dir = newdir
-proc/rand_hex_color()
+/proc/rand_hex_color()
var/list/colors = list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f")
var/color=""
for(var/i=0;i<6;i++)
@@ -899,7 +898,7 @@ proc/rand_hex_color()
return "#[color]"
//Imagine removing pixels from the main icon that are covered by pixels from the mask icon.
-proc/get_icon_difference(var/icon/main, var/icon/mask)
+/proc/get_icon_difference(var/icon/main, var/icon/mask)
if(istype(main) && istype(mask))
mask.Blend(rgb(255,255,255), ICON_SUBTRACT) //Make all pixels on the mask as black as possible.
mask.Opaque(rgb(255,255,255)) //Make the transparent pixels (background) white.
diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm
index e5c5cc68b49..92fd9d218da 100644
--- a/code/__HELPERS/lists.dm
+++ b/code/__HELPERS/lists.dm
@@ -210,12 +210,16 @@
return null
//Returns the top(last) element from the list and removes it from the list (typical stack function)
-/proc/pop(list/listfrom)
- if(listfrom.len > 0)
- var/picked = listfrom[listfrom.len]
- listfrom.len--
- return picked
- return null
+/proc/pop(list/L)
+ if(L.len)
+ . = L[L.len]
+ L.len--
+
+/proc/popleft(list/L)
+ if(L.len)
+ . = L[1]
+ L.Cut(1,2)
+
/*
* Sorting
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 4ebced1c973..1ca1fe01036 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -13,25 +13,25 @@ proc/GetOppositeDir(var/dir)
proc/random_underwear(gender, species = "Human")
var/list/pick_list = list()
switch(gender)
- if(MALE) pick_list = underwear_m
- if(FEMALE) pick_list = underwear_f
- else pick_list = underwear_list
+ if(MALE) pick_list = GLOB.underwear_m
+ if(FEMALE) pick_list = GLOB.underwear_f
+ else pick_list = GLOB.underwear_list
return pick_species_allowed_underwear(pick_list, species)
proc/random_undershirt(gender, species = "Human")
var/list/pick_list = list()
switch(gender)
- if(MALE) pick_list = undershirt_m
- if(FEMALE) pick_list = undershirt_f
- else pick_list = undershirt_list
+ if(MALE) pick_list = GLOB.undershirt_m
+ if(FEMALE) pick_list = GLOB.undershirt_f
+ else pick_list = GLOB.undershirt_list
return pick_species_allowed_underwear(pick_list, species)
proc/random_socks(gender, species = "Human")
var/list/pick_list = list()
switch(gender)
- if(MALE) pick_list = socks_m
- if(FEMALE) pick_list = socks_f
- else pick_list = socks_list
+ if(MALE) pick_list = GLOB.socks_m
+ if(FEMALE) pick_list = GLOB.socks_f
+ else pick_list = GLOB.socks_list
return pick_species_allowed_underwear(pick_list, species)
proc/pick_species_allowed_underwear(list/all_picks, species)
@@ -49,8 +49,8 @@ proc/pick_species_allowed_underwear(list/all_picks, species)
proc/random_hair_style(var/gender, species = "Human", var/datum/robolimb/robohead)
var/h_style = "Bald"
var/list/valid_hairstyles = list()
- for(var/hairstyle in hair_styles_public_list)
- var/datum/sprite_accessory/S = hair_styles_public_list[hairstyle]
+ for(var/hairstyle in GLOB.hair_styles_public_list)
+ var/datum/sprite_accessory/S = GLOB.hair_styles_public_list[hairstyle]
if(hairstyle == "Bald") //Just in case.
valid_hairstyles += hairstyle
@@ -78,8 +78,8 @@ proc/random_hair_style(var/gender, species = "Human", var/datum/robolimb/robohea
proc/random_facial_hair_style(var/gender, species = "Human", var/datum/robolimb/robohead)
var/f_style = "Shaved"
var/list/valid_facial_hairstyles = list()
- for(var/facialhairstyle in facial_hair_styles_list)
- var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle]
+ for(var/facialhairstyle in GLOB.facial_hair_styles_list)
+ var/datum/sprite_accessory/S = GLOB.facial_hair_styles_list[facialhairstyle]
if(facialhairstyle == "Shaved") //Just in case.
valid_facial_hairstyles += facialhairstyle
@@ -107,8 +107,8 @@ proc/random_facial_hair_style(var/gender, species = "Human", var/datum/robolimb/
proc/random_head_accessory(species = "Human")
var/ha_style = "None"
var/list/valid_head_accessories = list()
- for(var/head_accessory in head_accessory_styles_list)
- var/datum/sprite_accessory/S = head_accessory_styles_list[head_accessory]
+ for(var/head_accessory in GLOB.head_accessory_styles_list)
+ var/datum/sprite_accessory/S = GLOB.head_accessory_styles_list[head_accessory]
if(!(species in S.species_allowed))
continue
@@ -122,8 +122,8 @@ proc/random_head_accessory(species = "Human")
proc/random_marking_style(var/location = "body", species = "Human", var/datum/robolimb/robohead, var/body_accessory, var/alt_head)
var/m_style = "None"
var/list/valid_markings = list()
- for(var/marking in marking_styles_list)
- var/datum/sprite_accessory/body_markings/S = marking_styles_list[marking]
+ for(var/marking in GLOB.marking_styles_list)
+ var/datum/sprite_accessory/body_markings/S = GLOB.marking_styles_list[marking]
if(S.name == "None")
valid_markings += marking
continue
@@ -139,7 +139,7 @@ proc/random_marking_style(var/location = "body", species = "Human", var/datum/ro
if(!S.tails_allowed || !(body_accessory in S.tails_allowed))
continue
if(location == "head")
- var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[S.name]
+ var/datum/sprite_accessory/body_markings/head/M = GLOB.marking_styles_list[S.name]
if(species == "Machine")//If the user is a species that can have a robotic head...
if(!robohead)
robohead = all_robolimbs["Morpheus Cyberkinetics"]
@@ -182,9 +182,9 @@ proc/random_name(gender, species = "Human")
if(!current_species || current_species.name == "Human")
if(gender==FEMALE)
- return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
+ return capitalize(pick(GLOB.first_names_female)) + " " + capitalize(pick(GLOB.last_names))
else
- return capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
+ return capitalize(pick(GLOB.first_names_male)) + " " + capitalize(pick(GLOB.last_names))
else
return current_species.get_random_name(gender)
@@ -444,7 +444,7 @@ This is always put in the attack log.
to_chat(user, "Name = [M.name] ; Real_name = [M.real_name]; Mind_name = [M.mind?"[M.mind.name]":""]; Key = [M.key] ;")
to_chat(user, "Location = [location_description];")
to_chat(user, "[special_role_description]")
- to_chat(user, "(PM ) (PP ) (VV ) (SM ) (FLW ) (CA )")
+ to_chat(user, "(PM ) ([ADMIN_PP(M,"PP")]) ([ADMIN_VV(M,"VV")]) ([ADMIN_SM(M,"SM")]) ([ADMIN_FLW(M,"FLW")]) (CA )")
// Gets the first mob contained in an atom, and warns the user if there's not exactly one
/proc/get_mob_in_atom_with_warning(atom/A, mob/user = usr)
@@ -488,7 +488,7 @@ This is always put in the attack log.
LogMouseMacro(".mouse", params)
/proc/update_all_mob_security_hud()
- for(var/mob/living/carbon/human/H in mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.mob_list)
H.sec_hud_set_security_status()
/proc/getviewsize(view)
diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm
index d6ae4ea9b1b..930a8ee9de5 100644
--- a/code/__HELPERS/names.dm
+++ b/code/__HELPERS/names.dm
@@ -164,11 +164,11 @@ var/syndicate_code_response//Code response for traitors.
if(names.len&&prob(70))
code_phrase += pick(names)
else
- code_phrase += pick(pick(first_names_male,first_names_female))
+ code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
code_phrase += " "
- code_phrase += pick(last_names)
+ code_phrase += pick(GLOB.last_names)
if(2)
- code_phrase += pick(joblist)//Returns a job.
+ code_phrase += pick(GLOB.joblist)//Returns a job.
safety -= 1
if(2)
switch(rand(1,2))//Places or things.
@@ -182,9 +182,9 @@ var/syndicate_code_response//Code response for traitors.
if(1)
code_phrase += pick(nouns)
if(2)
- code_phrase += pick(adjectives)
+ code_phrase += pick(GLOB.adjectives)
if(3)
- code_phrase += pick(verbs)
+ code_phrase += pick(GLOB.verbs)
if(words==1)
code_phrase += "."
else
@@ -219,9 +219,9 @@ var/syndicate_code_response//Code response for traitors.
if(1)
syndicate_code_phrase += pick("I'm looking for","Have you seen","Maybe you've seen","I'm trying to find","I'm tracking")
syndicate_code_phrase += " "
- syndicate_code_phrase += pick(pick(first_names_male,first_names_female))
+ syndicate_code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
syndicate_code_phrase += " "
- syndicate_code_phrase += pick(last_names)
+ syndicate_code_phrase += pick(GLOB.last_names)
syndicate_code_phrase += "."
if(2)
syndicate_code_phrase += pick("How do I get to","How do I find","Where is","Where do I find")
@@ -245,7 +245,7 @@ var/syndicate_code_response//Code response for traitors.
if(5)
syndicate_code_phrase += pick("Do we have","Is there","Where is","Where's","Who's")
syndicate_code_phrase += " "
- syndicate_code_phrase += "[pick(joblist)]"
+ syndicate_code_phrase += "[pick(GLOB.joblist)]"
syndicate_code_phrase += "?"
switch(choice)
@@ -269,12 +269,12 @@ var/syndicate_code_response//Code response for traitors.
syndicate_code_response += pick("Try asking","Ask","Talk to","Go see","Follow","Hunt down")
syndicate_code_response += " "
if(prob(50))
- syndicate_code_response += pick(pick(first_names_male,first_names_female))
+ syndicate_code_response += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
syndicate_code_response += " "
- syndicate_code_response += pick(last_names)
+ syndicate_code_response += pick(GLOB.last_names)
else
syndicate_code_response += " the "
- syndicate_code_response += "[pic(joblist)]"
+ syndicate_code_response += "[pic(GLOB.joblist)]"
syndicate_code_response += "."
else
syndicate_code_response += pick("*shrug*","*smile*","*blink*","*sigh*","*laugh*","*nod*","*giggle*")
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index 8e9b5f93691..dbbc965411a 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -142,8 +142,8 @@
t_out += ascii2text(ascii_char)
last_char_group = 2
- // ~ | @ : # $ % & * +
- if(126,124,64,58,35,36,37,38,42,43) //Other symbols that we'll allow (mainly for AI)
+ // ~ | @ : # $ % & * + !
+ if(126,124,64,58,35,36,37,38,42,43,33) //Other symbols that we'll allow (mainly for AI)
if(!last_char_group) continue //suppress at start of string
if(!allow_numbers) continue
t_out += ascii2text(ascii_char)
diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm
index 6ebaba5bc3b..d36fd9449d4 100644
--- a/code/__HELPERS/time.dm
+++ b/code/__HELPERS/time.dm
@@ -94,7 +94,7 @@ proc/isDay(var/month, var/day)
return round(0.1 * (TimeOfGame - wh), 0.1)
/proc/numberToMonthName(number)
- return month_names.Find(number)
+ return GLOB.month_names.Find(number)
//Take a value in seconds and returns a string of minutes and seconds in the format X minute(s) and X seconds.
/proc/seconds_to_time(var/seconds as num)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index e01a1fd9895..6ce486bdc05 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -277,7 +277,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
/proc/freeborg()
var/select = null
var/list/borgs = list()
- for(var/mob/living/silicon/robot/A in player_list)
+ for(var/mob/living/silicon/robot/A in GLOB.player_list)
if(A.stat == 2 || A.connected_ai || A.scrambledcodes || istype(A,/mob/living/silicon/robot/drone))
continue
var/name = "[A.real_name] ([A.modtype] [A.braintype])"
@@ -290,7 +290,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
//When a borg is activated, it can choose which AI it wants to be slaved to
/proc/active_ais()
. = list()
- for(var/mob/living/silicon/ai/A in living_mob_list)
+ for(var/mob/living/silicon/ai/A in GLOB.living_mob_list)
if(A.stat == DEAD)
continue
if(A.control_disabled == 1)
@@ -372,7 +372,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
//Orders mobs by type then by name
/proc/sortmobs()
var/list/moblist = list()
- var/list/sortmob = sortAtom(mob_list)
+ var/list/sortmob = sortAtom(GLOB.mob_list)
for(var/mob/living/silicon/ai/M in sortmob)
moblist.Add(M)
if(M.eyeobj)
@@ -427,7 +427,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
/proc/get_mob_by_ckey(key)
if(!key)
return
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M.ckey == key)
return M
@@ -996,7 +996,7 @@ proc/oview_or_orange(distance = world.view , center = usr , type)
proc/get_mob_with_client_list()
var/list/mobs = list()
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M.client)
mobs += M
return mobs
@@ -1150,6 +1150,11 @@ var/global/list/common_tools = list(
return 1
return 0
+/proc/ispowertool(O)//used to check if a tool can force powered doors
+ if(istype(O, /obj/item/crowbar/power) || istype(O, /obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw))
+ return TRUE
+ return FALSE
+
/proc/iswire(O)
if(istype(O, /obj/item/stack/cable_coil))
return 1
@@ -1859,8 +1864,8 @@ var/mob/dview/dview_mob = new
/obj/structure/closet = "CLOSET",
/obj/structure/statue = "STATUE",
/obj/structure/chair = "CHAIR", // oh no
- /obj/structure/stool/bed = "BED",
- /obj/structure/stool = "STOOL",
+ /obj/structure/bed = "BED",
+ /obj/structure/chair/stool = "STOOL",
/obj/structure/table = "TABLE",
/obj/structure = "STRUCTURE",
/obj/vehicle = "VEHICLE",
@@ -1954,7 +1959,7 @@ var/mob/dview/dview_mob = new
pois[name] = M
if(!mobs_only)
- for(var/atom/A in poi_list)
+ for(var/atom/A in GLOB.poi_list)
if(!A || !A.loc)
continue
var/name = A.name
diff --git a/code/_compile_options.dm b/code/_compile_options.dm
index c6b63b77271..436970567a0 100644
--- a/code/_compile_options.dm
+++ b/code/_compile_options.dm
@@ -18,7 +18,7 @@
#define MAX_PAPER_MESSAGE_LEN 3072
#define MAX_PAPER_FIELDS 50
#define MAX_BOOK_MESSAGE_LEN 9216
-#define MAX_NAME_LEN 26
+#define MAX_NAME_LEN 50 //diona names can get loooooooong
// Version check, terminates compilation if someone is using a version of BYOND that's too old
#if DM_VERSION < 510
diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm
index b71498e0636..a93e58acf7f 100644
--- a/code/_globalvars/lists/flavor_misc.dm
+++ b/code/_globalvars/lists/flavor_misc.dm
@@ -1,35 +1,35 @@
//Preferences stuff
//Head accessory styles
-var/global/list/head_accessory_styles_list = list() //stores /datum/sprite_accessory/head_accessory indexed by name
+GLOBAL_LIST_INIT(head_accessory_styles_list, list()) //stores /datum/sprite_accessory/head_accessory indexed by name
//Marking styles
-var/global/list/marking_styles_list = list() //stores /datum/sprite_accessory/body_markings indexed by name
+GLOBAL_LIST_INIT(marking_styles_list, list()) //stores /datum/sprite_accessory/body_markings indexed by name
//Hairstyles
-var/global/list/hair_styles_public_list = list() //stores /datum/sprite_accessory/hair indexed by name
-var/global/list/hair_styles_male_list = list()
-var/global/list/hair_styles_female_list = list()
-var/global/list/hair_styles_full_list = list() //fluff hair styles
-var/global/list/facial_hair_styles_list = list() //stores /datum/sprite_accessory/facial_hair indexed by name
-var/global/list/facial_hair_styles_male_list = list()
-var/global/list/facial_hair_styles_female_list = list()
-var/global/list/skin_styles_female_list = list() //unused
+GLOBAL_LIST_INIT(hair_styles_public_list, list()) //stores /datum/sprite_accessory/hair indexed by name
+GLOBAL_LIST_INIT(hair_styles_male_list, list())
+GLOBAL_LIST_INIT(hair_styles_female_list, list())
+GLOBAL_LIST_INIT(hair_styles_full_list, list()) //fluff hair styles
+GLOBAL_LIST_INIT(facial_hair_styles_list, list()) //stores /datum/sprite_accessory/facial_hair indexed by name
+GLOBAL_LIST_INIT(facial_hair_styles_male_list, list())
+GLOBAL_LIST_INIT(facial_hair_styles_female_list, list())
+GLOBAL_LIST_INIT(skin_styles_female_list, list()) //unused
//Underwear
-var/global/list/underwear_list = list() //stores /datum/sprite_accessory/underwear indexed by name
-var/global/list/underwear_m = list() //stores only underwear name
-var/global/list/underwear_f = list() //stores only underwear name
+GLOBAL_LIST_INIT(underwear_list, list()) //stores /datum/sprite_accessory/underwear indexed by name
+GLOBAL_LIST_INIT(underwear_m, list()) //stores only underwear name
+GLOBAL_LIST_INIT(underwear_f, list()) //stores only underwear name
//Undershirts
-var/global/list/undershirt_list = list() //stores /datum/sprite_accessory/undershirt indexed by name
-var/global/list/undershirt_m = list() //stores only undershirt name
-var/global/list/undershirt_f = list() //stores only undershirt name
+GLOBAL_LIST_INIT(undershirt_list, list()) //stores /datum/sprite_accessory/undershirt indexed by name
+GLOBAL_LIST_INIT(undershirt_m, list()) //stores only undershirt name
+GLOBAL_LIST_INIT(undershirt_f, list()) //stores only undershirt name
//Socks
-var/global/list/socks_list = list() //stores /datum/sprite_accessory/socks indexed by name
-var/global/list/socks_m = list() //stores only socks name
-var/global/list/socks_f = list() //stores only socks name
+GLOBAL_LIST_INIT(socks_list, list()) //stores /datum/sprite_accessory/socks indexed by name
+GLOBAL_LIST_INIT(socks_m, list()) //stores only socks name
+GLOBAL_LIST_INIT(socks_f, list()) //stores only socks name
//Alt Heads
-var/global/list/alt_heads_list = list() //stores /datum/sprite_accessory/alt_heads indexed by name
+GLOBAL_LIST_INIT(alt_heads_list, list()) //stores /datum/sprite_accessory/alt_heads indexed by name
-var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg', \
+GLOBAL_LIST_INIT(scarySounds, list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg', \
'sound/voice/hiss3.ogg','sound/voice/hiss4.ogg','sound/voice/hiss5.ogg','sound/voice/hiss6.ogg','sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg', \
-'sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock_open.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg')
+'sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock_open.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg'))
// Reference list for disposal sort junctions. Set the sortType variable on disposal sort junctions to
// the index of the sort department that you want. For example, sortType set to 2 will reroute all packages
@@ -38,30 +38,30 @@ var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons
//If you don't want to fuck up disposals, add to this list, and don't change the order.
//If you insist on changing the order, you'll have to change every sort junction to reflect the new order. --Pete
-var/list/TAGGERLOCATIONS = list("Disposals",
+GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals",
"Cargo Bay", "QM Office", "Engineering", "CE Office",
"Atmospherics", "HoS Office", "Security", "Medbay",
"CMO Office", "Chemistry", "Research", "RD Office",
"Robotics", "HoP Office", "Library", "Chapel", "Captain's Office",
- "Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics","Brig Physician")
+ "Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics","Brig Physician"))
-var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF")
+GLOBAL_LIST_INIT(hit_appends, list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF"))
-var/global/list/greek_letters = list("Alpha", "Beta", "Gamma", "Delta",
+GLOBAL_LIST_INIT(greek_letters, list("Alpha", "Beta", "Gamma", "Delta",
"Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu",
"Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi",
- "Chi", "Psi", "Omega")
+ "Chi", "Psi", "Omega"))
-var/global/list/phonetic_alphabet = list("Alpha", "Bravo", "Charlie",
+GLOBAL_LIST_INIT(phonetic_alphabet, list("Alpha", "Bravo", "Charlie",
"Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet",
"Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec",
"Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "X-ray",
- "Yankee", "Zulu")
+ "Yankee", "Zulu"))
-var/global/list/numbers_as_words = list("One", "Two", "Three", "Four",
+GLOBAL_LIST_INIT(numbers_as_words, list("One", "Two", "Three", "Four",
"Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve",
"Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen",
- "Eighteen", "Nineteen")
+ "Eighteen", "Nineteen"))
//Backpacks
#define GBACKPACK "Grey Backpack"
@@ -71,4 +71,4 @@ var/global/list/numbers_as_words = list("One", "Two", "Three", "Four",
#define DBACKPACK "Department Backpack"
#define DSATCHEL "Department Satchel"
#define DDUFFLEBAG "Department Dufflebag"
-var/global/list/backbaglist = list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL)
+GLOBAL_LIST_INIT(backbaglist, list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL))
diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm
index 8a06b552db2..e9c50b0f662 100644
--- a/code/_globalvars/lists/misc.dm
+++ b/code/_globalvars/lists/misc.dm
@@ -1,13 +1,28 @@
-var/global/list/alphabet = 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")
-var/global/list/alphabet_uppercase = 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")
-var/global/list/zero_character_only = list("0")
-var/global/list/hex_characters = list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f")
-var/global/list/binary = list("0","1")
+GLOBAL_LIST_INIT(alphabet, 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"))
+GLOBAL_LIST_INIT(alphabet_uppercase, 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"))
+GLOBAL_LIST_INIT(zero_character_only, list("0"))
+GLOBAL_LIST_INIT(hex_characters, list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"))
+GLOBAL_LIST_INIT(binary, list("0","1"))
+GLOBAL_LIST_INIT(html_colors, list("Alice Blue","Antique White","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blanched Almond","Blue","Blue Violet",
+ "Brown","Burly Wood","Cadet Blue","Chartreuse","Chocolate","Coral","Cornflower Blue","Cornsilk","Crimson","Cyan",
+ "Dark Blue","Dark Cyan","Dark Golden Rod","Dark Gray","Dark Green","Dark Khaki","Dark Magenta","Dark Olive Green",
+ "Dark Orange","Dark Orchid","Dark Red","Dark Salmon","Dark Sea Green","Dark Slate Blue","Dark Slate Gray",
+ "Dark Turquoise","Dark Violet","Deep Pink","Deep Sky Blue","Dim Gray","Dodger Blue","Fire Brick","Floral White",
+ "Forest Green","Fuchsia","Gainsboro","Ghost White","Gold","Golden Rod","Gray","Grey","Green","Green Yellow","Honey Dew",
+ "Hot Pink","Indian Red","Indigo","Ivory","Khaki","Lavender","Lavender Blush","Lawn Green","Lemon Chiffon","Light Blue",
+ "Light Coral","Light Cyan","Light Golden Rod Yellow","Light Gray","Light Green","Light Pink","Light Salmon","Light Sea Green",
+ "Light Sky Blue","Light Slate Gray","Light Steel Blue","Light Yellow","Lime","Lime Green","Linen","Magenta","Maroon",
+ "Medium Aquamarine","Medium Blue","Medium Orchid","Medium Purple","Medium Seagreen","Medium Slate Blue","Medium Spring Green",
+ "Medium Turquoise","Medium Violet Red","Midnight Blue","Mint Cream","Misty Rose","Moccasin","Navajo White","Navy","Old Lace",
+ "Olive","Olive Drab","Orange","Orange Red","Orchid","Pale Golden Rod","Pale Green","Pale Turquoise","Pale Violet Red",
+ "Papaya Whip","Peach Puff","Peru","Pink","Plum","Powder Blue","Purple","Red","Rosy Brown","Royal Blue","Saddle Brown",
+ "Salmon","Sandy Brown","Sea Green","Sea Shell","Sienna","Silver","Sky Blue","Slate Blue","Slate Gray","Snow","Spring Green",
+ "Steel Blue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","White Smoke","Yellow","Yellow Green"))
-var/global/list/day_names = list("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
-var/global/list/month_names = list("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
+GLOBAL_LIST_INIT(day_names, list("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))
+GLOBAL_LIST_INIT(month_names, list("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"))
-var/list/restricted_camera_networks = list( //Those networks can only be accessed by preexisting terminals. AIs and new terminals can't use them.
+GLOBAL_LIST_INIT(restricted_camera_networks, list(
"CentComm",
"ERT",
"NukeOps",
@@ -17,19 +32,19 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse
"UO71",
"Xeno",
"Hotel"
- )
+ )) //Those networks can only be accessed by preexisting terminals. AIs and new terminals can't use them.
-var/list/mineral_turfs = list()
+GLOBAL_LIST_INIT(mineral_turfs, list())
-var/list/ruin_landmarks = list()
+GLOBAL_LIST_INIT(ruin_landmarks, list())
-var/list/round_end_sounds = list( // Maps available round end sounds to their duration
+GLOBAL_LIST_INIT(round_end_sounds, list(
'sound/AI/newroundsexy.ogg' = 2.3 SECONDS,
'sound/misc/apcdestroyed.ogg' = 3 SECONDS,
'sound/misc/bangindonk.ogg' = 1.6 SECONDS,
'sound/goonstation/misc/newround1.ogg' = 6.9 SECONDS,
'sound/goonstation/misc/newround2.ogg' = 14.8 SECONDS
- )
+ )) // Maps available round end sounds to their duration
GLOBAL_LIST_INIT(cooking_recipe_types, list(
RECIPE_MICROWAVE = /datum/recipe/microwave,
diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm
index 7cc456f9440..ff902473329 100644
--- a/code/_globalvars/lists/mobs.dm
+++ b/code/_globalvars/lists/mobs.dm
@@ -1,34 +1,34 @@
//Languages/species/whitelist. //Languages and species fit with mobs right
GLOBAL_LIST_EMPTY(all_species)
-var/global/list/all_languages[0]
-var/global/list/language_keys[0] // Table of say codes for all languages
-var/global/list/all_superheroes[0]
-var/global/list/all_nations[0]
-var/global/list/whitelisted_species = list()
+GLOBAL_LIST_EMPTY(all_languages)
+GLOBAL_LIST_EMPTY(language_keys) // Table of say codes for all languages
+GLOBAL_LIST_EMPTY(all_superheroes)
+GLOBAL_LIST_EMPTY(all_nations)
+GLOBAL_LIST_INIT(whitelisted_species, list())
-var/list/clients = list() //list of all clients
-var/list/admins = list() //list of all clients whom are admins
-var/list/deadmins = list() //list of all clients who have used the de-admin verb.
-var/list/directory = list() //list of all ckeys with associated client
-var/list/stealthminID = list() //reference list with IDs that store ckeys, for stealthmins
+GLOBAL_LIST_INIT(clients, list()) //list of all clients
+GLOBAL_LIST_INIT(admins, list()) //list of all clients whom are admins
+GLOBAL_LIST_INIT(deadmins, list()) //list of all clients who have used the de-admin verb.
+GLOBAL_LIST_INIT(directory, list()) //list of all ckeys with associated client
+GLOBAL_LIST_INIT(stealthminID, list()) //reference list with IDs that store ckeys, for stealthmins
//Since it didn't really belong in any other category, I'm putting this here
//This is for procs to replace all the goddamn 'in world's that are chilling around the code
-var/global/list/player_list = list() //List of all mobs **with clients attached**. Excludes /mob/new_player
-var/global/list/mob_list = list() //List of all mobs, including clientless
-var/global/list/silicon_mob_list = list() //List of all silicon mobs, including clientless
-var/global/list/spirits = list() //List of all the spirits, including Masks
-var/global/list/living_mob_list = list() //List of all alive mobs, including clientless. Excludes /mob/new_player
-var/global/list/dead_mob_list = list() //List of all dead mobs, including clientless. Excludes /mob/new_player
-var/global/list/respawnable_list = list() //List of all mobs, dead or in mindless creatures that still be respawned.
-var/global/list/non_respawnable_keys = list() //List of ckeys that are excluded from respawning for remainder of round.
-var/global/list/simple_animal_list = list() //List of all simple animals, including clientless
-var/global/list/snpc_list = list() //List of all snpc's, including clientless
-var/global/list/bots_list = list() //List of all bots(beepsky, medibots,etc)
+GLOBAL_LIST_INIT(player_list, list()) //List of all mobs **with clients attached**. Excludes /mob/new_player
+GLOBAL_LIST_INIT(mob_list, list()) //List of all mobs, including clientless
+GLOBAL_LIST_INIT(silicon_mob_list, list()) //List of all silicon mobs, including clientless
+GLOBAL_LIST_INIT(spirits, list()) //List of all the spirits, including Masks
+GLOBAL_LIST_INIT(living_mob_list, list()) //List of all alive mobs, including clientless. Excludes /mob/new_player
+GLOBAL_LIST_INIT(dead_mob_list, list()) //List of all dead mobs, including clientless. Excludes /mob/new_player
+GLOBAL_LIST_INIT(respawnable_list, list()) //List of all mobs, dead or in mindless creatures that still be respawned.
+GLOBAL_LIST_INIT(non_respawnable_keys, list()) //List of ckeys that are excluded from respawning for remainder of round.
+GLOBAL_LIST_INIT(simple_animal_list, list()) //List of all simple animals, including clientless
+GLOBAL_LIST_INIT(snpc_list, list()) //List of all snpc's, including clientless
+GLOBAL_LIST_INIT(bots_list, list()) //List of all bots(beepsky, medibots,etc)
-var/global/list/med_hud_users = list()
-var/global/list/sec_hud_users = list()
-var/global/list/antag_hud_users = list()
-var/global/list/surgeries_list = list()
-var/global/list/hear_radio_list = list() //Mobs that hear the radio even if there's no client
+GLOBAL_LIST_INIT(med_hud_users, list())
+GLOBAL_LIST_INIT(sec_hud_users, list())
+GLOBAL_LIST_INIT(antag_hud_users, list())
+GLOBAL_LIST_INIT(surgeries_list, list())
+GLOBAL_LIST_INIT(hear_radio_list, list()) //Mobs that hear the radio even if there's no client
diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm
index f403695b0f6..e88c2dfbb28 100644
--- a/code/_globalvars/lists/names.dm
+++ b/code/_globalvars/lists/names.dm
@@ -1,20 +1,20 @@
-var/list/ai_names = file2list("config/names/ai.txt")
-var/list/wizard_first = file2list("config/names/wizardfirst.txt")
-var/list/wizard_second = file2list("config/names/wizardsecond.txt")
-var/list/ninja_titles = file2list("config/names/ninjatitle.txt")
-var/list/ninja_names = file2list("config/names/ninjaname.txt")
-var/list/commando_names = file2list("config/names/death_commando.txt")
-var/list/first_names_male = file2list("config/names/first_male.txt")
-var/list/first_names_female = file2list("config/names/first_female.txt")
-var/list/last_names = file2list("config/names/last.txt")
-var/list/clown_names = file2list("config/names/clown.txt")
-var/list/mime_names = file2list("config/names/mime.txt")
+GLOBAL_LIST_INIT(ai_names, file2list("config/names/ai.txt"))
+GLOBAL_LIST_INIT(wizard_first, file2list("config/names/wizardfirst.txt"))
+GLOBAL_LIST_INIT(wizard_second, file2list("config/names/wizardsecond.txt"))
+GLOBAL_LIST_INIT(ninja_titles, file2list("config/names/ninjatitle.txt"))
+GLOBAL_LIST_INIT(ninja_names, file2list("config/names/ninjaname.txt"))
+GLOBAL_LIST_INIT(commando_names, file2list("config/names/death_commando.txt"))
+GLOBAL_LIST_INIT(first_names_male, file2list("config/names/first_male.txt"))
+GLOBAL_LIST_INIT(first_names_female, file2list("config/names/first_female.txt"))
+GLOBAL_LIST_INIT(last_names, file2list("config/names/last.txt"))
+GLOBAL_LIST_INIT(clown_names, file2list("config/names/clown.txt"))
+GLOBAL_LIST_INIT(mime_names, file2list("config/names/mime.txt"))
-var/list/verbs = file2list("config/names/verbs.txt")
-var/list/adjectives = file2list("config/names/adjectives.txt")
-var/list/dream_strings = file2list("config/names/dreams.txt")
-var/list/nightmare_strings = file2list("config/names/nightmares.txt")
+GLOBAL_LIST_INIT(verbs, file2list("config/names/verbs.txt"))
+GLOBAL_LIST_INIT(adjectives, file2list("config/names/adjectives.txt"))
+GLOBAL_LIST_INIT(dream_strings, file2list("config/names/dreams.txt"))
+GLOBAL_LIST_INIT(nightmare_strings, file2list("config/names/nightmares.txt"))
//loaded on startup because of "
//would include in rsc if ' was used
-var/list/vox_name_syllables = list("ti","hi","ki","ya","ta","ha","ka","ya","chi","cha","kah")
\ No newline at end of file
+GLOBAL_LIST_INIT(vox_name_syllables, list("ti","hi","ki","ya","ta","ha","ka","ya","chi","cha","kah"))
\ No newline at end of file
diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index 0070d5efb1f..33c2c68a48f 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -1,48 +1,48 @@
-var/global/list/portals = list() //for use by portals
+GLOBAL_LIST_INIT(portals, list()) //for use by portals
GLOBAL_LIST(cable_list) //Index for all cables, so that powernets don't have to look through the entire world all the time
-var/global/list/chemical_reactions_list //list of all /datum/chemical_reaction datums. Used during chemical reactions
-var/global/list/chemical_reagents_list //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
-var/global/list/landmarks_list = list() //list of all landmarks created
-var/global/list/surgery_steps = list() //list of all surgery steps |BS12
-var/global/list/side_effects = list() //list of all medical sideeffects types by thier names |BS12
-var/global/list/mechas_list = list() //list of all mechs. Used by hostile mobs target tracking.
-var/global/list/spacepods_list = list() //list of all space pods. Used by hostile mobs target tracking.
-var/global/list/joblist = list() //list of all jobstypes, minus borg and AI
-var/global/list/airlocks = list() //list of all airlocks
-var/global/list/singularities = list() //list of all singularities
-var/global/list/janitorial_equipment = list() //list of janitorial equipment
-var/global/list/crafting_recipes = list() //list of all crafting recipes
-var/global/list/prisoncomputer_list = list()
-var/global/list/cell_logs = list()
+GLOBAL_LIST(chemical_reactions_list) //list of all /datum/chemical_reaction datums. Used during chemical reactions
+GLOBAL_LIST(chemical_reagents_list) //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
+GLOBAL_LIST_INIT(landmarks_list, list()) //list of all landmarks created
+GLOBAL_LIST_INIT(surgery_steps, list()) //list of all surgery steps |BS12
+GLOBAL_LIST_INIT(side_effects, list()) //list of all medical sideeffects types by thier names |BS12
+GLOBAL_LIST_INIT(mechas_list, list()) //list of all mechs. Used by hostile mobs target tracking.
+GLOBAL_LIST_INIT(spacepods_list, list()) //list of all space pods. Used by hostile mobs target tracking.
+GLOBAL_LIST_INIT(joblist, list()) //list of all jobstypes, minus borg and AI
+GLOBAL_LIST_INIT(airlocks, list()) //list of all airlocks
+GLOBAL_LIST_INIT(singularities, list()) //list of all singularities
+GLOBAL_LIST_INIT(janitorial_equipment, list()) //list of janitorial equipment
+GLOBAL_LIST_INIT(crafting_recipes, list()) //list of all crafting recipes
+GLOBAL_LIST_INIT(prisoncomputer_list, list())
+GLOBAL_LIST_INIT(cell_logs, list())
-var/global/list/all_areas = list()
-var/global/list/machines = list()
-var/global/list/fast_processing = list()
-var/global/list/processing_power_items = list() //items that ask to be called every cycle
-var/global/list/rcd_list = list() //list of Rapid Construction Devices.
+GLOBAL_LIST_INIT(all_areas, list())
+GLOBAL_LIST_INIT(machines, list())
+GLOBAL_LIST_INIT(fast_processing, list())
+GLOBAL_LIST_INIT(processing_power_items, list()) //items that ask to be called every cycle
+GLOBAL_LIST_INIT(rcd_list, list()) //list of Rapid Construction Devices.
-var/global/list/apcs = list()
-var/global/list/air_alarms = list()
-var/global/list/power_monitors = list()
-var/global/list/all_vent_pumps = list()
+GLOBAL_LIST_INIT(apcs, list())
+GLOBAL_LIST_INIT(air_alarms, list())
+GLOBAL_LIST_INIT(power_monitors, list())
+GLOBAL_LIST_INIT(all_vent_pumps, list())
-var/global/list/navbeacons = list() //list of all bot nagivation beacons, used for patrolling.
-var/global/list/deliverybeacons = list() //list of all MULEbot delivery beacons.
-var/global/list/deliverybeacontags = list() //list of all tags associated with delivery beacons.
+GLOBAL_LIST_INIT(navbeacons, list()) //list of all bot nagivation beacons, used for patrolling.
+GLOBAL_LIST_INIT(deliverybeacons, list()) //list of all MULEbot delivery beacons.
+GLOBAL_LIST_INIT(deliverybeacontags, list()) //list of all tags associated with delivery beacons.
-var/global/list/beacons = list()
-var/global/list/shuttle_caller_list = list() //list of all communication consoles, comms consoles circuit and AIs, for automatic shuttle calls when there are none.
-var/global/list/tracked_implants = list() //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented...
-var/global/list/pinpointer_list = list() //list of all pinpointers. Used to change stuff they are pointing to all at once.
-var/global/list/abductor_equipment = list() //list of all abductor equipment
+GLOBAL_LIST_INIT(beacons, list())
+GLOBAL_LIST_INIT(shuttle_caller_list, list()) //list of all communication consoles, comms consoles circuit and AIs, for automatic shuttle calls when there are none.
+GLOBAL_LIST_INIT(tracked_implants, list()) //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented...
+GLOBAL_LIST_INIT(pinpointer_list, list()) //list of all pinpointers. Used to change stuff they are pointing to all at once.
+GLOBAL_LIST_INIT(abductor_equipment, list()) //list of all abductor equipment
-var/global/list/global_intercoms = list() //list of all intercomms, across all z-levels
-var/global/list/global_radios = list() //list of all radios, across all z-levels
+GLOBAL_LIST_INIT(global_intercoms, list()) //list of all intercomms, across all z-levels
+GLOBAL_LIST_INIT(global_radios, list()) //list of all radios, across all z-levels
-var/global/list/meteor_list = list() //list of all meteors
-var/global/list/poi_list = list() //list of points of interest for observe/follow
-var/global/list/active_jammers = list() // List of active radio jammers
+GLOBAL_LIST_INIT(meteor_list, list()) //list of all meteors
+GLOBAL_LIST_INIT(poi_list, list()) //list of points of interest for observe/follow
+GLOBAL_LIST_INIT(active_jammers, list()) // List of active radio jammers
-var/global/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing.
+GLOBAL_LIST_INIT(active_diseases, list()) //List of Active disease in all mobs; purely for quick referencing.
-GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects
\ No newline at end of file
+GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects
diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm
index 30809943a8a..daa2d634b9f 100644
--- a/code/_globalvars/lists/reagents.dm
+++ b/code/_globalvars/lists/reagents.dm
@@ -1,9 +1,9 @@
// Base chemicals
-var/list/base_chemicals = list("water","oxygen","nitrogen","hydrogen","potassium","mercury","carbon",
+GLOBAL_LIST_INIT(base_chemicals, list("water","oxygen","nitrogen","hydrogen","potassium","mercury","carbon",
"chlorine","fluorine","phosphorus","lithium","sulfur","sacid","radium",
- "iron","aluminum","silicon","sugar","ethanol")
+ "iron","aluminum","silicon","sugar","ethanol"))
// Standard chemicals
-var/list/standard_chemicals = list("slimejelly","blood","water","lube","charcoal","toxin","cyanide",
+GLOBAL_LIST_INIT(standard_chemicals, list("slimejelly","blood","water","lube","charcoal","toxin","cyanide",
"morphine","epinephrine","space_drugs","serotrotium","oxygen","copper",
"nitrogen","hydrogen","potassium","mercury","sulfur","carbon","chlorine",
"fluorine","sodium","phosphorus","lithium","sugar","sacid","facid",
@@ -15,21 +15,21 @@ var/list/standard_chemicals = list("slimejelly","blood","water","lube","charcoal
"cryoxadone","spaceacillin","carpotoxin","lsd","fluorosurfactant",
"fluorosurfactant","ethanol","ammonia","diethylamine","antihol","pancuronium",
"lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin",
- "enzyme","nothing","salglu_solution","antifreeze","neurotoxin")
+ "enzyme","nothing","salglu_solution","antifreeze","neurotoxin"))
// Rare chemicals
-var/list/rare_chemicals = list("minttoxin","syndicate_nanites", "xenomicrobes")
+GLOBAL_LIST_INIT(rare_chemicals, list("minttoxin","syndicate_nanites", "xenomicrobes"))
// Standard medicines
-var/list/standard_medicines = list("charcoal","toxin","cyanide","morphine","epinephrine","space_drugs",
+GLOBAL_LIST_INIT(standard_medicines, list("charcoal","toxin","cyanide","morphine","epinephrine","space_drugs",
"serotrotium","mutadone","mutagen","teporone","lexorin","silver_sulfadiazine",
"salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol",
"potass_iodide","pen_acid","mannitol","oculine","styptic_powder",
"methamphetamine","spaceacillin","carpotoxin","lsd","ethanol","ammonia",
"diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin",
- "frostoil","amanitin","psilocybin","nothing","salglu_solution","neurotoxin")
+ "frostoil","amanitin","psilocybin","nothing","salglu_solution","neurotoxin"))
// Rare medicines
-var/list/rare_medicines = list("syndicate_nanites","minttoxin","blood", "xenomicrobes")
+GLOBAL_LIST_INIT(rare_medicines, list("syndicate_nanites","minttoxin","blood", "xenomicrobes"))
// Drinks
-var/list/drinks = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice",
+GLOBAL_LIST_INIT(drinks, list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice",
"berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana",
"nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee",
"icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb",
@@ -44,10 +44,13 @@ var/list/drinks = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice
"vodkatonic","ginfizz","bahama_mama","singulo","sbiten","devilskiss","red_mead",
"mead","iced_beer","grog","aloe","andalusia","alliescocktail","soy_latte",
"cafe_latte","acidspit","amasec","neurotoxin","hippiesdelight","bananahonk",
- "silencer","changelingsting","irishcarbomb","syndicatebomb","erikasurprise","driestmartini", "flamingmoe")
+ "silencer","changelingsting","irishcarbomb","syndicatebomb","erikasurprise","driestmartini", "flamingmoe"))
+
+//Liver Toxins list
+GLOBAL_LIST_INIT(liver_toxins, list("toxin", "plasma", "sacid", "facid", "cyanide","amanitin", "carpotoxin"))
//Random chem blacklist
-var/global/list/blocked_chems = list("polonium", "initropidril", "concentrated_initro",
+GLOBAL_LIST_INIT(blocked_chems, list("polonium", "initropidril", "concentrated_initro",
"sodium_thiopental", "ketamine", "coniine",
"adminordrazine", "nanites", "hellwater",
"mutationtoxin", "amutationtoxin", "venom",
@@ -55,9 +58,9 @@ var/global/list/blocked_chems = list("polonium", "initropidril", "concentrated_i
"syndicate_nanites", "ripping_tendrils", "boiling_oil",
"envenomed_filaments", "lexorin_jelly", "kinetic",
"cryogenic_liquid", "dark_matter", "b_sorium",
- "reagent", "life","dragonsbreath", "nanocalcium")
+ "reagent", "life","dragonsbreath", "nanocalcium"))
-var/global/list/safe_chem_list = list("antihol", "charcoal", "epinephrine", "insulin", "teporone","silver_sulfadiazine", "salbutamol",
+GLOBAL_LIST_INIT(safe_chem_list, list("antihol", "charcoal", "epinephrine", "insulin", "teporone","silver_sulfadiazine", "salbutamol",
"omnizine", "stimulants", "synaptizine", "potass_iodide", "oculine", "mannitol", "styptic_powder",
"spaceacillin", "salglu_solution", "sal_acid", "cryoxadone", "blood", "synthflesh", "hydrocodone",
- "mitocholide", "rezadone")
\ No newline at end of file
+ "mitocholide", "rezadone"))
\ No newline at end of file
diff --git a/code/_globalvars/unused.dm b/code/_globalvars/unused.dm
index 3925ea1237e..6f55887ee66 100644
--- a/code/_globalvars/unused.dm
+++ b/code/_globalvars/unused.dm
@@ -18,7 +18,6 @@ var/list/liftable_structures = list(\
/obj/machinery/space_heater, \
/obj/machinery/recharge_station, \
/obj/machinery/flasher, \
- /obj/structure/stool, \
/obj/structure/closet, \
/obj/machinery/photocopier, \
/obj/structure/filingcabinet, \
@@ -31,4 +30,3 @@ var/endicon = null
var/datum/air_tunnel/air_tunnel1/SS13_airtunnel = null
var/going = 1.0
var/datum/engine_eject/engine_eject_control = null
-
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index 0b51e52d3ea..c84a64722c5 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -32,6 +32,14 @@
return
changeNext_click(1)
+ if(multicam_on)
+ var/turf/T = get_turf(A)
+ if(T)
+ for(var/obj/screen/movable/pic_in_pic/ai/P in T.vis_locs)
+ if(P.ai == src)
+ P.Click(params)
+ break
+
if(control_disabled || stat)
return
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 006f350873b..8ce2177751c 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -236,6 +236,8 @@
Makes the mob face the direction of the clicked thing
*/
/mob/proc/MiddleShiftClickOn(atom/A)
+ if(incapacitated())
+ return
var/face_dir = get_cardinal_dir(src, A)
if(forced_look == face_dir)
forced_look = null
diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm
index 29fef068cce..3a847412fcb 100644
--- a/code/_onclick/hud/_defines.dm
+++ b/code/_onclick/hud/_defines.dm
@@ -146,6 +146,8 @@
#define ui_ai_take_picture "SOUTH:6,WEST+12"
#define ui_ai_view_images "SOUTH:6,WEST+13"
#define ui_ai_sensor "SOUTH:6,WEST+14"
+#define ui_ai_multicam "SOUTH+1:6,WEST+13"
+#define ui_ai_add_multicam "SOUTH+1:6,WEST+14"
// Bots
#define ui_bot_radio "EAST-1:28,SOUTH:7"
diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm
index c8864f36d8a..0b1a6d1c6c4 100644
--- a/code/_onclick/hud/ai.dm
+++ b/code/_onclick/hud/ai.dm
@@ -140,6 +140,25 @@
var/mob/living/silicon/robot/borg = usr
borg.sensor_mode()
+/obj/screen/ai/multicam
+ name = "Multicamera Mode"
+ icon_state = "multicam"
+
+/obj/screen/ai/multicam/Click()
+ if(..())
+ return
+ var/mob/living/silicon/ai/AI = usr
+ AI.toggle_multicam()
+
+/obj/screen/ai/add_multicam
+ name = "New Camera"
+ icon_state = "new_cam"
+
+/obj/screen/ai/add_multicam/Click()
+ if(..())
+ return
+ var/mob/living/silicon/ai/AI = usr
+ AI.drop_new_multicam()
/mob/living/silicon/ai/create_mob_hud()
if(client && !hud_used)
@@ -228,3 +247,13 @@
using = new /obj/screen/ai/sensors()
using.screen_loc = ui_ai_sensor
static_inventory += using
+
+//Multicamera mode
+ using = new /obj/screen/ai/multicam()
+ using.screen_loc = ui_ai_multicam
+ static_inventory += using
+
+//Add multicamera camera
+ using = new /obj/screen/ai/add_multicam()
+ using.screen_loc = ui_ai_add_multicam
+ static_inventory += using
\ No newline at end of file
diff --git a/code/_onclick/hud/picture_in_picture.dm b/code/_onclick/hud/picture_in_picture.dm
new file mode 100644
index 00000000000..bbac6e36df3
--- /dev/null
+++ b/code/_onclick/hud/picture_in_picture.dm
@@ -0,0 +1,144 @@
+/obj/screen/movable/pic_in_pic
+ name = "Picture-in-picture"
+ screen_loc = "CENTER"
+ plane = GAME_PLANE
+ var/atom/center
+ var/width = 0
+ var/height = 0
+ var/list/shown_to = list()
+ var/list/viewing_turfs = list()
+ var/obj/screen/component_button/button_x
+ var/obj/screen/component_button/button_expand
+ var/obj/screen/component_button/button_shrink
+
+ var/mutable_appearance/standard_background
+ var/const/max_dimensions = 10
+
+/obj/screen/movable/pic_in_pic/Initialize()
+ . = ..()
+ make_backgrounds()
+
+/obj/screen/movable/pic_in_pic/Destroy()
+ for(var/C in shown_to)
+ unshow_to(C)
+ QDEL_NULL(button_x)
+ QDEL_NULL(button_shrink)
+ QDEL_NULL(button_expand)
+ return ..()
+
+/obj/screen/movable/pic_in_pic/component_click(obj/screen/component_button/component, params)
+ if(component == button_x)
+ qdel(src)
+ else if(component == button_expand)
+ set_view_size(width+1, height+1)
+ else if(component == button_shrink)
+ set_view_size(width-1, height-1)
+
+/obj/screen/movable/pic_in_pic/proc/make_backgrounds()
+ standard_background = new /mutable_appearance()
+ standard_background.icon = 'icons/misc/pic_in_pic.dmi'
+ standard_background.icon_state = "background"
+ standard_background.layer = SPACE_LAYER
+
+/obj/screen/movable/pic_in_pic/proc/add_buttons()
+ var/static/mutable_appearance/move_tab
+ if(!move_tab)
+ move_tab = new /mutable_appearance()
+ //all these properties are always the same, and since adding something to the overlay
+ //list makes a copy, there is no reason to make a new one each call
+ move_tab.icon = 'icons/misc/pic_in_pic.dmi'
+ move_tab.icon_state = "move"
+ move_tab.plane = HUD_PLANE
+ var/matrix/M = matrix()
+ M.Translate(0, (height + 0.25) * world.icon_size)
+ move_tab.transform = M
+ overlays += move_tab
+
+ if(!button_x)
+ button_x = new /obj/screen/component_button(null, src)
+ var/mutable_appearance/MA = new /mutable_appearance()
+ MA.name = "close"
+ MA.icon = 'icons/misc/pic_in_pic.dmi'
+ MA.icon_state = "x"
+ MA.plane = HUD_PLANE
+ button_x.appearance = MA
+ M = matrix()
+ M.Translate((max(4, width) - 0.75) * world.icon_size, (height + 0.25) * world.icon_size)
+ button_x.transform = M
+ vis_contents += button_x
+
+ if(!button_expand)
+ button_expand = new /obj/screen/component_button(null, src)
+ var/mutable_appearance/MA = new /mutable_appearance()
+ MA.name = "expand"
+ MA.icon = 'icons/misc/pic_in_pic.dmi'
+ MA.icon_state = "expand"
+ MA.plane = HUD_PLANE
+ button_expand.appearance = MA
+ M = matrix()
+ M.Translate(world.icon_size, (height + 0.25) * world.icon_size)
+ button_expand.transform = M
+ vis_contents += button_expand
+
+ if(!button_shrink)
+ button_shrink = new /obj/screen/component_button(null, src)
+ var/mutable_appearance/MA = new /mutable_appearance()
+ MA.name = "shrink"
+ MA.icon = 'icons/misc/pic_in_pic.dmi'
+ MA.icon_state = "shrink"
+ MA.plane = HUD_PLANE
+ button_shrink.appearance = MA
+ M = matrix()
+ M.Translate(2 * world.icon_size, (height + 0.25) * world.icon_size)
+ button_shrink.transform = M
+ vis_contents += button_shrink
+
+/obj/screen/movable/pic_in_pic/proc/add_background()
+ if((width > 0) && (height > 0))
+ var/matrix/M = matrix()
+ M.Scale(width + 0.5, height + 0.5)
+ M.Translate((width-1)/2 * world.icon_size, (height-1)/2 * world.icon_size)
+ standard_background.transform = M
+ overlays += standard_background
+
+/obj/screen/movable/pic_in_pic/proc/set_view_size(width, height, do_refresh = TRUE)
+ width = Clamp(width, 0, max_dimensions)
+ height = Clamp(height, 0, max_dimensions)
+ src.width = width
+ src.height = height
+
+ y_off = -height * world.icon_size - 16
+
+ overlays.Cut()
+ add_background()
+ add_buttons()
+ if(do_refresh)
+ refresh_view()
+
+/obj/screen/movable/pic_in_pic/proc/set_view_center(atom/target, do_refresh = TRUE)
+ center = target
+ if(do_refresh)
+ refresh_view()
+
+/obj/screen/movable/pic_in_pic/proc/refresh_view()
+ vis_contents -= viewing_turfs
+ if(!width || !height)
+ return
+ var/turf/T = get_turf(center)
+ if(!T)
+ return
+ var/turf/lowerleft = locate(max(1, T.x - round(width/2)), max(1, T.y - round(height/2)), T.z)
+ var/turf/upperright = locate(min(world.maxx, lowerleft.x + width - 1), min(world.maxy, lowerleft.y + height - 1), lowerleft.z)
+ viewing_turfs = block(lowerleft, upperright)
+ vis_contents += viewing_turfs
+
+
+/obj/screen/movable/pic_in_pic/proc/show_to(client/C)
+ if(C)
+ shown_to[C] = 1
+ C.screen += src
+
+/obj/screen/movable/pic_in_pic/proc/unshow_to(client/C)
+ if(C)
+ shown_to -= C
+ C.screen -= src
\ No newline at end of file
diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm
new file mode 100644
index 00000000000..284e095333c
--- /dev/null
+++ b/code/_onclick/hud/radial.dm
@@ -0,0 +1,298 @@
+#define NEXT_PAGE_ID "__next__"
+#define DEFAULT_CHECK_DELAY 20
+#define ANIM_SPEED 1
+
+GLOBAL_LIST_EMPTY(radial_menus)
+
+/obj/screen/radial
+ icon = 'icons/mob/radial.dmi'
+ layer = ABOVE_HUD_LAYER
+ plane = ABOVE_HUD_PLANE
+ var/datum/radial_menu/parent
+
+/obj/screen/radial/slice
+ icon_state = "radial_slice"
+ var/choice
+ var/next_page = FALSE
+
+/obj/screen/radial/slice/MouseEntered(location, control, params)
+ . = ..()
+ icon_state = "radial_slice_focus"
+
+/obj/screen/radial/slice/MouseExited(location, control, params)
+ . = ..()
+ icon_state = "radial_slice"
+
+/obj/screen/radial/slice/Click(location, control, params)
+ if(usr.client == parent.current_user)
+ if(next_page)
+ parent.next_page()
+ else
+ parent.element_chosen(choice,usr)
+
+/obj/screen/radial/center
+ name = "Close Menu"
+ icon_state = "radial_center"
+
+/obj/screen/radial/center/Click(location, control, params)
+ if(usr.client == parent.current_user)
+ parent.finished = TRUE
+
+/datum/radial_menu
+ var/list/choices = list() //List of choice id's
+ var/list/choices_icons = list() //choice_id -> icon
+ var/list/choices_values = list() //choice_id -> choice
+ var/list/page_data = list() //list of choices per page
+
+
+ var/selected_choice
+ var/list/obj/screen/elements = list()
+ var/obj/screen/radial/center/close_button
+ var/client/current_user
+ var/atom/anchor
+ var/image/menu_holder
+ var/finished = FALSE
+ var/datum/callback/custom_check_callback
+ var/next_check = 0
+ var/check_delay = DEFAULT_CHECK_DELAY
+
+ var/radius = 32
+ var/starting_angle = 0
+ var/ending_angle = 360
+ var/zone = 360
+ var/min_angle = 45 //Defaults are setup for this value, if you want to make the menu more dense these will need changes.
+ var/max_elements
+ var/pages = 1
+ var/current_page = 1
+
+ var/hudfix_method = TRUE //TRUE to change anchor to user, FALSE to shift by py_shift
+ var/py_shift = 0
+ var/entry_animation = TRUE
+
+//If we swap to vis_contens inventory these will need a redo
+/datum/radial_menu/proc/check_screen_border(mob/user)
+ var/atom/movable/AM = anchor
+ if(!istype(AM) || !AM.screen_loc)
+ return
+ if(AM in user.client.screen)
+ if(hudfix_method)
+ anchor = user
+ else
+ py_shift = 32
+ restrict_to_dir(NORTH) //I was going to parse screen loc here but that's more effort than it's worth.
+
+//Sets defaults
+//These assume 45 deg min_angle
+/datum/radial_menu/proc/restrict_to_dir(dir)
+ switch(dir)
+ if(NORTH)
+ starting_angle = 270
+ ending_angle = 135
+ if(SOUTH)
+ starting_angle = 90
+ ending_angle = 315
+ if(EAST)
+ starting_angle = 0
+ ending_angle = 225
+ if(WEST)
+ starting_angle = 180
+ ending_angle = 45
+
+/datum/radial_menu/proc/setup_menu()
+ if(ending_angle > starting_angle)
+ zone = ending_angle - starting_angle
+ else
+ zone = 360 - starting_angle + ending_angle
+
+ max_elements = round(zone / min_angle)
+ var/paged = max_elements < choices.len
+ if(elements.len < max_elements)
+ var/elements_to_add = max_elements - elements.len
+ for(var/i in 1 to elements_to_add) //Create all elements
+ var/obj/screen/radial/new_element = new /obj/screen/radial/slice
+ new_element.parent = src
+ elements += new_element
+
+ var/page = 1
+ page_data = list(null)
+ var/list/current = list()
+ var/list/choices_left = choices.Copy()
+ while(choices_left.len)
+ if(current.len == max_elements)
+ page_data[page] = current
+ page++
+ page_data.len++
+ current = list()
+ if(paged && current.len == max_elements - 1)
+ current += NEXT_PAGE_ID
+ continue
+ else
+ current += popleft(choices_left)
+ if(paged && current.len < max_elements)
+ current += NEXT_PAGE_ID
+
+ page_data[page] = current
+ pages = page
+ current_page = 1
+ update_screen_objects(anim = entry_animation)
+
+/datum/radial_menu/proc/update_screen_objects(anim = FALSE)
+ var/list/page_choices = page_data[current_page]
+ var/angle_per_element = round(zone / page_choices.len)
+ for(var/i in 1 to elements.len)
+ var/obj/screen/radial/E = elements[i]
+ var/angle = WRAP(starting_angle + (i - 1) * angle_per_element, 0, 360)
+ if(i > page_choices.len)
+ HideElement(E)
+ else
+ SetElement(E,page_choices[i], angle, anim = anim, anim_order = i)
+
+/datum/radial_menu/proc/HideElement(obj/screen/radial/slice/E)
+ E.cut_overlays()
+ E.alpha = 0
+ E.name = "None"
+ E.maptext = null
+ E.mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ E.choice = null
+ E.next_page = FALSE
+
+/datum/radial_menu/proc/SetElement(obj/screen/radial/slice/E, choice_id, angle, anim, anim_order)
+ //Position
+ var/py = round(cos(angle) * radius) + py_shift
+ var/px = round(sin(angle) * radius)
+ if(anim)
+ var/timing = anim_order * ANIM_SPEED
+ var/matrix/starting = matrix()
+ starting.Scale(0.1, 0.1)
+ E.transform = starting
+ var/matrix/TM = matrix()
+ animate(E, pixel_x = px, pixel_y = py, transform = TM, time = timing)
+ else
+ E.pixel_y = py
+ E.pixel_x = px
+
+ //Visuals
+ E.alpha = 255
+ E.mouse_opacity = MOUSE_OPACITY_ICON
+ E.cut_overlays()
+ if(choice_id == NEXT_PAGE_ID)
+ E.name = "Next Page"
+ E.next_page = TRUE
+ E.add_overlay("radial_next")
+ else
+ if(istext(choices_values[choice_id]))
+ E.name = choices_values[choice_id]
+ else
+ var/atom/movable/AM = choices_values[choice_id] //Movables only
+ E.name = AM.name
+ E.choice = choice_id
+ E.maptext = null
+ E.next_page = FALSE
+ if(choices_icons[choice_id])
+ E.add_overlay(choices_icons[choice_id])
+
+/datum/radial_menu/New()
+ close_button = new
+ close_button.parent = src
+
+/datum/radial_menu/proc/Reset()
+ choices.Cut()
+ choices_icons.Cut()
+ choices_values.Cut()
+ current_page = 1
+ QDEL_NULL(custom_check_callback)
+
+/datum/radial_menu/proc/element_chosen(choice_id,mob/user)
+ selected_choice = choices_values[choice_id]
+
+/datum/radial_menu/proc/get_next_id()
+ return "c_[choices.len]"
+
+/datum/radial_menu/proc/set_choices(list/new_choices)
+ if(choices.len)
+ Reset()
+ for(var/E in new_choices)
+ var/id = get_next_id()
+ choices += id
+ choices_values[id] = E
+ if(new_choices[E])
+ var/I = extract_image(new_choices[E])
+ if(I)
+ choices_icons[id] = I
+ setup_menu()
+
+
+/datum/radial_menu/proc/extract_image(E)
+ var/mutable_appearance/MA = new /mutable_appearance(E)
+ if(MA)
+ MA.layer = ABOVE_HUD_LAYER
+ MA.appearance_flags |= RESET_TRANSFORM
+ return MA
+
+
+/datum/radial_menu/proc/next_page()
+ if(pages > 1)
+ current_page = WRAP(current_page + 1, 1, pages + 1)
+ update_screen_objects()
+
+/datum/radial_menu/proc/show_to(mob/M)
+ if(current_user)
+ hide()
+ if(!M.client || !anchor)
+ return
+ current_user = M.client
+ //Blank
+ menu_holder = image(icon = 'icons/effects/effects.dmi', loc = anchor,icon_state = "nothing", layer = ABOVE_HUD_LAYER)
+ menu_holder.appearance_flags |= KEEP_APART
+ menu_holder.vis_contents += elements + close_button
+ current_user.images += menu_holder
+
+/datum/radial_menu/proc/hide()
+ if(current_user)
+ current_user.images -= menu_holder
+
+/datum/radial_menu/proc/wait()
+ while (current_user && !finished && !selected_choice)
+ if(custom_check_callback && next_check < world.time)
+ if(!custom_check_callback.Invoke())
+ return
+ else
+ next_check = world.time + check_delay
+ stoplag(1)
+
+/datum/radial_menu/Destroy()
+ Reset()
+ hide()
+ . = ..()
+
+/*
+ Presents radial menu to user anchored to anchor (or user if the anchor is currently in users screen)
+ Choices should be a list where list keys are movables or text used for element names and return value
+ and list values are movables/icons/images used for element icons
+*/
+/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check)
+ if(!user || !anchor || !length(choices))
+ return
+ if(!uniqueid)
+ uniqueid = "defmenu_[user.UID()]_[anchor.UID()]"
+
+ if(GLOB.radial_menus[uniqueid])
+ return
+
+ var/datum/radial_menu/menu = new
+ GLOB.radial_menus[uniqueid] = menu
+ if(radius)
+ menu.radius = radius
+ if(istype(custom_check))
+ menu.custom_check_callback = custom_check
+ menu.anchor = anchor
+ menu.check_screen_border(user) //Do what's needed to make it look good near borders or on hud
+ menu.set_choices(choices)
+ menu.show_to(user)
+ menu.wait()
+ var/answer = menu.selected_choice
+ qdel(menu)
+ GLOB.radial_menus -= uniqueid
+ return answer
+
+#undef ANIM_SPEED
\ No newline at end of file
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 67f2db660f8..8847e990338 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -23,6 +23,9 @@
master = null
return ..()
+/obj/screen/proc/component_click(obj/screen/component_button/component, params)
+ return
+
/obj/screen/text
icon = null
icon_state = null
@@ -175,66 +178,111 @@
icon_state = "zone_sel"
screen_loc = ui_zonesel
var/selecting = "chest"
+ var/static/list/hover_overlays_cache = list()
+ var/hovering
/obj/screen/zone_sel/Click(location, control,params)
+ if(isobserver(usr))
+ return
+
var/list/PL = params2list(params)
var/icon_x = text2num(PL["icon-x"])
var/icon_y = text2num(PL["icon-y"])
- var/old_selecting = selecting //We're only going to update_icon() if there's been a change
+ var/choice = get_zone_at(icon_x, icon_y)
+ if(!choice)
+ return 1
+ return set_selected_zone(choice, usr)
+
+/obj/screen/zone_sel/MouseEntered(location, control, params)
+ MouseMove(location, control, params)
+
+/obj/screen/zone_sel/MouseMove(location, control, params)
+ if(isobserver(usr))
+ return
+
+ var/list/PL = params2list(params)
+ var/icon_x = text2num(PL["icon-x"])
+ var/icon_y = text2num(PL["icon-y"])
+ var/choice = get_zone_at(icon_x, icon_y)
+
+ if(hovering == choice)
+ return
+ cut_overlay(hover_overlays_cache[hovering])
+ hovering = choice
+
+ var/obj/effect/overlay/zone_sel/overlay_object = hover_overlays_cache[choice]
+ if(!overlay_object)
+ overlay_object = new
+ overlay_object.icon_state = "[choice]"
+ hover_overlays_cache[choice] = overlay_object
+ add_overlay(overlay_object)
+
+
+/obj/effect/overlay/zone_sel
+ icon = 'icons/mob/zone_sel.dmi'
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ alpha = 128
+ anchored = TRUE
+ layer = ABOVE_HUD_LAYER
+ plane = ABOVE_HUD_PLANE
+
+/obj/screen/zone_sel/MouseExited(location, control, params)
+ if(!isobserver(usr) && hovering)
+ cut_overlay(hover_overlays_cache[hovering])
+ hovering = null
+
+/obj/screen/zone_sel/proc/get_zone_at(icon_x, icon_y)
switch(icon_y)
if(1 to 3) //Feet
switch(icon_x)
if(10 to 15)
- selecting = "r_foot"
+ return "r_foot"
if(17 to 22)
- selecting = "l_foot"
- else
- return 1
+ return "l_foot"
if(4 to 9) //Legs
switch(icon_x)
if(10 to 15)
- selecting = "r_leg"
+ return "r_leg"
if(17 to 22)
- selecting = "l_leg"
- else
- return 1
+ return "l_leg"
if(10 to 13) //Hands and groin
switch(icon_x)
if(8 to 11)
- selecting = "r_hand"
+ return "r_hand"
if(12 to 20)
- selecting = "groin"
+ return "groin"
if(21 to 24)
- selecting = "l_hand"
- else
- return 1
+ return "l_hand"
if(14 to 22) //Chest and arms to shoulders
switch(icon_x)
if(8 to 11)
- selecting = "r_arm"
+ return "r_arm"
if(12 to 20)
- selecting = "chest"
+ return "chest"
if(21 to 24)
- selecting = "l_arm"
- else
- return 1
+ return "l_arm"
if(23 to 30) //Head, but we need to check for eye or mouth
if(icon_x in 12 to 20)
- selecting = "head"
switch(icon_y)
if(23 to 24)
if(icon_x in 15 to 17)
- selecting = "mouth"
+ return "mouth"
if(26) //Eyeline, eyes are on 15 and 17
if(icon_x in 14 to 18)
- selecting = "eyes"
+ return "eyes"
if(25 to 27)
if(icon_x in 15 to 17)
- selecting = "eyes"
+ return "eyes"
+ return "head"
- if(old_selecting != selecting)
- update_icon()
+/obj/screen/zone_sel/proc/set_selected_zone(choice, mob/user)
+ if(isobserver(user))
+ return
+
+ if(choice != selecting)
+ selecting = choice
+ update_icon(usr)
return 1
/obj/screen/zone_sel/update_icon()
@@ -275,8 +323,38 @@
/obj/screen/inventory
var/slot_id //The indentifier for the slot. It has nothing to do with ID cards.
+ var/list/object_overlays = list()
layer = 19
+/obj/screen/inventory/MouseEntered()
+ ..()
+ add_overlays()
+
+/obj/screen/inventory/MouseExited()
+ ..()
+ cut_overlay(object_overlays)
+ object_overlays.Cut()
+
+/obj/screen/inventory/proc/add_overlays()
+ var/mob/user = hud.mymob
+
+ if(hud && user && slot_id)
+ var/obj/item/holding = user.get_active_hand()
+
+ if(!holding || user.get_item_by_slot(slot_id))
+ return
+
+ var/image/item_overlay = image(holding)
+ item_overlay.alpha = 92
+
+ if(!user.can_equip(holding, slot_id, disable_warning = TRUE))
+ item_overlay.color = "#ff0000"
+ else
+ item_overlay.color = "#00ff00"
+
+ object_overlays += item_overlay
+ add_overlay(object_overlays)
+
/obj/screen/inventory/Click()
// At this point in client Click() code we have passed the 1/10 sec check and little else
// We don't even know if it's a middle click
@@ -386,3 +464,15 @@
icon_state = "healthdoll_DEAD"
screen_loc = ui_healthdoll
var/list/cached_healthdoll_overlays = list() // List of icon states (strings) for overlays
+
+/obj/screen/component_button
+ var/obj/screen/parent
+
+
+/obj/screen/component_button/Initialize(mapload, obj/screen/new_parent)
+ . = ..()
+ parent = new_parent
+
+/obj/screen/component_button/Click(params)
+ if(parent)
+ parent.component_click(src, params)
\ No newline at end of file
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 0299a7ec2fc..78dde4e95f9 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -14,7 +14,7 @@
// No comment
/atom/proc/attackby(obj/item/W, mob/user, params)
- return SendSignal(COMSIG_PARENT_ATTACKBY, W, user, params)
+ return SEND_SIGNAL(src, COMSIG_PARENT_ATTACKBY, W, user, params)
/obj/attackby(obj/item/I, mob/living/user, params)
return ..() || (can_be_hit && I.attack_obj(src, user))
diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm
index 5ab67ffb611..238ce2d5a94 100644
--- a/code/_onclick/telekinesis.dm
+++ b/code/_onclick/telekinesis.dm
@@ -191,27 +191,3 @@ var/const/tk_maxrange = 15
overlays.Cut()
if(focus && focus.icon && focus.icon_state)
overlays += icon(focus.icon,focus.icon_state)
-
-/*Not quite done likely needs to use something thats not get_step_to
- proc/check_path()
- var/turf/ref = get_turf(src.loc)
- var/turf/target = get_turf(focus.loc)
- if(!ref || !target) return 0
- var/distance = get_dist(ref, target)
- if(distance >= 10) return 0
- for(var/i = 1 to distance)
- ref = get_step_to(ref, target, 0)
- if(ref != target) return 0
- return 1
-*/
-
-//equip_to_slot_or_del(obj/item/W, slot, del_on_fail = 1)
-/*
- if(istype(user, /mob/living/carbon))
- if(user:mutations & TK && get_dist(source, user) <= 7)
- if(user:get_active_hand()) return 0
- var/X = source:x
- var/Y = source:y
- var/Z = source:z
-
-*/
diff --git a/code/controllers/Processes/fast_process.dm b/code/controllers/Processes/fast_process.dm
index 72ed0e68fee..c27a749f526 100644
--- a/code/controllers/Processes/fast_process.dm
+++ b/code/controllers/Processes/fast_process.dm
@@ -6,10 +6,10 @@
/datum/controller/process/fast_process/statProcess()
..()
- stat(null, "[fast_processing.len] fast processes")
+ stat(null, "[GLOB.fast_processing.len] fast processes")
/datum/controller/process/fast_process/doWork()
- for(last_object in fast_processing)
+ for(last_object in GLOB.fast_processing)
var/obj/O = last_object
try
O.process()
diff --git a/code/controllers/Processes/npcai.dm b/code/controllers/Processes/npcai.dm
index a93c6e881de..127429efd34 100644
--- a/code/controllers/Processes/npcai.dm
+++ b/code/controllers/Processes/npcai.dm
@@ -11,18 +11,18 @@ var/global/datum/controller/process/npcai/npcai_master
/datum/controller/process/npcai/started()
..()
- if(!simple_animal_list)
- simple_animal_list = list()
- if(!snpc_list)
- snpc_list = list()
+ if(!GLOB.simple_animal_list)
+ GLOB.simple_animal_list = list()
+ if(!GLOB.snpc_list)
+ GLOB.snpc_list = list()
/datum/controller/process/npcai/statProcess()
..()
- stat(null, "[simple_animal_list.len] simple animals")
- stat(null, "[snpc_list.len] SNPC's")
+ stat(null, "[GLOB.simple_animal_list.len] simple animals")
+ stat(null, "[GLOB.snpc_list.len] SNPC's")
/datum/controller/process/npcai/doWork()
- for(last_object in simple_animal_list)
+ for(last_object in GLOB.simple_animal_list)
var/mob/living/simple_animal/M = last_object
if(istype(M) && !QDELETED(M))
if(!M.client && M.stat == CONSCIOUS)
@@ -33,7 +33,7 @@ var/global/datum/controller/process/npcai/npcai_master
SCHECK
else
catchBadType(M)
- simple_animal_list -= M
+ GLOB.simple_animal_list -= M
current_cycle++
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index 1919df19ae6..17f8fcd3865 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -22,6 +22,7 @@
var/log_hrefs = 0 // logs all links clicked in-game. Could be used for debugging and tracking down exploits
var/sql_enabled = 0 // for sql switching
var/allow_admin_ooccolor = 0 // Allows admins with relevant permissions to have their own ooc colour
+ var/pregame_timestart = 240 // Time it takes for the server to start the game
var/allow_vote_restart = 0 // allow votes to restart
var/allow_vote_mode = 0 // allow votes to change mode
var/vote_delay = 6000 // minimum time between voting sessions (deciseconds, 10 minute default)
@@ -333,6 +334,9 @@
if("allow_admin_ooccolor")
config.allow_admin_ooccolor = 1
+ if("pregame_timestart")
+ config.pregame_timestart = text2num(value)
+
if("allow_vote_restart")
config.allow_vote_restart = 1
diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm
index 923dece3c6b..1d597f5e742 100644
--- a/code/controllers/failsafe.dm
+++ b/code/controllers/failsafe.dm
@@ -54,20 +54,20 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
message_admins("Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5 - defcon) * processing_interval] ticks. ")
--defcon
if(2)
- to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5 - defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks. ")
+ to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5 - defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks. ")
--defcon
if(1)
- to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5 - defcon) * processing_interval] ticks. Killing and restarting... ")
+ to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5 - defcon) * processing_interval] ticks. Killing and restarting... ")
--defcon
var/rtn = Recreate_MC()
if(rtn > 0)
defcon = 4
master_iteration = 0
- to_chat(admins, "MC restarted successfully ")
+ to_chat(GLOB.admins, "MC restarted successfully ")
else if(rtn < 0)
log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0")
- to_chat(admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying. ")
+ to_chat(GLOB.admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying. ")
//if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again
//no need to handle that specially when defcon 0 can handle it
if(0) //DEFCON 0! (mc failed to restart)
@@ -75,7 +75,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
if(rtn > 0)
defcon = 4
master_iteration = 0
- to_chat(admins, "MC restarted successfully ")
+ to_chat(GLOB.admins, "MC restarted successfully ")
else
defcon = min(defcon + 1,5)
master_iteration = Master.iteration
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 9cb84f26aa5..a9c7e0dbb7b 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -149,7 +149,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined."
BadBoy.flags |= SS_NO_FIRE
if(msg)
- to_chat(admins, "[msg] ")
+ to_chat(GLOB.admins, "[msg] ")
log_world(msg)
if(istype(Master.subsystems))
@@ -609,7 +609,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
/datum/controller/master/proc/UpdateTickRate()
if(!processing)
return
- var/client_count = length(clients)
+ var/client_count = length(GLOB.clients)
if(client_count < config.disable_high_pop_mc_mode_amount)
processing = config.base_mc_tick_rate
else if(client_count > config.high_pop_mc_mode_amount)
diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm
index 986467fc74a..6c394309a09 100644
--- a/code/controllers/subsystem/air.dm
+++ b/code/controllers/subsystem/air.dm
@@ -66,8 +66,8 @@ SUBSYSTEM_DEF(air)
/datum/controller/subsystem/air/Initialize(timeofday)
setup_overlays() // Assign icons and such for gas-turf-overlays
setup_allturfs()
- setup_atmos_machinery(machines)
- setup_pipenets(machines)
+ setup_atmos_machinery(GLOB.machines)
+ setup_pipenets(GLOB.machines)
..()
diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm
index 54adebf5125..a0b2d49d958 100644
--- a/code/controllers/subsystem/atoms.dm
+++ b/code/controllers/subsystem/atoms.dm
@@ -11,7 +11,6 @@ SUBSYSTEM_DEF(atoms)
var/old_initialized
var/list/late_loaders
- var/list/created_atoms
var/list/BadInitializeCalls = list()
@@ -39,13 +38,11 @@ SUBSYSTEM_DEF(atoms)
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 && !A.initialized)
- if(InitAtom(I, mapload_arg))
- atoms -= I
+ InitAtom(I, mapload_arg)
CHECK_TICK
else
count = 0
@@ -78,10 +75,6 @@ SUBSYSTEM_DEF(atoms)
log_debug(" Late initialized [late_loaders.len] atoms in [stop_watch(watch)]s")
late_loaders.Cut()
- 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))
diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm
index 97dd02838d0..457ea9513ab 100644
--- a/code/controllers/subsystem/garbage.dm
+++ b/code/controllers/subsystem/garbage.dm
@@ -59,7 +59,6 @@ SUBSYSTEM_DEF(garbage)
msg += " | Fail:[fail_counts.Join(",")]"
..(msg)
-
/datum/controller/subsystem/garbage/Shutdown()
//Adds the del() log to the qdel log file
var/list/dellog = list()
@@ -86,41 +85,21 @@ SUBSYSTEM_DEF(garbage)
/datum/controller/subsystem/garbage/fire()
//the fact that this resets its processing each fire (rather then resume where it left off) is intentional.
- var/queue = GC_QUEUE_PREQUEUE
+ var/queue = GC_QUEUE_CHECK
while(state == SS_RUNNING)
switch(queue)
- if(GC_QUEUE_PREQUEUE)
- HandlePreQueue()
- queue = GC_QUEUE_PREQUEUE + 1
if(GC_QUEUE_CHECK)
HandleQueue(GC_QUEUE_CHECK)
queue = GC_QUEUE_CHECK + 1
if(GC_QUEUE_HARDDELETE)
HandleQueue(GC_QUEUE_HARDDELETE)
+ if(state == SS_PAUSED) //make us wait again before the next run.
+ state = SS_RUNNING
break
- if(state == SS_PAUSED) //make us wait again before the next run.
- state = SS_RUNNING
-//If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond.
-//Don't attempt to optimize, not worth the effort.
-/datum/controller/subsystem/garbage/proc/HandlePreQueue()
- var/list/tobequeued = queues[GC_QUEUE_PREQUEUE]
- var/static/count = 0
- if(count)
- var/c = count
- count = 0 //so if we runtime on the Cut, we don't try again.
- tobequeued.Cut(1, c + 1)
- for(var/ref in tobequeued)
- count++
- Queue(ref, GC_QUEUE_PREQUEUE + 1)
- if(MC_TICK_CHECK)
- break
- if(count)
- tobequeued.Cut(1, count + 1)
- count = 0
/datum/controller/subsystem/garbage/proc/HandleQueue(level = GC_QUEUE_CHECK)
if(level == GC_QUEUE_CHECK)
@@ -142,7 +121,7 @@ SUBSYSTEM_DEF(garbage)
if(!refID)
count++
if(MC_TICK_CHECK)
- break
+ return
continue
var/GCd_at_time = queue[refID]
@@ -161,7 +140,7 @@ SUBSYSTEM_DEF(garbage)
reference_find_on_fail -= refID //It's deleted we don't care anymore.
#endif
if(MC_TICK_CHECK)
- break
+ return
continue
// Something's still referring to the qdel'd object.
@@ -184,27 +163,20 @@ SUBSYSTEM_DEF(garbage)
if(GC_QUEUE_HARDDELETE)
HardDelete(D)
if(MC_TICK_CHECK)
- break
+ return
continue
Queue(D, level + 1)
if(MC_TICK_CHECK)
- break
+ return
if(count)
queue.Cut(1, count + 1)
count = 0
-/datum/controller/subsystem/garbage/proc/PreQueue(datum/D)
- if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
- queues[GC_QUEUE_PREQUEUE] += D
- D.gc_destroyed = GC_QUEUED_FOR_QUEUING
-
/datum/controller/subsystem/garbage/proc/Queue(datum/D, level = GC_QUEUE_CHECK)
if(isnull(D))
return
- if(D.gc_destroyed == GC_QUEUED_FOR_HARD_DEL)
- level = GC_QUEUE_HARDDELETE
if(level > GC_QUEUE_COUNT)
HardDelete(D)
return
@@ -250,11 +222,6 @@ SUBSYSTEM_DEF(garbage)
message_admins("Error: [type]([refID]) took longer than 1 second to delete (took [time / 10] seconds to delete).")
postpone(time)
-/datum/controller/subsystem/garbage/proc/HardQueue(datum/D)
- if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
- queues[GC_QUEUE_PREQUEUE] += D
- D.gc_destroyed = GC_QUEUED_FOR_HARD_DEL
-
/datum/controller/subsystem/garbage/Recover()
if(istype(SSgarbage.queues))
for(var/i in 1 to SSgarbage.queues.len)
@@ -294,11 +261,13 @@ SUBSYSTEM_DEF(garbage)
if(isnull(D.gc_destroyed))
- D.SendSignal(COMSIG_PARENT_QDELETED)
+ if(SEND_SIGNAL(D, COMSIG_PARENT_QDELETED, force)) // Give the components a chance to prevent their parent from being deleted
+ return
D.gc_destroyed = GC_CURRENTLY_BEING_QDELETED
var/start_time = world.time
var/start_tick = world.tick_usage
var/hint = D.Destroy(arglist(args.Copy(2))) // Let our friend know they're about to get fucked up.
+ SEND_SIGNAL(D, COMSIG_PARENT_QDELETED, force, hint) // Let the (remaining) components know about the result of Destroy
if(world.time != start_time)
I.slept_destroy++
else
@@ -307,7 +276,7 @@ SUBSYSTEM_DEF(garbage)
return
switch(hint)
if(QDEL_HINT_QUEUE) //qdel should queue the object for deletion.
- SSgarbage.PreQueue(D)
+ SSgarbage.Queue(D)
if(QDEL_HINT_IWILLGC)
D.gc_destroyed = world.time
return
@@ -327,18 +296,18 @@ SUBSYSTEM_DEF(garbage)
#endif
I.no_respect_force++
- SSgarbage.PreQueue(D)
- if(QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete using a hard reference to save time from the locate()
- SSgarbage.HardQueue(D)
+ SSgarbage.Queue(D)
+ if(QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete
+ SSgarbage.Queue(D, GC_QUEUE_HARDDELETE)
if(QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste.
SSgarbage.HardDelete(D)
if(QDEL_HINT_FINDREFERENCE)//qdel will, if TESTING is enabled, display all references to this object, then queue the object for deletion.
- SSgarbage.PreQueue(D)
+ SSgarbage.Queue(D)
#ifdef TESTING
D.find_references()
#endif
if(QDEL_HINT_IFFAIL_FINDREFERENCE)
- SSgarbage.PreQueue(D)
+ SSgarbage.Queue(D)
#ifdef TESTING
SSgarbage.reference_find_on_fail["\ref[D]"] = TRUE
#endif
@@ -348,7 +317,7 @@ SUBSYSTEM_DEF(garbage)
testing("WARNING: [D.type] is not returning a qdel hint. It is being placed in the queue. Further instances of this type will also be queued.")
#endif
I.no_hint++
- SSgarbage.PreQueue(D)
+ SSgarbage.Queue(D)
else if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
CRASH("[D.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic")
@@ -463,4 +432,4 @@ SUBSYSTEM_DEF(garbage)
CHECK_TICK
#endif
-#endif
+#endif
\ No newline at end of file
diff --git a/code/controllers/subsystem/icon_smooth.dm b/code/controllers/subsystem/icon_smooth.dm
new file mode 100644
index 00000000000..65260e5af55
--- /dev/null
+++ b/code/controllers/subsystem/icon_smooth.dm
@@ -0,0 +1,32 @@
+SUBSYSTEM_DEF(icon_smooth)
+ name = "Icon Smoothing"
+ init_order = INIT_ORDER_ICON_SMOOTHING
+ wait = 1
+ priority = FIRE_PRIOTITY_SMOOTHING
+ flags = SS_TICKER
+
+ var/list/smooth_queue = list()
+
+/datum/controller/subsystem/icon_smooth/fire()
+ while(smooth_queue.len)
+ var/atom/A = smooth_queue[smooth_queue.len]
+ smooth_queue.len--
+ smooth_icon(A)
+ if(MC_TICK_CHECK)
+ return
+ if(!smooth_queue.len)
+ can_fire = 0
+
+/datum/controller/subsystem/icon_smooth/Initialize()
+ smooth_zlevel(1,TRUE)
+ smooth_zlevel(2,TRUE)
+ var/queue = smooth_queue
+ smooth_queue = list()
+ for(var/V in queue)
+ var/atom/A = V
+ if(!A || A.z <= 2)
+ continue
+ smooth_icon(A)
+ CHECK_TICK
+
+ ..()
diff --git a/code/controllers/subsystem/machinery.dm b/code/controllers/subsystem/machinery.dm
index a3e4d4bdb0c..af6898c39bd 100644
--- a/code/controllers/subsystem/machinery.dm
+++ b/code/controllers/subsystem/machinery.dm
@@ -67,7 +67,7 @@ SUBSYSTEM_DEF(machines)
/datum/controller/subsystem/machines/proc/process_premachines(resumed = 0)
/* Literally exists as snowflake for fucking powersinks goddamnit */
if(!resumed)
- src.currentrun = processing_power_items.Copy()
+ src.currentrun = GLOB.processing_power_items.Copy()
//cache for sanid speed (lists are references anyways)
var/list/currentrun = src.currentrun
while(currentrun.len)
@@ -75,9 +75,9 @@ SUBSYSTEM_DEF(machines)
currentrun.len--
if(!QDELETED(I))
if(!I.pwr_drain())
- processing_power_items.Remove(I)
+ GLOB.processing_power_items.Remove(I)
else
- processing_power_items.Remove(I)
+ GLOB.processing_power_items.Remove(I)
if(MC_TICK_CHECK)
return
diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm
index 03989d24af2..d19396af767 100644
--- a/code/controllers/subsystem/mobs.dm
+++ b/code/controllers/subsystem/mobs.dm
@@ -7,12 +7,12 @@ SUBSYSTEM_DEF(mobs)
var/list/currentrun = list()
/datum/controller/subsystem/mobs/stat_entry()
- ..("P:[mob_list.len]")
+ ..("P:[GLOB.mob_list.len]")
/datum/controller/subsystem/mobs/fire(resumed = 0)
var/seconds = wait * 0.1
if(!resumed)
- src.currentrun = mob_list.Copy()
+ src.currentrun = GLOB.mob_list.Copy()
//cache for sanic speed (lists are references anyways)
var/list/currentrun = src.currentrun
@@ -23,6 +23,6 @@ SUBSYSTEM_DEF(mobs)
if(M)
M.Life(seconds, times_fired)
else
- mob_list.Remove(M)
+ GLOB.mob_list.Remove(M)
if(MC_TICK_CHECK)
return
\ No newline at end of file
diff --git a/code/controllers/subsystem/nightshift.dm b/code/controllers/subsystem/nightshift.dm
index 813cfd5012a..358076c5652 100644
--- a/code/controllers/subsystem/nightshift.dm
+++ b/code/controllers/subsystem/nightshift.dm
@@ -54,7 +54,7 @@ SUBSYSTEM_DEF(nightshift)
announce("Good evening, crew. To reduce power consumption and stimulate the circadian rhythms of some species, all of the lights aboard the station have been dimmed for the night.")
else
announce("Good morning, crew. As it is now day time, all of the lights aboard the station have been restored to their former brightness.")
- for(var/A in apcs)
+ for(var/A in GLOB.apcs)
var/obj/machinery/power/apc/APC = A
if(is_station_level(APC.z))
APC.set_nightshift(active)
diff --git a/code/controllers/subsystem/overlays.dm b/code/controllers/subsystem/overlays.dm
new file mode 100644
index 00000000000..c35f1adee65
--- /dev/null
+++ b/code/controllers/subsystem/overlays.dm
@@ -0,0 +1,212 @@
+SUBSYSTEM_DEF(overlays)
+ name = "Overlay"
+ flags = SS_TICKER
+ wait = 1
+ priority = FIRE_PRIORITY_OVERLAYS
+ init_order = INIT_ORDER_OVERLAY
+
+ var/list/queue
+ var/list/stats
+ var/list/overlay_icon_state_caches
+ var/list/overlay_icon_cache
+
+/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)
+ return ..()
+
+
+/datum/controller/subsystem/overlays/stat_entry()
+ ..("Ov:[length(queue)]")
+
+/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)
+ var/atom/A = thing
+ COMPILE_OVERLAYS(A)
+ 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()
+ 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()
+ 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()
+ 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_2 & OVERLAY_QUEUED_2)
+ 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_2 & OVERLAY_QUEUED_2))
+#define QUEUE_FOR_COMPILE flags_2 |= OVERLAY_QUEUED_2; SSoverlays.queue += src;
+/atom/proc/cut_overlays(priority = FALSE)
+ LAZYINITLIST(priority_overlays)
+ LAZYINITLIST(remove_overlays)
+ LAZYINITLIST(add_overlays)
+ remove_overlays = overlays.Copy()
+ add_overlays.Cut()
+
+ if(priority)
+ priority_overlays.Cut()
+
+ //If not already queued for work and there are overlays to remove
+ if(NOT_QUEUED_ALREADY && remove_overlays.len)
+ QUEUE_FOR_COMPILE
+
+/atom/proc/cut_overlay(list/overlays, priority)
+ if(!overlays)
+ return
+ overlays = build_appearance_list(overlays)
+ LAZYINITLIST(add_overlays) //always initialized after this point
+ LAZYINITLIST(priority_overlays)
+ LAZYINITLIST(remove_overlays)
+ var/a_len = add_overlays.len
+ var/r_len = remove_overlays.len
+ var/p_len = priority_overlays.len
+ remove_overlays += overlays
+ add_overlays -= overlays
+
+ if(priority)
+ var/list/cached_priority = priority_overlays
+ LAZYREMOVE(cached_priority, overlays)
+
+ var/fa_len = add_overlays.len
+ var/fr_len = remove_overlays.len
+ var/fp_len = priority_overlays.len
+
+ //If not already queued and there is work to be done
+ if(NOT_QUEUED_ALREADY && (fa_len != a_len || fr_len != r_len || fp_len != p_len))
+ QUEUE_FOR_COMPILE
+
+/atom/proc/add_overlay(list/overlays, priority = FALSE)
+ if(!overlays)
+ return
+
+ overlays = build_appearance_list(overlays)
+
+ LAZYINITLIST(add_overlays) //always initialized after this point
+ LAZYINITLIST(priority_overlays)
+ var/a_len = add_overlays.len
+ var/p_len = priority_overlays.len
+
+ if(priority)
+ priority_overlays += overlays //or in the image. Can we use [image] = image?
+ var/fp_len = priority_overlays.len
+ if(NOT_QUEUED_ALREADY && fp_len != p_len)
+ QUEUE_FOR_COMPILE
+ else
+ add_overlays += overlays
+ var/fa_len = add_overlays.len
+ if(NOT_QUEUED_ALREADY && fa_len != a_len)
+ QUEUE_FOR_COMPILE
+
+/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.overlays.Copy()
+ if(cached_other)
+ if(cut_old || !LAZYLEN(overlays))
+ remove_overlays = overlays
+ add_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.overlays.Copy()
+ if(cached_other)
+ if(cut_old || !overlays.len)
+ overlays = cached_other
+ else
+ overlays |= cached_other
+ else if(cut_old)
+ cut_overlays()
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index a50ceaca56a..64ae30f2952 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -180,7 +180,7 @@ SUBSYSTEM_DEF(shuttle)
/datum/controller/subsystem/shuttle/proc/autoEvac()
var/callShuttle = 1
- for(var/thing in shuttle_caller_list)
+ for(var/thing in GLOB.shuttle_caller_list)
if(istype(thing, /mob/living/silicon/ai))
var/mob/living/silicon/ai/AI = thing
if(AI.stat || !AI.client)
diff --git a/code/controllers/subsystem/tickets.dm b/code/controllers/subsystem/tickets.dm
index a3fd41b50eb..41eef735cda 100644
--- a/code/controllers/subsystem/tickets.dm
+++ b/code/controllers/subsystem/tickets.dm
@@ -35,7 +35,7 @@ SUBSYSTEM_DEF(tickets)
message_adminTicket("Tickets [report] have been open for over [ADMIN_TICKET_TIMEOUT / 600] minutes. Changing status to stale. ")
/datum/controller/subsystem/tickets/stat_entry()
- ..("Tickets: [allTickets.len]")
+ ..("Tickets: [LAZYLEN(allTickets)]")
/datum/controller/subsystem/tickets/proc/checkStaleness()
var/stales = list()
diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm
index e2539ebdf06..3e7285a79bf 100644
--- a/code/controllers/subsystem/timer.dm
+++ b/code/controllers/subsystem/timer.dm
@@ -1,5 +1,5 @@
#define BUCKET_LEN (world.fps*1*60) //how many ticks should we keep in the bucket. (1 minutes worth)
-#define BUCKET_POS(timer) ((round((timer.timeToRun - SStimer.head_offset) / world.tick_lag) % BUCKET_LEN)||BUCKET_LEN)
+#define BUCKET_POS(timer) (((round((timer.timeToRun - SStimer.head_offset) / world.tick_lag)+1) % BUCKET_LEN)||BUCKET_LEN)
#define TIMER_MAX (world.time + TICKS2DS(min(BUCKET_LEN-(SStimer.practical_offset-DS2TICKS(world.time - SStimer.head_offset))-1, BUCKET_LEN-1)))
#define TIMER_ID_MAX (2**24) //max float with integer precision
@@ -10,7 +10,7 @@ SUBSYSTEM_DEF(timer)
flags = SS_TICKER|SS_NO_INIT
- var/list/second_queue = list() //awe, yes, you've had first queue, but what about second queue? Contains: /datum/timedevent
+ var/list/second_queue = list() //awe, yes, you've had first queue, but what about second queue?
var/list/hashes = list()
var/head_offset = 0 //world.time of the first entry in the the bucket.
@@ -38,15 +38,15 @@ SUBSYSTEM_DEF(timer)
/datum/controller/subsystem/timer/fire(resumed = FALSE)
var/lit = last_invoke_tick
- var/last_check = world.time - TIMER_NO_INVOKE_WARNING
+ var/last_check = world.time - TICKS2DS(BUCKET_LEN*1.5)
var/list/bucket_list = src.bucket_list
if(!bucket_count)
last_invoke_tick = world.time
- if(lit && lit < last_check && last_invoke_warning < last_check)
+ if(lit && lit < last_check && head_offset < last_check && last_invoke_warning < last_check)
last_invoke_warning = world.time
- var/msg = "No regular timers processed in the last [TIMER_NO_INVOKE_WARNING] ticks[bucket_auto_reset ? ", resetting buckets" : ""]!"
+ var/msg = "No regular timers processed in the last [BUCKET_LEN*1.5] ticks[bucket_auto_reset ? ", resetting buckets" : ""]!"
message_admins(msg)
WARNING(msg)
if(bucket_auto_reset)
@@ -122,7 +122,7 @@ SUBSYSTEM_DEF(timer)
if(!resumed)
timer = null
- while(practical_offset <= BUCKET_LEN && head_offset + (practical_offset*world.tick_lag) <= world.time)
+ while(practical_offset <= BUCKET_LEN && head_offset + ((practical_offset-1)*world.tick_lag) <= world.time)
var/datum/timedevent/head = bucket_list[practical_offset]
if(!timer || !head || timer == head)
head = bucket_list[practical_offset]
@@ -170,7 +170,7 @@ SUBSYSTEM_DEF(timer)
qdel(timer)
continue
- if(timer.timeToRun < head_offset + TICKS2DS(practical_offset))
+ if(timer.timeToRun < head_offset + TICKS2DS(practical_offset-1))
bucket_resolution = null //force bucket recreation
CRASH("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
if(timer.callBack && !timer.spent)
@@ -521,4 +521,4 @@ SUBSYSTEM_DEF(timer)
#undef BUCKET_LEN
#undef BUCKET_POS
#undef TIMER_MAX
-#undef TIMER_ID_MAX
\ No newline at end of file
+#undef TIMER_ID_MAX
diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm
index 4f5798e4ae4..3619fca430f 100644
--- a/code/controllers/subsystem/weather.dm
+++ b/code/controllers/subsystem/weather.dm
@@ -19,7 +19,7 @@ SUBSYSTEM_DEF(weather)
var/datum/weather/W = V
if(W.aesthetic || W.stage != MAIN_STAGE)
continue
- for(var/i in living_mob_list)
+ for(var/i in GLOB.living_mob_list)
var/mob/living/L = i
if(W.can_weather_act(L))
W.weather_act(L)
diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm
index a8890186bae..e7ee6f743ca 100644
--- a/code/controllers/voting.dm
+++ b/code/controllers/voting.dm
@@ -95,7 +95,7 @@ var/global/list/round_voters = list() //Keeps track of the individuals voting fo
choices = sorted_choices
//default-vote for everyone who didn't vote
if(!config.vote_no_default && choices.len)
- var/non_voters = (clients.len - total_votes)
+ var/non_voters = (GLOB.clients.len - total_votes)
if(non_voters > 0)
if(mode == "restart")
choices["Continue Playing"] += non_voters
diff --git a/code/datums/cache/air_alarm.dm b/code/datums/cache/air_alarm.dm
index 5f34997c95f..a4b3ee21c56 100644
--- a/code/datums/cache/air_alarm.dm
+++ b/code/datums/cache/air_alarm.dm
@@ -16,7 +16,7 @@ var/global/datum/repository/air_alarm/air_alarm_repository = new()
if(is_station_contact(passed_alarm.z)) // Still need sanity checks
alarms[++alarms.len] = passed_alarm.get_nano_data_console()
else
- for(var/obj/machinery/alarm/alarm in (monitored_alarms ? monitored_alarms : air_alarms)) // Generating the whole list again is a bad habit but I can't be bothered to fix it right now
+ for(var/obj/machinery/alarm/alarm in (monitored_alarms ? monitored_alarms : GLOB.air_alarms)) // Generating the whole list again is a bad habit but I can't be bothered to fix it right now
if(!monitored_alarms && !is_station_contact(alarm.z))
continue
alarms[++alarms.len] = alarm.get_nano_data_console()
diff --git a/code/datums/cache/crew.dm b/code/datums/cache/crew.dm
index 2912b8c6753..b30b5c57889 100644
--- a/code/datums/cache/crew.dm
+++ b/code/datums/cache/crew.dm
@@ -59,7 +59,7 @@ var/global/datum/repository/crew/crew_repository = new()
/datum/repository/crew/proc/scan()
var/list/tracked = list()
- for(var/mob/living/carbon/human/H in mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(istype(H.w_uniform, /obj/item/clothing/under))
var/obj/item/clothing/under/C = H.w_uniform
if(C.has_sensor)
diff --git a/code/datums/cache/powermonitor.dm b/code/datums/cache/powermonitor.dm
index e269ddc8afe..5867aa5b904 100644
--- a/code/datums/cache/powermonitor.dm
+++ b/code/datums/cache/powermonitor.dm
@@ -11,7 +11,7 @@ var/global/datum/repository/powermonitor/powermonitor_repository = new()
if(!refresh)
return cache_entry.data
- for(var/obj/machinery/computer/monitor/pMon in power_monitors)
+ for(var/obj/machinery/computer/monitor/pMon in GLOB.power_monitors)
if( !(pMon.stat & (NOPOWER|BROKEN)) )
pMonData[++pMonData.len] = list ("Name" = pMon.name, "ref" = "\ref[pMon]")
diff --git a/code/datums/components/README.md b/code/datums/components/README.md
index ee156e45525..4eecdce18ca 100644
--- a/code/datums/components/README.md
+++ b/code/datums/components/README.md
@@ -2,7 +2,7 @@
## Concept
-Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a `SendSignal()` call. Now every component that want's to can also know about this happening.
+Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a `SEND_SIGNAL` call. Now every component that want's to can also know about this happening.
### In the code
@@ -28,6 +28,7 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
1. `COMPONENT_INCOMPATIBLE` Return this from `/datum/component/Initialize` or `datum/component/OnTransfer` to have the component be deleted if it's applied to an incorrect type. `parent` must not be modified if this is to be returned.
+
### Vars
1. `/datum/var/list/datum_components` (private)
@@ -61,6 +62,11 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
* Returns a reference to a component whose type MATCHES component_type if that component exists in the datum, null otherwise
1. `GET_COMPONENT(varname, component_type)` OR `GET_COMPONENT_FROM(varname, component_type, src)`
* Shorthand for `var/component_type/varname = src.GetComponent(component_type)`
+1. `SEND_SIGNAL(target, sigtype, ...)` (public, final)
+ * Use to send signals to target datum
+ * Extra arguments are to be specified in the signal definition
+ * Returns a bitflag with signal specific information assembled from all activated components
+ * Arguments are packaged in a list and handed off to _SendSignal()
1. `/datum/proc/AddComponent(component_type(type), ...) -> datum/component` (public, final)
* Creates an instance of `component_type` in the datum and passes `...` to its `Initialize()` call
* Sends the `COMSIG_COMPONENT_ADDED` signal to the datum
@@ -77,10 +83,9 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
* Properly transfers ownership of a component from one datum to another
* Signals `COMSIG_COMPONENT_REMOVING` on the parent
* Called on the datum you want to own the component with another datum's component
-1. `/datum/proc/SendSignal(signal, ...)` (public, final)
- * Call to send a signal to the components of the target datum
- * Extra arguments are to be specified in the signal definition
- * Returns a bitflag with signal specific information assembled from all activated components
+1. `/datum/proc/_SendSignal(signal, list/arguments)` (private, final)
+ * Handles most of the actual signaling procedure
+ * Will runtime if used on datums with an empty component list
1. `/datum/component/New(datum/parent, ...)` (private, final)
* Runs internal setup for the component
* Extra arguments are passed to `Initialize()`
@@ -108,13 +113,13 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo
* Clears `parent` and removes the component from it's component list
1. `/datum/component/proc/_JoinParent` (private, final)
* Tries to add the component to it's `parent`s `datum_components` list
-1. `/datum/component/proc/RegisterSignal(signal(string/list of strings), proc_ref(type), override(boolean))` (protected, final) (Consider removing for performance gainz)
+1. `/datum/component/proc/RegisterSignal(datum/target, signal(string/list of strings), proc_ref(type), override(boolean))` (protected, final)
* If signal is a list it will be as if RegisterSignal was called for each of the entries with the same following arguments
* Makes a component listen for the specified `signal` on it's `parent` datum.
* When that signal is recieved `proc_ref` will be called on the component, along with associated arguments
* Example proc ref: `.proc/OnEvent`
* If a previous registration is overwritten by the call, a runtime occurs. Setting `override` to TRUE prevents this
* These callbacks run asyncronously
- * Returning `TRUE` from these callbacks will trigger a `TRUE` return from the `SendSignal()` that initiated it
+ * Returning `TRUE` from these callbacks will trigger a `TRUE` return from the `_SendSignal()` that initiated it
### See/Define signals and their arguments in __DEFINES\components.dm
diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm
index 775a8667b3f..7621828d970 100644
--- a/code/datums/components/_component.dm
+++ b/code/datums/components/_component.dm
@@ -56,9 +56,10 @@
if(!force)
_RemoveFromParent()
if(!silent)
- P.SendSignal(COMSIG_COMPONENT_REMOVING, src)
+ SEND_SIGNAL(P, COMSIG_COMPONENT_REMOVING, src)
parent = null
- LAZYCLEARLIST(signal_procs)
+ for(var/target in signal_procs)
+ UnregisterSignal(target, signal_procs[target])
return ..()
/datum/component/proc/_RemoveFromParent()
@@ -77,26 +78,67 @@
if(!dc.len)
P.datum_components = null
-/datum/component/proc/RegisterSignal(sig_type_or_types, proc_or_callback, override = FALSE)
- if(QDELETED(src))
+/datum/component/proc/RegisterSignal(datum/target, sig_type_or_types, proc_or_callback, override = FALSE)
+ if(QDELETED(src) || QDELETED(target))
return
+
var/list/procs = signal_procs
if(!procs)
- procs = list()
- signal_procs = procs
+ signal_procs = procs = list()
+ if(!procs[target])
+ procs[target] = list()
+ var/list/lookup = target.comp_lookup
+ if(!lookup)
+ target.comp_lookup = lookup = list()
+
+ if(!istype(proc_or_callback, /datum/callback)) //if it wasnt a callback before, it is now
+ proc_or_callback = CALLBACK(src, proc_or_callback)
var/list/sig_types = islist(sig_type_or_types) ? sig_type_or_types : list(sig_type_or_types)
for(var/sig_type in sig_types)
- if(!override)
- . = procs[sig_type]
- if(.)
- stack_trace("[sig_type] overridden. Use override = TRUE to suppress this warning")
+ if(!override && procs[target][sig_type])
+ stack_trace("[sig_type] overridden. Use override = TRUE to suppress this warning")
- if(!istype(proc_or_callback, /datum/callback)) //if it wasnt a callback before, it is now
- proc_or_callback = CALLBACK(src, proc_or_callback)
- procs[sig_type] = proc_or_callback
+ procs[target][sig_type] = proc_or_callback
+ if(!lookup[sig_type]) // Nothing has registered here yet
+ lookup[sig_type] = src
+ else if(lookup[sig_type] == src) // We already registered here
+ continue
+ else if(!length(lookup[sig_type])) // One other thing registered here
+ lookup[sig_type] = list(lookup[sig_type]=TRUE)
+ lookup[sig_type][src] = TRUE
+ else // Many other things have registered here
+ lookup[sig_type][src] = TRUE
enabled = TRUE
+/datum/component/proc/UnregisterSignal(datum/target, sig_type_or_types)
+ var/list/lookup = target.comp_lookup
+ if(!signal_procs || !signal_procs[target] || !lookup)
+ return
+ if(!islist(sig_type_or_types))
+ sig_type_or_types = list(sig_type_or_types)
+ for(var/sig in sig_type_or_types)
+ switch(length(lookup[sig]))
+ if(2)
+ lookup[sig] = (lookup[sig]-src)[1]
+ if(1)
+ stack_trace("[target] ([target.type]) somehow has single length list inside comp_lookup")
+ if(src in lookup[sig])
+ lookup -= sig
+ if(!length(lookup))
+ target.comp_lookup = null
+ break
+ if(0)
+ lookup -= sig
+ if(!length(lookup))
+ target.comp_lookup = null
+ break
+ else
+ lookup[sig] -= src
+
+ signal_procs[target] -= sig_type_or_types
+ if(length(signal_procs[target]))
+ signal_procs -= target
/datum/component/proc/InheritComponent(datum/component/C, i_am_original)
return
@@ -121,28 +163,20 @@
current_type = type2parent(current_type)
. += current_type
-/datum/proc/SendSignal(sigtype, ...)
- var/list/comps = datum_components
- if(!comps)
- return NONE
- var/list/arguments = args.Copy(2)
- var/target = comps[/datum/component]
+/datum/proc/_SendSignal(sigtype, list/arguments)
+ var/target = comp_lookup[sigtype]
if(!length(target))
var/datum/component/C = target
if(!C.enabled)
return NONE
- var/datum/callback/CB = C.signal_procs[sigtype]
- if(!CB)
- return NONE
+ var/datum/callback/CB = C.signal_procs[src][sigtype]
return CB.InvokeAsync(arglist(arguments))
. = NONE
for(var/I in target)
var/datum/component/C = I
if(!C.enabled)
continue
- var/datum/callback/CB = C.signal_procs[sigtype]
- if(!CB)
- continue
+ var/datum/callback/CB = C.signal_procs[src][sigtype]
. |= CB.InvokeAsync(arglist(arguments))
/datum/proc/GetComponent(c_type)
@@ -224,7 +258,7 @@
new_comp = new nt(arglist(args)) // Dupes are allowed, act like normal
if(!old_comp && !QDELETED(new_comp)) // Nothing related to duplicate components happened and the new component is healthy
- SendSignal(COMSIG_COMPONENT_ADDED, new_comp)
+ SEND_SIGNAL(src, COMSIG_COMPONENT_ADDED, new_comp)
return new_comp
return old_comp
@@ -244,7 +278,7 @@
qdel(C)
return
C._RemoveFromParent()
- helicopter.SendSignal(COMSIG_COMPONENT_REMOVING, C)
+ SEND_SIGNAL(helicopter, COMSIG_COMPONENT_REMOVING, C)
C.parent = src
if(C == AddComponent(C))
C._JoinParent()
diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index f08181cb5f4..4ae7d08f3ea 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -30,8 +30,8 @@
precondition = _precondition
after_insert = _after_insert
- RegisterSignal(COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy)
- RegisterSignal(COMSIG_PARENT_EXAMINE, .proc/OnExamine)
+ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy)
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine)
var/list/possible_mats = list()
for(var/mat_type in subtypesof(/datum/material))
@@ -42,14 +42,14 @@
var/mat_path = possible_mats[id]
materials[id] = new mat_path()
-/datum/component/material_container/proc/OnExamine(mob/user)
+/datum/component/material_container/proc/OnExamine(datum/source, mob/user)
for(var/I in materials)
var/datum/material/M = materials[I]
var/amt = amount(M.id)
if(amt)
to_chat(user, "It has [amt] units of [lowertext(M.name)] stored. ")
-/datum/component/material_container/proc/OnAttackBy(obj/item/I, mob/living/user)
+/datum/component/material_container/proc/OnAttackBy(datum/source, obj/item/I, mob/living/user)
var/list/tc = allowed_typecache
if(user.a_intent != INTENT_HELP)
return
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index 4fc2522ce65..d489a559b38 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -40,7 +40,7 @@
var/real_rank = t.fields["real_rank"]
if(OOC)
var/active = 0
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.real_name == name && M.client && M.client.inactivity <= 10 * 60 * 10)
active = 1
break
@@ -222,7 +222,7 @@ var/global/list/PDA_Manifest = list()
/datum/datacore/proc/manifest()
- for(var/mob/living/carbon/human/H in player_list)
+ for(var/mob/living/carbon/human/H in GLOB.player_list)
manifest_inject(H)
/datum/datacore/proc/manifest_modify(name, assignment)
@@ -358,7 +358,7 @@ var/record_id_num = 1001
preview_icon.Blend(temp, ICON_OVERLAY)
var/head = "head"
if(head_organ.alt_head && head_organ.dna.species.bodyflags & HAS_ALT_HEADS)
- var/datum/sprite_accessory/alt_heads/alternate_head = alt_heads_list[head_organ.alt_head]
+ var/datum/sprite_accessory/alt_heads/alternate_head = GLOB.alt_heads_list[head_organ.alt_head]
if(alternate_head.icon_state)
head = alternate_head.icon_state
temp = new /icon(icobase, "[head]_[g]")
@@ -390,7 +390,7 @@ var/record_id_num = 1001
var/icon/t_marking_s
if(H.dna.species.bodyflags & HAS_TAIL_MARKINGS)
var/tail_marking = H.m_styles["tail"]
- var/datum/sprite_accessory/tail_marking_style = marking_styles_list[tail_marking]
+ var/datum/sprite_accessory/tail_marking_style = GLOB.marking_styles_list[tail_marking]
if(tail_marking_style && tail_marking_style.species_allowed)
t_marking_s = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s")
t_marking_s.Blend(H.m_colours["tail"], ICON_ADD)
@@ -405,7 +405,7 @@ var/record_id_num = 1001
eyes_s.Blend(eyes_organ.eye_colour, ICON_ADD)
face_s.Blend(eyes_s, ICON_OVERLAY)
- var/datum/sprite_accessory/hair_style = hair_styles_full_list[head_organ.h_style]
+ var/datum/sprite_accessory/hair_style = GLOB.hair_styles_full_list[head_organ.h_style]
if(hair_style)
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
// I'll want to make a species-specific proc for this sooner or later
@@ -425,13 +425,13 @@ var/record_id_num = 1001
//Head Accessory
if(head_organ.dna.species.bodyflags & HAS_HEAD_ACCESSORY)
- var/datum/sprite_accessory/head_accessory_style = head_accessory_styles_list[head_organ.ha_style]
+ var/datum/sprite_accessory/head_accessory_style = GLOB.head_accessory_styles_list[head_organ.ha_style]
if(head_accessory_style && head_accessory_style.species_allowed)
var/icon/head_accessory_s = new/icon("icon" = head_accessory_style.icon, "icon_state" = "[head_accessory_style.icon_state]_s")
head_accessory_s.Blend(head_organ.headacc_colour, ICON_ADD)
face_s.Blend(head_accessory_s, ICON_OVERLAY)
- var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[head_organ.f_style]
+ var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hair_styles_list[head_organ.f_style]
if(facial_hair_style && 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(istype(head_organ.dna.species, /datum/species/slime))
@@ -451,14 +451,14 @@ var/record_id_num = 1001
if((H.dna.species.bodyflags & HAS_HEAD_MARKINGS) || (H.dna.species.bodyflags & HAS_BODY_MARKINGS))
if(H.dna.species.bodyflags & HAS_BODY_MARKINGS) //Body markings.
var/body_marking = H.m_styles["body"]
- var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking]
+ var/datum/sprite_accessory/body_marking_style = GLOB.marking_styles_list[body_marking]
if(body_marking_style && body_marking_style.species_allowed)
var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s")
b_marking_s.Blend(H.m_colours["body"], ICON_ADD)
face_s.Blend(b_marking_s, ICON_OVERLAY)
if(H.dna.species.bodyflags & HAS_HEAD_MARKINGS) //Head markings.
var/head_marking = H.m_styles["head"]
- var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking]
+ var/datum/sprite_accessory/head_marking_style = GLOB.marking_styles_list[head_marking]
if(head_marking_style && head_marking_style.species_allowed)
var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s")
h_marking_s.Blend(H.m_colours["head"], ICON_ADD)
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index 70c783d634e..2db8c0cad89 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -2,6 +2,7 @@
var/gc_destroyed //Time when this object was destroyed.
var/list/active_timers //for SStimer
var/list/datum_components //for /datum/components
+ var/list/comp_lookup
var/var_edited = FALSE //Warranty void if seal is broken
var/tmp/unique_datum_id = null
@@ -37,6 +38,19 @@
qdel(C, FALSE, TRUE)
dc.Cut()
+ var/list/lookup = comp_lookup
+ if(lookup)
+ for(var/sig in lookup)
+ var/list/comps = lookup[sig]
+ if(length(comps))
+ for(var/i in comps)
+ var/datum/component/comp = i
+ comp.UnregisterSignal(src, sig)
+ else
+ var/datum/component/comp = comps
+ comp.UnregisterSignal(src, sig)
+ comp_lookup = lookup = null
+
return QDEL_HINT_QUEUE
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index 656c12fa9d8..5d815472974 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -817,7 +817,7 @@
if(A.reagents)
var/chosen_id
- var/list/reagent_options = sortAssoc(chemical_reagents_list)
+ var/list/reagent_options = sortAssoc(GLOB.chemical_reagents_list)
switch(alert(usr, "Choose a method.", "Add Reagents", "Enter ID", "Choose ID"))
if("Enter ID")
var/valid_id
@@ -1033,7 +1033,7 @@
to_chat(usr, "This can only be done to instances of type /mob")
return
- var/new_language = input("Please choose a language to add.","Language",null) as null|anything in all_languages
+ var/new_language = input("Please choose a language to add.","Language",null) as null|anything in GLOB.all_languages
if(!new_language)
return
diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm
index 1bbba44f78b..160a2cce6b1 100644
--- a/code/datums/diseases/_MobProcs.dm
+++ b/code/datums/diseases/_MobProcs.dm
@@ -36,7 +36,7 @@
var/datum/disease/DD = new D.type(1, D, 0)
viruses += DD
DD.affected_mob = src
- active_diseases += DD //Add it to the active diseases list, now that it's actually in a mob and being processed.
+ GLOB.active_diseases += DD //Add it to the active diseases list, now that it's actually in a mob and being processed.
//Copy properties over. This is so edited diseases persist.
var/list/skipped = list("affected_mob","holder","carrier","stage","type","parent_type","vars","transformed")
diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm
index 9414a079e80..42cf8d07b3b 100644
--- a/code/datums/diseases/_disease.dm
+++ b/code/datums/diseases/_disease.dm
@@ -67,7 +67,7 @@ var/list/diseases = subtypesof(/datum/disease)
/datum/disease/Destroy()
affected_mob = null
- active_diseases.Remove(src)
+ GLOB.active_diseases.Remove(src)
return ..()
/datum/disease/proc/stage_act()
diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm
index 435ccad80cd..a218746ca07 100644
--- a/code/datums/diseases/advance/advance.dm
+++ b/code/datums/diseases/advance/advance.dm
@@ -251,7 +251,7 @@ var/list/advance_cures = list(
cures = list(advance_cures[res])
// Get the cure name from the cure_id
- var/datum/reagent/D = chemical_reagents_list[cures[1]]
+ var/datum/reagent/D = GLOB.chemical_reagents_list[cures[1]]
cure_text = D.name
@@ -394,10 +394,10 @@ var/list/advance_cures = list(
D.AssignName(new_name)
D.Refresh()
- for(var/datum/disease/advance/AD in active_diseases)
+ for(var/datum/disease/advance/AD in GLOB.active_diseases)
AD.Refresh()
- for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
+ for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list))
if(!is_station_level(H.z))
continue
if(!H.HasDisease(D))
diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm
index e3e50ba468f..c3095a69e08 100644
--- a/code/datums/diseases/advance/symptoms/sensory.dm
+++ b/code/datums/diseases/advance/symptoms/sensory.dm
@@ -24,35 +24,31 @@ Bonus
level = 5
severity = 0
-/datum/symptom/sensory_restoration/proc/check_and_add(reagent, check, add, mob/living/M)
- if(M.reagents.get_reagent_amount(reagent) < check)
- M.reagents.add_reagent(reagent, add)
- return 1
-
/datum/symptom/sensory_restoration/Activate(var/datum/disease/advance/A)
..()
if(prob(SYMPTOM_ACTIVATION_PROB * 3))
var/mob/living/M = A.affected_mob
+ var/datum/reagents/RD = M.reagents
switch(A.stage)
if(2)
- if(check_and_add("oculine", 10, 10, M))
+ if(RD.check_and_add("oculine", 10, 10))
to_chat(M, "Your hearing feels clearer and crisp. ")
if(3)
- if(check_and_add("antihol", 10, 10, M))
+ if(RD.check_and_add("antihol", 10, 10))
to_chat(M, "You feel sober. ")
- check_and_add("oculine", 10, 10, M)
+ RD.check_and_add("oculine", 10, 10)
if(4)
- if(check_and_add("synaphydramine", 10, 5, M))
+ if(RD.check_and_add("synaphydramine", 10, 5))
to_chat(M, "You feel focused. ")
- check_and_add("antihol", 10, 10, M)
- check_and_add("oculine", 10, 10, M)
+ RD.check_and_add("antihol", 10, 10)
+ RD.check_and_add("oculine", 10, 10)
if(5)
- if(check_and_add("mannitol", 10, 10, M))
+ if(RD.check_and_add("mannitol", 10, 10))
to_chat(M, "Your mind feels relaxed. ")
- check_and_add("synaphydramine", 10, 5, M)
- check_and_add("antihol", 10, 10, M)
- check_and_add("oculine", 10, 10, M)
+ RD.check_and_add("synaphydramine", 10, 5)
+ RD.check_and_add("antihol", 10, 10)
+ RD.check_and_add("oculine", 10, 10)
return
diff --git a/code/datums/helper_datums/construction_datum.dm b/code/datums/helper_datums/construction_datum.dm
index 127e7baa892..8cc1bdc27d8 100644
--- a/code/datums/helper_datums/construction_datum.dm
+++ b/code/datums/helper_datums/construction_datum.dm
@@ -8,168 +8,168 @@
var/list/steps_desc
var/taskpath = null // Path of job objective completed.
- New(atom)
- ..()
- holder = atom
- if(!holder) //don't want this without a holder
- spawn
- qdel(src)
+/datum/construction/New(atom)
+ ..()
+ holder = atom
+ if(!holder) //don't want this without a holder
+ spawn
+ qdel(src)
+ set_desc(steps.len)
+ return
+
+/datum/construction/proc/next_step(mob/user as mob)
+ steps.len--
+ if(!steps.len)
+ spawn_result(user)
+ else
set_desc(steps.len)
- return
+ return
- proc/next_step(mob/user as mob)
- steps.len--
- if(!steps.len)
- spawn_result(user)
+/datum/construction/proc/action(atom/used_atom,mob/user as mob)
+ return
+
+/datum/construction/proc/check_step(atom/used_atom,mob/user as mob) //check last step only
+ var/valid_step = is_right_key(used_atom)
+ if(valid_step)
+ if(custom_action(valid_step, used_atom, user))
+ next_step(user)
+ return 1
+ return 0
+
+/datum/construction/proc/is_right_key(atom/used_atom) // returns current step num if used_atom is of the right type.
+ var/list/L = steps[steps.len]
+ if(istype(used_atom, L["key"]))
+ return steps.len
+ return 0
+
+/datum/construction/proc/custom_action(step, used_atom, user)
+ if(istype(used_atom, /obj/item/weldingtool))
+ var/obj/item/weldingtool/W = used_atom
+ if(W.remove_fuel(0, user))
+ playsound(holder, W.usesound, 50, 1)
else
- set_desc(steps.len)
- return
+ return 0
+ else if(istype(used_atom, /obj/item/wrench))
+ var/obj/item/wrench/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
- proc/action(atom/used_atom,mob/user as mob)
- return
+ else if(istype(used_atom, /obj/item/screwdriver))
+ var/obj/item/screwdriver/S = used_atom
+ playsound(holder, S.usesound, 50, 1)
- proc/check_step(atom/used_atom,mob/user as mob) //check last step only
- var/valid_step = is_right_key(used_atom)
- if(valid_step)
- if(custom_action(valid_step, used_atom, user))
- next_step(user)
- return 1
- return 0
+ else if(istype(used_atom, /obj/item/wirecutters))
+ var/obj/item/wirecutters/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
- proc/is_right_key(atom/used_atom) // returns current step num if used_atom is of the right type.
- var/list/L = steps[steps.len]
+ else if(istype(used_atom, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C = used_atom
+ if(C.amount<4)
+ to_chat(user, ("There's not enough cable to finish the task. "))
+ return 0
+ else
+ C.use(4)
+ playsound(holder, C.usesound, 50, 1)
+ else if(istype(used_atom, /obj/item/stack))
+ var/obj/item/stack/S = used_atom
+ if(S.amount < 5)
+ to_chat(user, ("There's not enough material in this stack. "))
+ return 0
+ else
+ S.use(5)
+ return 1
+
+/datum/construction/proc/check_all_steps(atom/used_atom,mob/user as mob) //check all steps, remove matching one.
+ for(var/i=1;i<=steps.len;i++)
+ var/list/L = steps[i];
if(istype(used_atom, L["key"]))
- return steps.len
- return 0
+ if(custom_action(i, used_atom, user))
+ steps[i]=null;//stupid byond list from list removal...
+ listclearnulls(steps);
+ if(!steps.len)
+ spawn_result(user)
+ return 1
+ return 0
- proc/custom_action(step, used_atom, user)
- if(istype(used_atom, /obj/item/weldingtool))
- var/obj/item/weldingtool/W = used_atom
- if(W.remove_fuel(0, user))
- playsound(holder, W.usesound, 50, 1)
- else
+
+/datum/construction/proc/spawn_result(mob/user as mob)
+ if(result)
+ if(taskpath)
+ var/datum/job_objective/task = user.mind.findJobTask(taskpath)
+ if(istype(task))
+ task.unit_completed()
+
+ new result(get_turf(holder))
+ spawn()
+ qdel(holder)
+ return
+
+/datum/construction/proc/set_desc(index as num)
+ var/list/step = steps[index]
+ holder.desc = step["desc"]
+ return
+
+/datum/construction/proc/try_consume(mob/user as mob, atom/used_atom, amount)
+ if(amount > 0)
+ // CABLES
+ if(istype(used_atom,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil=used_atom
+ if(!coil.use(amount))
+ to_chat(user, "You don't have enough cable! You need at least [amount] coils. ")
return 0
- else if(istype(used_atom, /obj/item/wrench))
- var/obj/item/wrench/W = used_atom
- playsound(holder, W.usesound, 50, 1)
-
- else if(istype(used_atom, /obj/item/screwdriver))
- var/obj/item/screwdriver/S = used_atom
- playsound(holder, S.usesound, 50, 1)
-
- else if(istype(used_atom, /obj/item/wirecutters))
- var/obj/item/wirecutters/W = used_atom
- playsound(holder, W.usesound, 50, 1)
-
- else if(istype(used_atom, /obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/C = used_atom
- if(C.amount<4)
- to_chat(user, ("There's not enough cable to finish the task. "))
+ // WELDER
+ if(istype(used_atom,/obj/item/weldingtool))
+ var/obj/item/weldingtool/welder=used_atom
+ if(!welder.isOn())
+ to_chat(user, "You tap the [src] with your unlit welder. [pick("Ding","Dong")]. ")
return 0
- else
- C.use(4)
- playsound(holder, C.usesound, 50, 1)
- else if(istype(used_atom, /obj/item/stack))
- var/obj/item/stack/S = used_atom
- if(S.amount < 5)
- to_chat(user, ("There's not enough material in this stack. "))
+ if(!welder.remove_fuel(amount,user))
+ to_chat(user, "You don't have enough fuel! ")
return 0
- else
- S.use(5)
- return 1
-
- proc/check_all_steps(atom/used_atom,mob/user as mob) //check all steps, remove matching one.
- for(var/i=1;i<=steps.len;i++)
- var/list/L = steps[i];
- if(istype(used_atom, L["key"]))
- if(custom_action(i, used_atom, user))
- steps[i]=null;//stupid byond list from list removal...
- listclearnulls(steps);
- if(!steps.len)
- spawn_result(user)
- return 1
- return 0
-
-
- proc/spawn_result(mob/user as mob)
- if(result)
- if(taskpath)
- var/datum/job_objective/task = user.mind.findJobTask(taskpath)
- if(istype(task))
- task.unit_completed()
-
- new result(get_turf(holder))
- spawn()
- qdel(holder)
- return
-
- proc/set_desc(index as num)
- var/list/step = steps[index]
- holder.desc = step["desc"]
- return
-
- proc/try_consume(mob/user as mob, atom/used_atom, amount)
- if(amount > 0)
- // CABLES
- if(istype(used_atom,/obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/coil=used_atom
- if(!coil.use(amount))
- to_chat(user, "You don't have enough cable! You need at least [amount] coils. ")
- return 0
- // WELDER
- if(istype(used_atom,/obj/item/weldingtool))
- var/obj/item/weldingtool/welder=used_atom
- if(!welder.isOn())
- to_chat(user, "You tap the [src] with your unlit welder. [pick("Ding","Dong")]. ")
- return 0
- if(!welder.remove_fuel(amount,user))
- to_chat(user, "You don't have enough fuel! ")
- return 0
- // STACKS
- if(istype(used_atom,/obj/item/stack))
- var/obj/item/stack/stack=used_atom
- if(stack.amount < amount)
- to_chat(user, "You don't have enough [stack]! You need at least [amount]. ")
- return 0
- stack.use(amount)
- return 1
+ // STACKS
+ if(istype(used_atom,/obj/item/stack))
+ var/obj/item/stack/stack=used_atom
+ if(stack.amount < amount)
+ to_chat(user, "You don't have enough [stack]! You need at least [amount]. ")
+ return 0
+ stack.use(amount)
+ return 1
/datum/construction/reversible
var/index
- New(atom)
- ..()
- index = steps.len
- return
+/datum/construction/reversible/New(atom)
+ ..()
+ index = steps.len
+ return
- proc/update_index(diff as num, mob/user as mob)
- index+=diff
- if(index==0)
- spawn_result(user)
- else
- set_desc(index)
- return
+/datum/construction/reversible/proc/update_index(diff as num, mob/user as mob)
+ index+=diff
+ if(index==0)
+ spawn_result(user)
+ else
+ set_desc(index)
+ return
- is_right_key(atom/used_atom) // returns index step
- var/list/L = steps[index]
- if(istype(used_atom, L["key"]))
- return FORWARD //to the first step -> forward
- else if(L["backkey"] && istype(used_atom, L["backkey"]))
- return BACKWARD //to the last step -> backwards
+/datum/construction/reversible/is_right_key(atom/used_atom) // returns index step
+ var/list/L = steps[index]
+ if(istype(used_atom, L["key"]))
+ return FORWARD //to the first step -> forward
+ else if(L["backkey"] && istype(used_atom, L["backkey"]))
+ return BACKWARD //to the last step -> backwards
+ return 0
+
+/datum/construction/reversible/check_step(atom/used_atom,mob/user as mob)
+ var/diff = is_right_key(used_atom)
+ if(diff)
+ if(custom_action(index, diff, used_atom, user))
+ update_index(diff, user)
+ return 1
+ return 0
+
+/datum/construction/reversible/custom_action(index, diff, used_atom, user)
+ if(!..(index,used_atom,user))
return 0
-
- check_step(atom/used_atom,mob/user as mob)
- var/diff = is_right_key(used_atom)
- if(diff)
- if(custom_action(index, diff, used_atom, user))
- update_index(diff, user)
- return 1
- return 0
-
- custom_action(index, diff, used_atom, user)
- if(!..(index,used_atom,user))
- return 0
- return 1
+ return 1
#define state_next "next"
#define state_prev "prev"
@@ -178,73 +178,74 @@
var/index
var/base_icon = "durand"
- New(atom)
- ..()
- index = 1
- return
+/datum/construction/reversible2/New(atom)
+ ..()
+ index = 1
+ return
- proc/update_index(diff as num, mob/user as mob)
- index-=diff
- if(index==steps.len+1)
- spawn_result(user)
- else
- set_desc(index)
- return
+/datum/construction/reversible2/proc/update_index(diff as num, mob/user as mob)
+ index-=diff
+ if(index==steps.len+1)
+ spawn_result(user)
+ else
+ set_desc(index)
+ return
- proc/update_icon()
- holder.icon_state="[base_icon]_[index]"
+/datum/construction/reversible2/proc/update_icon()
+ holder.icon_state="[base_icon]_[index]"
- is_right_key(mob/user as mob,atom/used_atom) // returns index step
- var/list/state = steps[index]
- if(state_next in state)
- var/list/step = state[state_next]
- if(istype(used_atom, step["key"]))
- //if(L["consume"] && !try_consume(used_atom,L["consume"]))
- // return 0
- return FORWARD //to the first step -> forward
- else if(state_prev in state)
- var/list/step = state[state_prev]
- if(istype(used_atom, step["key"]))
- //if(L["consume"] && !try_consume(used_atom,L["consume"]))
- // return 0
- return BACKWARD //to the first step -> forward
+/datum/construction/reversible2/is_right_key(mob/user as mob,atom/used_atom) // returns index step
+ var/list/state = steps[index]
+ if(state_next in state)
+ var/list/step = state[state_next]
+ if(istype(used_atom, step["key"]))
+ //if(L["consume"] && !try_consume(used_atom,L["consume"]))
+ // return 0
+ return FORWARD //to the first step -> forward
+ else if(state_prev in state)
+ var/list/step = state[state_prev]
+ if(istype(used_atom, step["key"]))
+ //if(L["consume"] && !try_consume(used_atom,L["consume"]))
+ // return 0
+ return BACKWARD //to the first step -> forward
+ return 0
+
+/datum/construction/reversible2/check_step(atom/used_atom,mob/user as mob)
+ var/diff = is_right_key(user,used_atom)
+ if(diff)
+ if(custom_action(index, diff, used_atom, user))
+ update_index(diff,user)
+ update_icon()
+ return 1
+ return 0
+
+/datum/construction/reversible2/proc/fixText(text,user)
+ text = replacetext(text,"{USER}","[user]")
+ text = replacetext(text,"{HOLDER}","[holder]")
+ return text
+
+/datum/construction/reversible2/custom_action(index, diff, used_atom, var/mob/user)
+ if(!..(index,used_atom,user))
return 0
- check_step(atom/used_atom,mob/user as mob)
- var/diff = is_right_key(user,used_atom)
- if(diff)
- if(custom_action(index, diff, used_atom, user))
- update_index(diff,user)
- update_icon()
- return 1
- return 0
+ var/list/step = steps[index]
+ var/list/state = step[diff==FORWARD ? state_next : state_prev]
+ user.visible_message(fixText(state["vis_msg"],user),fixText(state["self_msg"],user))
- proc/fixText(text,user)
- text = replacetext(text,"{USER}","[user]")
- text = replacetext(text,"{HOLDER}","[holder]")
- return text
+ if("delete" in state)
+ qdel(used_atom)
+ else if("spawn" in state)
+ var/spawntype=state["spawn"]
+ var/atom/A = new spawntype(holder.loc)
+ if("amount" in state)
+ if(istype(A,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C=A
+ C.amount=state["amount"]
+ if(istype(A,/obj/item/stack))
+ var/obj/item/stack/S=A
+ S.amount=state["amount"]
- custom_action(index, diff, used_atom, var/mob/user)
- if(!..(index,used_atom,user))
- return 0
+ return 1
- var/list/step = steps[index]
- var/list/state = step[diff==FORWARD ? state_next : state_prev]
- user.visible_message(fixText(state["vis_msg"],user),fixText(state["self_msg"],user))
-
- if("delete" in state)
- qdel(used_atom)
- else if("spawn" in state)
- var/spawntype=state["spawn"]
- var/atom/A = new spawntype(holder.loc)
- if("amount" in state)
- if(istype(A,/obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/C=A
- C.amount=state["amount"]
- if(istype(A,/obj/item/stack))
- var/obj/item/stack/S=A
- S.amount=state["amount"]
-
- return 1
- action(used_atom,user)
- return check_step(used_atom,user)
+/datum/construction/reversible2/action(used_atom,user)
+ return check_step(used_atom,user)
diff --git a/code/datums/helper_datums/global_iterator.dm b/code/datums/helper_datums/global_iterator.dm
index e3f22e2a3e2..fdba9542412 100644
--- a/code/datums/helper_datums/global_iterator.dm
+++ b/code/datums/helper_datums/global_iterator.dm
@@ -57,98 +57,96 @@ Data storage vars:
var/result
var/state = 0
- New(list/arguments=null,autostart=1)
- delay = delay>0?(delay):1
- if(forbid_garbage) //prevents garbage collection with tag != null
- tag = "\ref[src]"
- set_process_args(arguments)
- if(autostart)
- start()
- return
+/datum/global_iterator/New(list/arguments=null,autostart=1)
+ delay = delay>0?(delay):1
+ if(forbid_garbage) //prevents garbage collection with tag != null
+ tag = "\ref[src]"
+ set_process_args(arguments)
+ if(autostart)
+ start()
+ return
- proc/main()
- state = 1
- while(src && control_switch)
- last_exec = world.timeofday
- if(check_for_null && has_null_args())
- stop()
+/datum/global_iterator/proc/main()
+ state = 1
+ while(src && control_switch)
+ last_exec = world.timeofday
+ if(check_for_null && has_null_args())
+ stop()
+ return 0
+ result = process(arglist(arg_list))
+ for(var/sleep_time=delay;sleep_time>0;sleep_time--) //uhh, this is ugly. But I see no other way to terminate sleeping proc. Such disgrace.
+ if(!control_switch)
return 0
- result = process(arglist(arg_list))
- for(var/sleep_time=delay;sleep_time>0;sleep_time--) //uhh, this is ugly. But I see no other way to terminate sleeping proc. Such disgrace.
- if(!control_switch)
- return 0
- sleep(1)
- return 0
-
- proc/start(list/arguments=null)
- if(active())
- return
- if(arguments)
- if(!set_process_args(arguments))
- return 0
- if(!state_check()) //the main loop is sleeping, wait for it to terminate.
- return
- control_switch = 1
- spawn()
- state = main()
- return 1
-
- proc/stop()
- if(!active())
- return
- control_switch = 0
- spawn(-1) //report termination error but don't wait for state_check().
- state_check()
- return 1
-
- proc/state_check()
- var/lag = 0
- while(state)
sleep(1)
- if(++lag>10)
- CRASH("The global_iterator loop \ref[src] failed to terminate in designated timeframe. This may be caused by server lagging.")
- return 1
+ return 0
- proc/process()
+/datum/global_iterator/proc/start(list/arguments=null)
+ if(active())
return
+ if(arguments)
+ if(!set_process_args(arguments))
+ return 0
+ if(!state_check()) //the main loop is sleeping, wait for it to terminate.
+ return
+ control_switch = 1
+ spawn()
+ state = main()
+ return 1
- proc/active()
- return control_switch
+/datum/global_iterator/proc/stop()
+ if(!active())
+ return
+ control_switch = 0
+ spawn(-1) //report termination error but don't wait for state_check().
+ state_check()
+ return 1
- proc/has_null_args()
- if(null in arg_list)
- return 1
+/datum/global_iterator/proc/state_check()
+ var/lag = 0
+ while(state)
+ sleep(1)
+ if(++lag>10)
+ CRASH("The global_iterator loop \ref[src] failed to terminate in designated timeframe. This may be caused by server lagging.")
+ return 1
+
+/datum/global_iterator/proc/process()
+ return
+
+/datum/global_iterator/proc/active()
+ return control_switch
+
+/datum/global_iterator/proc/has_null_args()
+ if(null in arg_list)
+ return 1
+ return 0
+
+
+/datum/global_iterator/proc/set_delay(new_delay)
+ if(isnum(new_delay))
+ delay = max(1, round(new_delay))
+ return 1
+ else
return 0
+/datum/global_iterator/proc/get_last_exec_time()
+ return (last_exec||0)
- proc/set_delay(new_delay)
- if(isnum(new_delay))
- delay = max(1, round(new_delay))
- return 1
- else
- return 0
+/datum/global_iterator/proc/get_last_exec_time_as_text()
+ return (time2text(last_exec)||"Wasn't executed yet")
- proc/get_last_exec_time()
- return (last_exec||0)
-
- proc/get_last_exec_time_as_text()
- return (time2text(last_exec)||"Wasn't executed yet")
-
- proc/set_process_args(list/arguments)
- if(arguments && istype(arguments, /list) && arguments.len)
- arg_list = arguments
- return 1
- else
+/datum/global_iterator/proc/set_process_args(list/arguments)
+ if(arguments && istype(arguments, /list) && arguments.len)
+ arg_list = arguments
+ return 1
+ else
// to_chat(world, "Invalid arguments supplied for [src.type], ref = \ref[src] ")
- return 0
-
- proc/toggle_null_checks()
- check_for_null = !check_for_null
- return check_for_null
-
- proc/toggle()
- if(!stop())
- start()
- return active()
+ return 0
+/datum/global_iterator/proc/toggle_null_checks()
+ check_for_null = !check_for_null
+ return check_for_null
+/datum/global_iterator/proc/toggle()
+ if(!stop())
+ start()
+ return active()
diff --git a/code/datums/helper_datums/topic_input.dm b/code/datums/helper_datums/topic_input.dm
index 17dd3f1266e..8090a5221eb 100644
--- a/code/datums/helper_datums/topic_input.dm
+++ b/code/datums/helper_datums/topic_input.dm
@@ -2,59 +2,59 @@
var/href
var/list/href_list
- New(thref,list/thref_list)
- href = thref
- href_list = thref_list.Copy()
- return
+/datum/topic_input/New(thref,list/thref_list)
+ href = thref
+ href_list = thref_list.Copy()
+ return
- proc/get(i)
- return listgetindex(href_list,i)
+/datum/topic_input/proc/get(i)
+ return listgetindex(href_list,i)
- proc/getAndLocate(i)
- var/t = get(i)
- if(t)
- t = locate(t)
- return t || null
+/datum/topic_input/proc/getAndLocate(i)
+ var/t = get(i)
+ if(t)
+ t = locate(t)
+ return t || null
- proc/getNum(i)
- var/t = get(i)
- if(t)
- t = text2num(t)
- return isnum(t) ? t : null
+/datum/topic_input/proc/getNum(i)
+ var/t = get(i)
+ if(t)
+ t = text2num(t)
+ return isnum(t) ? t : null
- proc/getObj(i)
- var/t = getAndLocate(i)
- return isobj(t) ? t : null
+/datum/topic_input/proc/getObj(i)
+ var/t = getAndLocate(i)
+ return isobj(t) ? t : null
- proc/getMob(i)
- var/t = getAndLocate(i)
- return ismob(t) ? t : null
+/datum/topic_input/proc/getMob(i)
+ var/t = getAndLocate(i)
+ return ismob(t) ? t : null
- proc/getTurf(i)
- var/t = getAndLocate(i)
- return isturf(t) ? t : null
+/datum/topic_input/proc/getTurf(i)
+ var/t = getAndLocate(i)
+ return isturf(t) ? t : null
- proc/getAtom(i)
- return getType(i,/atom)
+/datum/topic_input/proc/getAtom(i)
+ return getType(i,/atom)
- proc/getArea(i)
- var/t = getAndLocate(i)
- return isarea(t) ? t : null
+/datum/topic_input/proc/getArea(i)
+ var/t = getAndLocate(i)
+ return isarea(t) ? t : null
- proc/getStr(i)//params should always be text, but...
- var/t = get(i)
- return istext(t) ? t : null
+/datum/topic_input/proc/getStr(i)//params should always be text, but...
+ var/t = get(i)
+ return istext(t) ? t : null
- proc/getType(i,type)
- var/t = getAndLocate(i)
- return istype(t,type) ? t : null
+/datum/topic_input/proc/getType(i,type)
+ var/t = getAndLocate(i)
+ return istype(t,type) ? t : null
- proc/getPath(i)
- var/t = get(i)
- if(t)
- t = text2path(t)
- return ispath(t) ? t : null
+/datum/topic_input/proc/getPath(i)
+ var/t = get(i)
+ if(t)
+ t = text2path(t)
+ return ispath(t) ? t : null
- proc/getList(i)
- var/t = getAndLocate(i)
- return islist(t) ? t : null
\ No newline at end of file
+/datum/topic_input/proc/getList(i)
+ var/t = getAndLocate(i)
+ return islist(t) ? t : null
diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm
index a98a65cb1a2..b8684072c3f 100644
--- a/code/datums/holocall.dm
+++ b/code/datums/holocall.dm
@@ -29,7 +29,7 @@
for(var/I in callees)
var/obj/machinery/hologram/holopad/H = I
- if(!QDELETED(H) && !(H.stat & NOPOWER))
+ if(!QDELETED(H) && !(H.stat & NOPOWER) && H.anchored)
dialed_holopads += H
var/area/area = get_area(H)
LAZYADD(H.holo_calls, src)
@@ -159,7 +159,7 @@
/datum/holocall/proc/Check()
for(var/I in dialed_holopads)
var/obj/machinery/hologram/holopad/H = I
- if((H.stat & NOPOWER))
+ if((H.stat & NOPOWER) || !H.anchored)
ConnectionFailure(H)
if(QDELETED(src))
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 3dc7e713361..7e484469da7 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -1,32 +1,22 @@
/* Note from Carnie:
The way datum/mind stuff works has been changed a lot.
Minds now represent IC characters rather than following a client around constantly.
-
Guidelines for using minds properly:
-
- Never mind.transfer_to(ghost). The var/current and var/original of a mind must always be of type mob/living!
ghost.mind is however used as a reference to the ghost's corpse
-
- When creating a new mob for an existing IC character (e.g. cloning a dead guy or borging a brain of a human)
the existing mind of the old mob should be transfered to the new mob like so:
-
mind.transfer_to(new_mob)
-
- You must not assign key= or ckey= after transfer_to() since the transfer_to transfers the client for you.
By setting key or ckey explicitly after transfering the mind with transfer_to you will cause bugs like DCing
the player.
-
- IMPORTANT NOTE 2, if you want a player to become a ghost, use mob.ghostize() It does all the hard work for you.
-
- When creating a new mob which will be a new IC character (e.g. putting a shade in a construct or randomly selecting
a ghost to become a xeno during an event). Simply assign the key or ckey like you've always done.
-
new_mob.key = key
-
The Login proc will handle making a new mob for that mobtype (including setting up stuff like mind.name). Simple!
However if you want that mind to have any special properties like being a traitor etc you will have to do that
yourself.
-
*/
/datum/mind
@@ -265,7 +255,7 @@
. += "OPERATIVE |no "
. += "To shuttle , undress , dress up ."
var/code
- for(var/obj/machinery/nuclearbomb/bombue in machines)
+ for(var/obj/machinery/nuclearbomb/bombue in GLOB.machines)
if(length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN")
code = bombue.r_code
break
@@ -433,7 +423,7 @@
return
if(href_list["role_edit"])
- var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in joblist
+ var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in GLOB.joblist
if(!new_role)
return
assigned_role = new_role
@@ -608,6 +598,7 @@
if(objective)
objectives -= objective
+ qdel(objective)
objectives.Insert(objective_pos, new_objective)
else
objectives += new_objective
@@ -623,6 +614,7 @@
log_admin("[key_name(usr)] has removed one of [key_name(current)]'s objectives: [objective]")
message_admins("[key_name_admin(usr)] has removed one of [key_name_admin(current)]'s objectives: [objective]")
+ qdel(objective)
else if(href_list["obj_completed"])
var/datum/objective/objective = locate(href_list["obj_completed"])
@@ -949,6 +941,7 @@
special_role = null
for(var/datum/objective/nuclear/O in objectives)
objectives-=O
+ qdel(O)
to_chat(current, "You have been brainwashed! You are no longer a syndicate operative! ")
log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]")
@@ -991,7 +984,7 @@
if("tellcode")
var/code
- for(var/obj/machinery/nuclearbomb/bombue in machines)
+ for(var/obj/machinery/nuclearbomb/bombue in GLOB.machines)
if(length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN")
code = bombue.r_code
break
@@ -1398,7 +1391,7 @@
var/list/obj/effect/landmark/abductor/scientist_landmarks = new
agent_landmarks.len = 4
scientist_landmarks.len = 4
- for(var/obj/effect/landmark/abductor/A in landmarks_list)
+ for(var/obj/effect/landmark/abductor/A in GLOB.landmarks_list)
if(istype(A, /obj/effect/landmark/abductor/agent))
agent_landmarks[text2num(A.team)] = A
else if(istype(A, /obj/effect/landmark/abductor/scientist))
@@ -1456,7 +1449,7 @@
S.action.Grant(new_character)
/datum/mind/proc/get_ghost(even_if_they_cant_reenter)
- for(var/mob/dead/observer/G in dead_mob_list)
+ for(var/mob/dead/observer/G in GLOB.dead_mob_list)
if(G.mind == src)
if(G.can_reenter_corpse || even_if_they_cant_reenter)
return G
@@ -1634,4 +1627,4 @@
/mob/living/simple_animal/construct/armoured/mind_initialize()
..()
mind.assigned_role = "Juggernaut"
- mind.special_role = SPECIAL_ROLE_CULTIST
+ mind.special_role = SPECIAL_ROLE_CULTIST
\ No newline at end of file
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index edb254203bf..bf296acd589 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -669,9 +669,9 @@
return
if(is_tsf_lieutenant)
- H.real_name = "Lieutenant [pick(last_names)]"
+ H.real_name = "Lieutenant [pick(GLOB.last_names)]"
else
- H.real_name = "[pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant First Class", "Master Sergeant", "Sergeant Major")] [pick(last_names)]"
+ H.real_name = "[pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant First Class", "Master Sergeant", "Sergeant Major")] [pick(GLOB.last_names)]"
H.name = H.real_name
var/obj/item/card/id/I = H.wear_id
if(istype(I))
diff --git a/code/datums/spell.dm b/code/datums/spell.dm
index 1a78f8be2ca..653cc0020bc 100644
--- a/code/datums/spell.dm
+++ b/code/datums/spell.dm
@@ -261,9 +261,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(istype(target,/mob/living) && message)
to_chat(target, text("[message]"))
if(sparks_spread)
- var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread()
- sparks.set_up(sparks_amt, 0, location) //no idea what the 0 is
- sparks.start()
+ do_sparks(sparks_amt, 0, location)
if(smoke_spread)
if(smoke_spread == 1)
var/datum/effect_system/smoke_spread/smoke = new
@@ -328,10 +326,10 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
/obj/effect/proc_holder/spell/targeted/choose_targets(mob/user = usr)
var/list/targets = list()
-
+
switch(max_targets)
if(0) //unlimited
-
+
if(!humans_only)
for(var/mob/living/target in view_or_range(range, user, selection_type))
targets += target
@@ -344,7 +342,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
targets += user
else
var/possible_targets = list()
-
+
if(!humans_only)
for(var/mob/living/M in view_or_range(range, user, selection_type))
if(!include_user && user == M)
diff --git a/code/datums/spells/knock.dm b/code/datums/spells/knock.dm
index c1828c53e82..67e92dd3280 100644
--- a/code/datums/spells/knock.dm
+++ b/code/datums/spells/knock.dm
@@ -47,7 +47,7 @@
/obj/effect/proc_holder/spell/aoe_turf/knock/greater/cast(list/targets, mob/user = usr)
if(!used)
used = TRUE
- for(var/obj/machinery/door/airlock/A in airlocks)
+ for(var/obj/machinery/door/airlock/A in GLOB.airlocks)
if(is_station_level(A.z))
A.req_access = list()
A.req_one_access = list()
diff --git a/code/datums/spells/mind_transfer.dm b/code/datums/spells/mind_transfer.dm
index e83db1acb2e..e45d27ec28e 100644
--- a/code/datums/spells/mind_transfer.dm
+++ b/code/datums/spells/mind_transfer.dm
@@ -68,7 +68,7 @@ Also, you never added distance checking after target is selected. I've went ahea
ghost.mind.transfer_to(caster)
if(ghost.key)
- non_respawnable_keys -= ghost.ckey //ghostizing with an argument of 0 will make them unable to respawn forever, which is bad
+ GLOB.non_respawnable_keys -= ghost.ckey //ghostizing with an argument of 0 will make them unable to respawn forever, which is bad
caster.key = ghost.key //have to transfer the key since the mind was not active
qdel(ghost)
diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm
index 86590c613d2..d312ff9d11d 100644
--- a/code/datums/status_effects/status_effect.dm
+++ b/code/datums/status_effects/status_effect.dm
@@ -32,11 +32,11 @@
var/obj/screen/alert/status_effect/A = owner.throw_alert(id, alert_type)
A.attached_effect = src //so the alert can reference us, if it needs to
linked_alert = A //so we can reference the alert, if we need to
- fast_processing.Add(src)
+ GLOB.fast_processing.Add(src)
return TRUE
/datum/status_effect/Destroy()
- fast_processing.Remove(src)
+ GLOB.fast_processing.Remove(src)
if(owner)
owner.clear_alert(id)
LAZYREMOVE(owner.status_effects, src)
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 2db64b30bdb..4d8bd9432f4 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -923,6 +923,14 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containername = "machine prototype crate"
access = access_research
+/datum/supply_packs/science/oil
+ name = "Oil Tank Crate"
+ contains = list(/obj/structure/reagent_dispensers/oil,
+ /obj/item/reagent_containers/food/drinks/oilcan)
+ cost = 10
+ containertype = /obj/structure/largecrate
+ containername = "oil tank crate"
+
//////////////////////////////////////////////////////////////////////////////
//////////////////////////// Organic /////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index fb41d818cd8..91d41535fbb 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -97,7 +97,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
if(I)
if(ishuman(user))
var/mob/living/carbon/human/A = user
- log_game("[key_name(user)] purchased [I.name]")
+ log_game("[key_name(user)] purchased [name]")
A.put_in_any_hand_if_possible(I)
if(istype(I,/obj/item/storage/box/) && I.contents.len>0)
@@ -220,7 +220,17 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 5
job = list("Chief Medical Officer", "Medical Doctor", "Geneticist", "Psychiatrist", "Chemist", "Paramedic", "Coroner", "Virologist")
-/datum/uplink_item/dangerous/cat_grenade
+//Virology
+
+/datum/uplink_item/jobspecific/viral_injector
+ name = "Viral Injector"
+ desc = "A modified hypospray disguised as a functional pipette. The pipette can infect victims with viruses upon injection."
+ reference = "VI"
+ item = /obj/item/reagent_containers/dropper/precision/viral_injector
+ cost = 3
+ job = list("Virologist")
+
+/datum/uplink_item/jobspecific/cat_grenade
name = "Feral Cat Delivery Grenade"
desc = "The feral cat delivery grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
item = /obj/item/grenade/spawnergrenade/feral_cats
@@ -967,6 +977,15 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/safecracking
cost = 1
+/datum/uplink_item/stealthy_tools/clownkit
+ name = "Honk Brand Infiltration Kit"
+ desc = "All the tools you need to play the best prank Nanotrasen has ever seen. Includes a voice changer clown mask, magnetic clown shoes, and standard clown outfit, tools, and backpack."
+ reference = "HBIK"
+ item = /obj/item/storage/backpack/clown/syndie
+ cost = 6
+ gamemodes = list(/datum/game_mode/nuclear)
+ surplus = 0
+
// DEVICE AND TOOLS
/datum/uplink_item/device_tools
diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm
index 7ee152648c2..2f3a4c4bcba 100644
--- a/code/datums/weather/weather.dm
+++ b/code/datums/weather/weather.dm
@@ -60,7 +60,7 @@
weather_duration = rand(weather_duration_lower, weather_duration_upper)
START_PROCESSING(SSweather, src)
update_areas()
- for(var/M in player_list)
+ for(var/M in GLOB.player_list)
var/turf/mob_turf = get_turf(M)
if(mob_turf && (mob_turf.z in impacted_z_levels))
if(telegraph_message)
@@ -74,7 +74,7 @@
return
stage = MAIN_STAGE
update_areas()
- for(var/M in player_list)
+ for(var/M in GLOB.player_list)
var/turf/mob_turf = get_turf(M)
if(mob_turf && (mob_turf.z in impacted_z_levels))
if(weather_message)
@@ -88,7 +88,7 @@
return
stage = WIND_DOWN_STAGE
update_areas()
- for(var/M in player_list)
+ for(var/M in GLOB.player_list)
var/turf/mob_turf = get_turf(M)
if(mob_turf && (mob_turf.z in impacted_z_levels))
if(end_message)
diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm
index fe7391ec9f0..6d06e3ca1ef 100644
--- a/code/datums/weather/weather_types/floor_is_lava.dm
+++ b/code/datums/weather/weather_types/floor_is_lava.dm
@@ -26,7 +26,7 @@
if(issilicon(L))
return
for(var/obj/structure/O in L.loc)
- if(O.density || O.buckled_mob && istype(O, /obj/structure/stool/bed))
+ if(O.density || O.buckled_mob && istype(O, /obj/structure/bed))
return
if(L.loc.density)
return
@@ -36,4 +36,4 @@
/datum/weather/floor_is_lava/fake
name = "the floor is lava (fake)"
- aesthetic = TRUE
\ No newline at end of file
+ aesthetic = TRUE
diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm
index cef139cc476..3e9f488bb29 100644
--- a/code/datums/wires/airlock.dm
+++ b/code/datums/wires/airlock.dm
@@ -55,9 +55,10 @@ var/const/AIRLOCK_WIRE_LIGHT = 512
/datum/wires/airlock/CanUse(mob/living/L)
var/obj/machinery/door/airlock/A = holder
if(iscarbon(L))
- if(A.isElectrified())
- if(A.shock(L, 100))
- return 0
+ if(A.Adjacent(L))
+ if(A.isElectrified())
+ if(A.shock(L, 100))
+ return 0
if(A.panel_open)
return 1
return 0
@@ -211,4 +212,4 @@ var/const/AIRLOCK_WIRE_LIGHT = 512
A.lights = !A.lights
A.update_icon()
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/defines/procs/admin.dm b/code/defines/procs/admin.dm
index d661e320dd8..b7036f9fbdc 100644
--- a/code/defines/procs/admin.dm
+++ b/code/defines/procs/admin.dm
@@ -46,7 +46,7 @@
. += "Administrator"
else
if(include_link && C)
- . += ""
+ . += " "
. += key
if(include_link)
@@ -68,8 +68,10 @@
return .
/proc/key_name_admin(whom)
- var/message = "[key_name(whom, 1)]( ? )[isAntag(whom) ? "(A) " : ""][isLivingSSD(whom) ? "(SSD!) " : ""] ([admin_jump_link(whom)])"
- return message
+ if(whom)
+ var/datum/whom_datum = whom //As long as it's not null, will be close enough/has the proc UID() that is all that's needed
+ var/message = "[key_name(whom, 1)]([ADMIN_QUE(whom_datum,"?")])[isAntag(whom) ? "(A) " : ""][isLivingSSD(whom) ? "(SSD!) " : ""] ([admin_jump_link(whom)])"
+ return message
/proc/key_name_mentor(whom)
// Same as key_name_admin, but does not include (?) or (A) for antags.
diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm
index 1664a7051da..3c3906a25eb 100644
--- a/code/defines/procs/announce.dm
+++ b/code/defines/procs/announce.dm
@@ -59,7 +59,7 @@
if(announcer)
message_announcer = html_encode(announcer)
- var/datum/language/message_language = all_languages[msg_language ? msg_language : language]
+ var/datum/language/message_language = GLOB.all_languages[msg_language ? msg_language : language]
var/list/combined_receivers = Get_Receivers(message_language)
var/list/receivers = combined_receivers[1]
@@ -81,11 +81,11 @@
var/list/garbled_receivers = list()
if(admin_announcement)
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(!isnewplayer(M) && M.client)
receivers |= M
else
- for(var/obj/item/radio/R in global_radios)
+ for(var/obj/item/radio/R in GLOB.global_radios)
receivers |= R.send_announcement()
for(var/mob/M in receivers)
if(!istype(M) || !M.client || M.stat || !M.can_hear())
@@ -94,7 +94,7 @@
if(!M.say_understands(null, message_language))
receivers -= M
garbled_receivers |= M
- for(var/mob/M in dead_mob_list)
+ for(var/mob/M in GLOB.dead_mob_list)
if(M.client && M.stat == DEAD)
receivers |= M
diff --git a/code/defines/procs/statistics.dm b/code/defines/procs/statistics.dm
index 28c0b427ee2..e68bb7ecc63 100644
--- a/code/defines/procs/statistics.dm
+++ b/code/defines/procs/statistics.dm
@@ -2,7 +2,7 @@
if(!config.sql_enabled)
return
var/playercount = 0
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.client)
playercount += 1
establish_db_connection()
@@ -19,7 +19,7 @@
/proc/sql_poll_admins()
if(!config.sql_enabled)
return
- var/admincount = admins.len
+ var/admincount = GLOB.admins.len
establish_db_connection()
if(!dbcon.IsConnected())
log_game("SQL ERROR during admin polling. Failed to connect.")
diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm
index 068fe991a9d..49bc85959f5 100644
--- a/code/game/area/Space Station 13 areas.dm
+++ b/code/game/area/Space Station 13 areas.dm
@@ -1760,23 +1760,6 @@ area/security/podbay
name = "\improper Firing Range"
icon_state = "firingrange"
-/*
- New()
- ..()
-
- spawn(10) //let objects set up first
- for(var/turf/turfToGrayscale in src)
- if(turfToGrayscale.icon)
- var/icon/newIcon = icon(turfToGrayscale.icon)
- newIcon.GrayScale()
- turfToGrayscale.icon = newIcon
- for(var/obj/objectToGrayscale in turfToGrayscale) //1 level deep, means tables, apcs, locker, etc, but not locker contents
- if(objectToGrayscale.icon)
- var/icon/newIcon = icon(objectToGrayscale.icon)
- newIcon.GrayScale()
- objectToGrayscale.icon = newIcon
-*/
-
/area/security/nuke_storage
name = "\improper Vault"
icon_state = "nuke_storage"
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index a9bdb68c0ad..a74314a9919 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -24,7 +24,7 @@
icon_state = ""
layer = AREA_LAYER
uid = ++global_uid
- all_areas += src
+ GLOB.all_areas += src
map_name = name // Save the initial (the name set in the map) name of the area.
if(type == /area) // override defaults for space. TODO: make space areas of type /area/space rather than /area
diff --git a/code/game/area/depot-areas.dm b/code/game/area/depot-areas.dm
index 69205c3c35f..951e5ac4695 100644
--- a/code/game/area/depot-areas.dm
+++ b/code/game/area/depot-areas.dm
@@ -196,7 +196,7 @@
if(!silent)
announce_here("Depot Code BLUE", reason)
var/list/possible_bot_spawns = list()
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(L.name == "syndi_depot_bot")
possible_bot_spawns |= L
if(possible_bot_spawns.len)
@@ -215,7 +215,7 @@
alert_log += "Code RED: [reason]"
called_backup = TRUE
lockout_computers()
- for(var/obj/machinery/door/poddoor/P in airlocks)
+ for(var/obj/machinery/door/poddoor/P in GLOB.airlocks)
if(P.density && P.id_tag == "syndi_depot_lvl2" && !P.operating)
spawn(0)
P.open()
@@ -228,7 +228,7 @@
comms_online = TRUE
if(comms_online)
spawn(0)
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(prob(50))
if(L.name == "syndi_depot_backup")
var/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space/S = new /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space(get_turf(L))
@@ -311,7 +311,7 @@
/area/syndicate_depot/core/proc/announce_here(a_header = "Depot Defense Alert", a_text = "")
var/msg_text = "[a_header] [a_text] "
var/list/receivers = list()
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(!M.ckey)
continue
var/turf/T = get_turf(M)
@@ -325,7 +325,7 @@
/area/syndicate_depot/core/proc/shields_up()
if(shield_list.len)
return
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(L.name == "syndi_depot_shield")
var/obj/machinery/shieldwall/syndicate/S = new /obj/machinery/shieldwall/syndicate(L.loc)
shield_list += S.UID()
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 8f301f17f01..5ca34ceb57e 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -16,6 +16,7 @@
var/dont_save = 0 // For atoms that are temporary by necessity - like lighting overlays
///Chemistry.
+ var/container_type = NONE
var/datum/reagents/reagents = null
//This atom's HUD (med/sec, etc) images. Associative list.
@@ -23,9 +24,6 @@
//HUD images that this atom can provide.
var/list/hud_possible
-
- //var/chem_is_open_container = 0
- // replaced by OPENCONTAINER flags and atom/proc/is_open_container()
///Chemistry.
@@ -44,15 +42,19 @@
var/initialized = FALSE
+ var/list/priority_overlays //overlays that should remain on top and not normally removed when using cut_overlay functions, like c4.
+ var/list/remove_overlays // a very temporary list of overlays to remove
+ var/list/add_overlays // a very temporary list of overlays to add
+
/atom/New(loc, ...)
if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New()
_preloader.load(src)
. = ..()
- attempt_init(...)
+ attempt_init(arglist(args))
// This is distinct from /tg/ because of our space management system
// This is overriden in /atom/movable and the parent isn't called if the SMS wants to deal with it's init
-/atom/proc/attempt_init(loc, ...)
+/atom/proc/attempt_init(...)
var/do_initialize = SSatoms.initialized
if(do_initialize != INITIALIZATION_INSSATOMS)
args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD
@@ -142,6 +144,8 @@
QDEL_NULL(reagents)
invisibility = 101
+ LAZYCLEARLIST(overlays)
+ LAZYCLEARLIST(priority_overlays)
return ..()
//Hook for running code when a dir change occurs
@@ -192,22 +196,21 @@
/atom/proc/Bumped(AM as mob|obj)
return
-// Convenience proc to see if a container is open for chemistry handling
-// returns true if open
-// false if closed
+// Convenience procs to see if a container is open for chemistry handling
/atom/proc/is_open_container()
- return flags & OPENCONTAINER
+ return is_refillable() && is_drainable()
-/*//Convenience proc to see whether a container can be accessed in a certain way.
+/atom/proc/is_injectable(allowmobs = TRUE)
+ return reagents && (container_type & (INJECTABLE | REFILLABLE))
- proc/can_subract_container()
- return flags & EXTRACT_CONTAINER
-
- proc/can_add_container()
- return flags & INSERT_CONTAINER
-*/
+/atom/proc/is_drawable(allowmobs = TRUE)
+ return reagents && (container_type & (DRAWABLE | DRAINABLE))
+/atom/proc/is_refillable()
+ return reagents && (container_type & REFILLABLE)
+/atom/proc/is_drainable()
+ return reagents && (container_type & DRAINABLE)
/atom/proc/CheckExit()
return 1
@@ -273,19 +276,26 @@
if(desc)
to_chat(user, desc)
- if(reagents && is_open_container()) //is_open_container() isn't really the right proc for this, but w/e
- to_chat(user, "It contains:")
- if(reagents.reagent_list.len)
- if(user.can_see_reagents()) //Show each individual reagent
- for(var/datum/reagent/R in reagents.reagent_list)
- to_chat(user, "[R.volume] units of [R.name]")
- else //Otherwise, just show the total volume
- if(reagents && reagents.reagent_list.len)
- to_chat(user, "[reagents.total_volume] units of various reagents.")
- else
- to_chat(user, "Nothing.")
+ if(reagents)
+ if(container_type & TRANSPARENT)
+ to_chat(user, "It contains: ")
+ if(reagents.reagent_list.len)
+ if(user.can_see_reagents()) //Show each individual reagent
+ for(var/I in reagents.reagent_list)
+ var/datum/reagent/R = I
+ to_chat(user, "[R.volume] units of [R.name] ")
+ else //Otherwise, just show the total volume
+ if(reagents && reagents.reagent_list.len)
+ to_chat(user, "[reagents.total_volume] units of various reagents. ")
+ else
+ to_chat(user, "Nothing. ")
+ else if(container_type & AMOUNT_VISIBLE)
+ if(reagents.total_volume)
+ to_chat(user, "It has [reagents.total_volume] unit\s left. ")
+ else
+ to_chat(user, "It's empty. ")
- SendSignal(COMSIG_PARENT_EXAMINE, user)
+ SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user)
return distance == -1 || (get_dist(src, user) <= distance) || isobserver(user) //observers do not have a range limit
@@ -723,4 +733,4 @@ var/list/blood_splatter_icons = list()
var/atom/L = loc
if(!L)
return null
- return L.AllowDrop() ? L : get_turf(L)
\ No newline at end of file
+ return L.AllowDrop() ? L : get_turf(L)
diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm
index cba96ded0db..84390a4de8c 100644
--- a/code/game/dna/dna2.dm
+++ b/code/game/dna/dna2.dm
@@ -151,9 +151,9 @@ var/global/list/bad_blocks[0]
if(!character.m_styles)
character.m_styles = DEFAULT_MARKING_STYLES
- var/head_marks = marking_styles_list.Find(character.m_styles["head"])
- var/body_marks = marking_styles_list.Find(character.m_styles["body"])
- var/tail_marks = marking_styles_list.Find(character.m_styles["tail"])
+ var/head_marks = GLOB.marking_styles_list.Find(character.m_styles["head"])
+ var/body_marks = GLOB.marking_styles_list.Find(character.m_styles["body"])
+ var/tail_marks = GLOB.marking_styles_list.Find(character.m_styles["tail"])
head_traits_to_dna(H)
eye_color_to_dna(eyes_organ)
@@ -181,10 +181,10 @@ var/global/list/bad_blocks[0]
else
SetUIState(DNA_UI_GENDER, pick(0,1), 1)
- /*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, facial_hair_styles_list.len, 1)*/
- SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, marking_styles_list.len, 1)
- SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, marking_styles_list.len, 1)
- SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, marking_styles_list.len, 1)
+ /*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, GLOB.facial_hair_styles_list.len, 1)*/
+ SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, GLOB.marking_styles_list.len, 1)
+ SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, GLOB.marking_styles_list.len, 1)
+ SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, GLOB.marking_styles_list.len, 1)
UpdateUI()
diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm
index d392ab303ca..9ef5dbfcab0 100644
--- a/code/game/dna/dna2_helpers.dm
+++ b/code/game/dna/dna2_helpers.dm
@@ -155,17 +155,17 @@
H.change_gender(MALE, 0)
//Head Markings
- var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE, marking_styles_list.len)
- if((head_marks > 0) && (head_marks <= marking_styles_list.len))
- H.m_styles["head"] = marking_styles_list[head_marks]
+ var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE, GLOB.marking_styles_list.len)
+ if((head_marks > 0) && (head_marks <= GLOB.marking_styles_list.len))
+ H.m_styles["head"] = GLOB.marking_styles_list[head_marks]
//Body Markings
- var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE, marking_styles_list.len)
- if((body_marks > 0) && (body_marks <= marking_styles_list.len))
- H.m_styles["body"] = marking_styles_list[body_marks]
+ var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE, GLOB.marking_styles_list.len)
+ if((body_marks > 0) && (body_marks <= GLOB.marking_styles_list.len))
+ H.m_styles["body"] = GLOB.marking_styles_list[body_marks]
//Tail Markings
- var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE, marking_styles_list.len)
- if((tail_marks > 0) && (tail_marks <= marking_styles_list.len))
- H.m_styles["tail"] = marking_styles_list[tail_marks]
+ var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE, GLOB.marking_styles_list.len)
+ if((tail_marks > 0) && (tail_marks <= GLOB.marking_styles_list.len))
+ H.m_styles["tail"] = GLOB.marking_styles_list[tail_marks]
H.regenerate_icons()
@@ -185,25 +185,25 @@
/datum/dna/proc/write_head_attributes(obj/item/organ/external/head/head_organ)
//Hair
- var/hair = GetUIValueRange(DNA_UI_HAIR_STYLE,hair_styles_full_list.len)
- if((hair > 0) && (hair <= hair_styles_full_list.len))
- head_organ.h_style = hair_styles_full_list[hair]
+ var/hair = GetUIValueRange(DNA_UI_HAIR_STYLE,GLOB.hair_styles_full_list.len)
+ if((hair > 0) && (hair <= GLOB.hair_styles_full_list.len))
+ head_organ.h_style = GLOB.hair_styles_full_list[hair]
head_organ.hair_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_HAIR_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR_B, 255))
head_organ.sec_hair_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_HAIR2_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR2_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR2_B, 255))
//Facial Hair
- var/beard = GetUIValueRange(DNA_UI_BEARD_STYLE,facial_hair_styles_list.len)
- if((beard > 0) && (beard <= facial_hair_styles_list.len))
- head_organ.f_style = facial_hair_styles_list[beard]
+ var/beard = GetUIValueRange(DNA_UI_BEARD_STYLE,GLOB.facial_hair_styles_list.len)
+ if((beard > 0) && (beard <= GLOB.facial_hair_styles_list.len))
+ head_organ.f_style = GLOB.facial_hair_styles_list[beard]
head_organ.facial_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_BEARD_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD_B, 255))
head_organ.sec_facial_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_B, 255))
//Head Accessories
- var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE,head_accessory_styles_list.len)
- if((headacc > 0) && (headacc <= head_accessory_styles_list.len))
- head_organ.ha_style = head_accessory_styles_list[headacc]
+ var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE,GLOB.head_accessory_styles_list.len)
+ if((headacc > 0) && (headacc <= GLOB.head_accessory_styles_list.len))
+ head_organ.ha_style = GLOB.head_accessory_styles_list[headacc]
head_organ.headacc_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_HACC_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_HACC_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_HACC_B, 255))
@@ -229,17 +229,17 @@
return
if(!head_organ.h_style)
head_organ.h_style = "Skinhead"
- var/hair = hair_styles_full_list.Find(head_organ.h_style)
+ var/hair = GLOB.hair_styles_full_list.Find(head_organ.h_style)
// Facial Hair
if(!head_organ.f_style)
head_organ.f_style = "Shaved"
- var/beard = facial_hair_styles_list.Find(head_organ.f_style)
+ var/beard = GLOB.facial_hair_styles_list.Find(head_organ.f_style)
// Head Accessory
if(!head_organ.ha_style)
head_organ.ha_style = "None"
- var/headacc = head_accessory_styles_list.Find(head_organ.ha_style)
+ var/headacc = GLOB.head_accessory_styles_list.Find(head_organ.ha_style)
SetUIValueRange(DNA_UI_HAIR_R, color2R(head_organ.hair_colour), 255, 1)
SetUIValueRange(DNA_UI_HAIR_G, color2G(head_organ.hair_colour), 255, 1)
@@ -261,6 +261,6 @@
SetUIValueRange(DNA_UI_HACC_G, color2G(head_organ.headacc_colour), 255, 1)
SetUIValueRange(DNA_UI_HACC_B, color2B(head_organ.headacc_colour), 255, 1)
- SetUIValueRange(DNA_UI_HAIR_STYLE, hair, hair_styles_full_list.len, 1)
- SetUIValueRange(DNA_UI_BEARD_STYLE, beard, facial_hair_styles_list.len, 1)
- SetUIValueRange(DNA_UI_HACC_STYLE, headacc, head_accessory_styles_list.len, 1)
+ SetUIValueRange(DNA_UI_HAIR_STYLE, hair, GLOB.hair_styles_full_list.len, 1)
+ SetUIValueRange(DNA_UI_BEARD_STYLE, beard, GLOB.facial_hair_styles_list.len, 1)
+ SetUIValueRange(DNA_UI_HACC_STYLE, headacc, GLOB.head_accessory_styles_list.len, 1)
diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm
index f9e8620bef1..9173646ee28 100644
--- a/code/game/dna/genes/vg_powers.dm
+++ b/code/game/dna/genes/vg_powers.dm
@@ -68,7 +68,7 @@
if(new_hair)
M.change_hair_color(new_hair)
- var/datum/sprite_accessory/hair_style = hair_styles_public_list[head_organ.h_style]
+ var/datum/sprite_accessory/hair_style = GLOB.hair_styles_public_list[head_organ.h_style]
if(hair_style.secondary_theme && !hair_style.no_sec_colour)
new_hair = input("Please select secondary hair color.", "Character Generation", head_organ.sec_hair_colour) as null|color
if(new_hair)
@@ -85,7 +85,7 @@
if(new_facial)
M.change_facial_hair_color(new_facial)
- var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[head_organ.f_style]
+ var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hair_styles_list[head_organ.f_style]
if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour)
new_facial = input("Please select secondary facial hair color.", "Character Generation", head_organ.sec_facial_colour) as null|color
if(new_facial)
@@ -239,7 +239,7 @@
else
target.show_message("You hear a voice that seems to echo around the room: [say] ")
user.show_message("You project your mind into [target.name]: [say] ")
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
G.show_message("Telepathic message from [user] ([ghost_follow_link(user, ghost=G)]) to [target] ([ghost_follow_link(target, ghost=G)]): [say] ")
/datum/dna/gene/basic/grant_spell/remoteview
@@ -271,7 +271,7 @@
/obj/effect/proc_holder/spell/targeted/remoteview/choose_targets(mob/user = usr)
var/list/targets = list()
var/list/remoteviewers = new /list()
- for(var/mob/M in living_mob_list)
+ for(var/mob/M in GLOB.living_mob_list)
if(PSY_RESIST in M.mutations)
continue
if(REMOTE_VIEW in M.mutations)
diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm
index 9ecc3e89342..26b95eb77e1 100644
--- a/code/game/gamemodes/autotraitor/autotraitor.dm
+++ b/code/game/gamemodes/autotraitor/autotraitor.dm
@@ -75,7 +75,7 @@
var/playercount = 0
var/traitorcount = 0
var/possible_traitors[0]
- for(var/mob/living/player in mob_list)
+ for(var/mob/living/player in GLOB.mob_list)
if(player.client && player.stat != DEAD)
playercount += 1
if(player.client && player.mind && player.mind.special_role && player.stat != DEAD)
@@ -164,7 +164,7 @@
//message_admins("Checking number of players")
var/playercount = 0
var/traitorcount = 0
- for(var/mob/living/player in mob_list)
+ for(var/mob/living/player in GLOB.mob_list)
if(player.client && player.stat != DEAD)
playercount += 1
if(player.client && player.mind && player.mind.special_role && player.stat != DEAD)
diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm
index 6949de8c9b3..2056c6c6260 100644
--- a/code/game/gamemodes/blob/blob.dm
+++ b/code/game/gamemodes/blob/blob.dm
@@ -54,7 +54,7 @@ var/list/blob_nodes = list()
/datum/game_mode/blob/proc/get_blob_candidates()
var/list/candidates = list()
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(!player.stat && player.mind && !player.mind.special_role && !jobban_isbanned(player, "Syndicate") && (ROLE_BLOB in player.client.prefs.be_special))
candidates += player
return candidates
@@ -113,8 +113,8 @@ var/list/blob_nodes = list()
if(iscarbon(blob.current))
var/mob/living/carbon/C = blob.current
- if(directory[ckey(blob.key)])
- blob_client = directory[ckey(blob.key)]
+ if(GLOB.directory[ckey(blob.key)])
+ blob_client = GLOB.directory[ckey(blob.key)]
location = get_turf(C)
if(!is_station_level(location.z) || istype(location, /turf/space))
if(!warned)
diff --git a/code/game/gamemodes/blob/blob_finish.dm b/code/game/gamemodes/blob/blob_finish.dm
index 9220d82c8f6..a00449d00b5 100644
--- a/code/game/gamemodes/blob/blob_finish.dm
+++ b/code/game/gamemodes/blob/blob_finish.dm
@@ -10,19 +10,19 @@
/datum/game_mode/blob/declare_completion()
if(blobwincount <= blobs.len)
- feedback_set_details("round_end_result","win - blob took over")
+ feedback_set_details("round_end_result","blob win - blob took over")
to_chat(world, "The blob has taken over the station! ")
to_chat(world, "The entire station was eaten by the Blob ")
log_game("Blob mode completed with a blob victory.")
else if(station_was_nuked)
- feedback_set_details("round_end_result","halfwin - nuke")
+ feedback_set_details("round_end_result","blob halfwin - nuke")
to_chat(world, "Partial Win: The station has been destroyed! ")
to_chat(world, "Directive 7-12 has been successfully carried out preventing the Blob from spreading. ")
log_game("Blob mode completed with a tie (station destroyed).")
else if(!blob_cores.len)
- feedback_set_details("round_end_result","loss - blob eliminated")
+ feedback_set_details("round_end_result","blob loss - blob eliminated")
to_chat(world, "The staff has won! ")
to_chat(world, "The alien organism has been eradicated from the station ")
log_game("Blob mode completed with a crew victory.")
diff --git a/code/game/gamemodes/blob/blob_report.dm b/code/game/gamemodes/blob/blob_report.dm
index d4a458f8f78..3d65a41eeb8 100644
--- a/code/game/gamemodes/blob/blob_report.dm
+++ b/code/game/gamemodes/blob/blob_report.dm
@@ -35,7 +35,7 @@
intercepttext += "Nuclear Authentication Code: [nukecode] "
intercepttext += "Message ends."
- for(var/mob/living/silicon/ai/aiPlayer in player_list)
+ for(var/mob/living/silicon/ai/aiPlayer in GLOB.player_list)
if(aiPlayer.client)
var/law = "The station is under quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving. The nuclear failsafe must be activated at any cost, the code is: [nukecode]."
aiPlayer.set_zeroth_law(law)
diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm
index e17b5098c5c..644383f344d 100644
--- a/code/game/gamemodes/blob/blobs/core.dm
+++ b/code/game/gamemodes/blob/blobs/core.dm
@@ -14,7 +14,7 @@
/obj/structure/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring)
blob_cores += src
processing_objects.Add(src)
- poi_list |= src
+ GLOB.poi_list |= src
adjustcolors(color) //so it atleast appears
if(!overmind)
create_overmind(new_overmind)
@@ -42,7 +42,7 @@
overmind.blob_core = null
overmind = null
processing_objects.Remove(src)
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
return ..()
/obj/structure/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index 60ea94befb0..d65fcb24ee6 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -98,7 +98,7 @@
var/verb = "states,"
var/rendered = "Blob Telepathy, [name]([blob_reagent_datum.name]) [verb] \"[message]\" "
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(isovermind(M) || isobserver(M))
M.show_message(rendered, 2)
diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm
index dfae19f5135..35f3c935013 100644
--- a/code/game/gamemodes/blob/powers.dm
+++ b/code/game/gamemodes/blob/powers.dm
@@ -304,7 +304,7 @@
if(!surrounding_turfs.len)
return
- for(var/mob/living/simple_animal/hostile/blob/blobspore/BS in living_mob_list)
+ for(var/mob/living/simple_animal/hostile/blob/blobspore/BS in GLOB.living_mob_list)
if(isturf(BS.loc) && get_dist(BS, T) <= 35)
BS.LoseTarget()
BS.Goto(pick(surrounding_turfs), BS.move_to_delay)
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index 15a3b2e222f..6d0084b9000 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -209,7 +209,7 @@
/obj/structure/blob/proc/get_chem_name()
- for(var/mob/camera/blob/B in mob_list)
+ for(var/mob/camera/blob/B in GLOB.mob_list)
if(lowertext(B.blob_reagent_datum.color) == lowertext(src.color)) // Goddamit why we use strings for these
return B.blob_reagent_datum.name
return "unknown"
diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm
index 52de921d7ec..b9f984b57c0 100644
--- a/code/game/gamemodes/changeling/powers/linglink.dm
+++ b/code/game/gamemodes/changeling/powers/linglink.dm
@@ -49,8 +49,8 @@
if(3)
to_chat(user, "You mold the [target]'s mind like clay, [target.p_they()] can now speak in the hivemind! ")
to_chat(target, "A migraine throbs behind your eyes, you hear yourself screaming - but your mouth has not opened! ")
- for(var/mob/M in mob_list)
- if(all_languages["Changeling"] in M.languages)
+ for(var/mob/M in GLOB.mob_list)
+ if(GLOB.all_languages["Changeling"] in M.languages)
to_chat(M, "We can sense a foreign presence in the hivemind... ")
target.mind.linglink = 1
target.add_language("Changeling")
diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm
index fa6a1a93405..9993388afec 100644
--- a/code/game/gamemodes/changeling/powers/revive.dm
+++ b/code/game/gamemodes/changeling/powers/revive.dm
@@ -52,7 +52,8 @@
IO.rejuvenate()
IO.trace_chemicals.Cut()
H.remove_all_embedded_objects()
- user.updatehealth()
+ user.status_flags &= ~(FAKEDEATH)
+ user.updatehealth("revive sting")
user.update_blind_effects()
user.update_blurry_effects()
@@ -60,7 +61,6 @@
user.regenerate_icons()
- user.status_flags &= ~(FAKEDEATH)
user.update_revive() //Handle waking up the changeling after the regenerative stasis has completed.
user.mind.changeling.purchasedpowers -= src
user.med_hud_set_status()
diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm
index 6d9deeccfae..7f0164535c2 100644
--- a/code/game/gamemodes/changeling/powers/swap_form.dm
+++ b/code/game/gamemodes/changeling/powers/swap_form.dm
@@ -49,7 +49,7 @@
user.mind.transfer_to(target)
if(ghost && ghost.mind)
ghost.mind.transfer_to(user)
- non_respawnable_keys -= ghost.ckey //they have a new body, let them be able to re-enter their corpse if they die
+ GLOB.non_respawnable_keys -= ghost.ckey //they have a new body, let them be able to re-enter their corpse if they die
user.key = ghost.key
qdel(ghost)
user.Paralyse(2)
diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm
index fbb7506f121..060f454dddd 100644
--- a/code/game/gamemodes/changeling/traitor_chan.dm
+++ b/code/game/gamemodes/changeling/traitor_chan.dm
@@ -19,7 +19,7 @@
var/list/datum/mind/possible_changelings = get_players_for_role(ROLE_CHANGELING)
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if((player.mind in possible_changelings) && (player.client.prefs.species in protected_species_changeling))
possible_changelings -= player.mind
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 344bba8f5c2..441292366f0 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -221,7 +221,7 @@ var/global/list/all_cults = list()
/datum/game_mode/cult/proc/get_unconvertables()
var/list/ucs = list()
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(!is_convertable_to_cult(player.mind))
ucs += player.mind
return ucs
@@ -273,11 +273,11 @@ var/global/list/all_cults = list()
bonus_check()
if(!check_cult_victory())
- feedback_set_details("round_end_result","win - cult win")
+ feedback_set_details("round_end_result","cult win - cult win")
feedback_set("round_end_result",acolytes_survived)
to_chat(world, " The cult wins! It has succeeded in serving its dark masters! ")
else
- feedback_set_details("round_end_result","loss - staff stopped the cult")
+ feedback_set_details("round_end_result","cult loss - staff stopped the cult")
feedback_set("round_end_result",acolytes_survived)
to_chat(world, " The staff managed to stop the cult! ")
diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm
index d1350bafc6f..8bd5fc3cc4f 100644
--- a/code/game/gamemodes/cult/cult_comms.dm
+++ b/code/game/gamemodes/cult/cult_comms.dm
@@ -30,10 +30,10 @@
my_message = "Harbringer of the Slaughter: [message] "
else
my_message = "[(ishuman(user) ? "Acolyte" : "Construct")] [user]: [message] "
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(iscultist(M))
to_chat(M, my_message)
- else if(M in dead_mob_list)
- to_chat(M, " (F) [my_message] ")
+ else if(M in GLOB.dead_mob_list)
+ to_chat(M, " (F) [my_message] ")
- log_say("(CULT) [message]", user)
\ No newline at end of file
+ log_say("(CULT) [message]", user)
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index f4252c4a909..6d9269a5e15 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -247,7 +247,7 @@
if(curselimit > 1)
to_chat(user, "We have exhausted our ability to curse the shuttle. ")
return
- if(locate(/obj/singularity/narsie) in poi_list || locate(/mob/living/simple_animal/slaughter/cult) in mob_list)
+ if(locate(/obj/singularity/narsie) in GLOB.poi_list || locate(/mob/living/simple_animal/slaughter/cult) in GLOB.mob_list)
to_chat(user, "Nar-Sie or his avatars are already on this plane, there is no delaying the end of all things. ")
return
diff --git a/code/game/gamemodes/cult/cult_objectives.dm b/code/game/gamemodes/cult/cult_objectives.dm
index 34955ed42d4..beef75e103b 100644
--- a/code/game/gamemodes/cult/cult_objectives.dm
+++ b/code/game/gamemodes/cult/cult_objectives.dm
@@ -21,7 +21,7 @@
if("convert")
explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions."
if("bloodspill")
- spilltarget = 100 + rand(0,player_list.len * 3)
+ spilltarget = 100 + rand(0,GLOB.player_list.len * 3)
explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles."
if("sacrifice")
explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual."
@@ -78,7 +78,7 @@
if("convert")
explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name]. Convert [convert_target] crew members. Take it slowly to avoid raising suspicions."
if("bloodspill")
- spilltarget = 100 + rand(0,player_list.len * 3)
+ spilltarget = 100 + rand(0,GLOB.player_list.len * 3)
explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spread blood and gibs over [spilltarget] of the Station's floor tiles."
if("sacrifice")
explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual."
@@ -151,12 +151,12 @@
/datum/game_mode/cult/proc/get_possible_sac_targets()
var/list/possible_sac_targets = list()
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(player.mind && !is_convertable_to_cult(player.mind) && (player.stat != DEAD))
possible_sac_targets += player.mind
if(!possible_sac_targets.len)
//There are no living Unconvertables on the station. Looking for a Sacrifice Target among the ordinary crewmembers
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(is_secure_level(player.z)) //We can't sacrifice people that are on the centcom z-level
continue
if(player.mind && !(player.mind in cult) && (player.stat != DEAD))//make DAMN sure they are not dead
@@ -180,7 +180,7 @@
if(!mass_convert)
var/living_crew = 0
var/living_cultists = 0
- for(var/mob/living/L in player_list)
+ for(var/mob/living/L in GLOB.player_list)
if(L.stat != DEAD)
if(L.mind in cult)
living_cultists++
@@ -214,7 +214,7 @@
var/list/possible_objectives = list()
var/living_crew = 0
- for(var/mob/living/carbon/C in player_list)
+ for(var/mob/living/carbon/C in GLOB.player_list)
if(C.stat != DEAD)
if(!(C.mind in cult))
var/turf/T = get_turf(C)
@@ -238,7 +238,7 @@
bonus = 1
if("hijack")
- for(var/mob/living/L in player_list)
+ for(var/mob/living/L in GLOB.player_list)
if(L.stat != DEAD && !(L.mind in cult))
var/area/A = get_area(L)
if(is_type_in_list(A.loc, centcom_areas))
@@ -247,7 +247,7 @@
bonus = 1
if("massacre")
- for(var/mob/living/carbon/C in player_list)
+ for(var/mob/living/carbon/C in GLOB.player_list)
if(C.stat != DEAD && !(C.mind in cult))
var/turf/T = get_turf(C)
if(is_station_level(T.z)) //we're only interested in the remaining humans on the station
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index f1409e1e53d..e7c6c89e457 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -46,7 +46,7 @@ To draw a rune, use an arcane tome.
check_icon()
var/image/blood = image(loc = src)
blood.override = 1
- for(var/mob/living/silicon/ai/AI in player_list)
+ for(var/mob/living/silicon/ai/AI in GLOB.player_list)
AI.client.images += blood
/obj/effect/rune/examine(mob/user)
diff --git a/code/game/gamemodes/factions.dm b/code/game/gamemodes/factions.dm
index 1c043ff5f7e..1780881a51d 100644
--- a/code/game/gamemodes/factions.dm
+++ b/code/game/gamemodes/factions.dm
@@ -23,8 +23,8 @@
var/uplink_contents // the contents of the uplink
- proc/assign_objectives(var/datum/mind/traitor)
- ..()
+/datum/faction/syndicate/proc/assign_objectives(var/datum/mind/traitor)
+ ..()
/* ----- Begin defining syndicate factions ------ */
@@ -94,4 +94,4 @@
desc = "The Exolitics are an ancient alien race with an energy-based anatomy. Their culture, communication, morales and knowledge is unknown. They are so radically different to humans that their \
attempts of communication with other life forms is completely incomprehensible. Members of this alien race are capable of broadcasting subspace transmissions from their bodies. \
The religious leaders of the Tiger Cooperative claim to have the technology to decypher and interpret their messages, which have been confirmed as religious propaganda. Their motives are unknown \
- but they are otherwise not considered much of a threat to anyone. They are virtually indestructable because of their nonphysical composition, and have the frighetning ability to make anything stop existing in a second."
\ No newline at end of file
+ but they are otherwise not considered much of a threat to anyone. They are virtually indestructable because of their nonphysical composition, and have the frighetning ability to make anything stop existing in a second."
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 4738816d422..de10fa34c01 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -46,7 +46,7 @@
///Checks to see if the game can be setup and ran with the current number of players or whatnot.
/datum/game_mode/proc/can_start()
var/playerC = 0
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if((player.client)&&(player.ready))
playerC++
@@ -132,7 +132,7 @@
if(MS.active)
useMS = MS
break
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.mind)
var/obj/item/pda/P=null
for(var/obj/item/pda/check_pda in PDAs)
@@ -193,7 +193,7 @@
if(SSshuttle.emergency.mode < SHUTTLE_ENDGAME) //shuttle didn't get to centcom
escape_locations -= /area/shuttle/escape
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.client)
clients++
if(ishuman(M))
@@ -260,7 +260,7 @@
var/roletext = get_roletext(role)
// Assemble a list of active players without jobbans.
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if(player.client && player.ready)
if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, roletext))
if(player_old_enough_antag(player.client,role))
@@ -311,13 +311,13 @@
/datum/game_mode/proc/num_players()
. = 0
- for(var/mob/new_player/P in player_list)
+ for(var/mob/new_player/P in GLOB.player_list)
if(P.client && P.ready)
.++
/datum/game_mode/proc/num_players_started()
. = 0
- for(var/mob/living/carbon/human/H in player_list)
+ for(var/mob/living/carbon/human/H in GLOB.player_list)
if(H.client)
.++
@@ -326,7 +326,7 @@
///////////////////////////////////
/datum/game_mode/proc/get_living_heads()
. = list()
- for(var/mob/living/carbon/human/player in mob_list)
+ for(var/mob/living/carbon/human/player in GLOB.mob_list)
var/list/real_command_positions = command_positions.Copy() - "Nanotrasen Representative"
if(player.stat != DEAD && player.mind && (player.mind.assigned_role in real_command_positions))
. |= player.mind
@@ -337,7 +337,7 @@
////////////////////////////
/datum/game_mode/proc/get_all_heads()
. = list()
- for(var/mob/player in mob_list)
+ for(var/mob/player in GLOB.mob_list)
var/list/real_command_positions = command_positions.Copy() - "Nanotrasen Representative"
if(player.mind && (player.mind.assigned_role in real_command_positions))
. |= player.mind
@@ -347,7 +347,7 @@
//////////////////////////////////////////////
/datum/game_mode/proc/get_living_sec()
. = list()
- for(var/mob/living/carbon/human/player in mob_list)
+ for(var/mob/living/carbon/human/player in GLOB.mob_list)
if(player.stat != DEAD && player.mind && (player.mind.assigned_role in security_positions))
. |= player.mind
@@ -356,7 +356,7 @@
////////////////////////////////////////
/datum/game_mode/proc/get_all_sec()
. = list()
- for(var/mob/living/carbon/human/player in mob_list)
+ for(var/mob/living/carbon/human/player in GLOB.mob_list)
if(player.mind && (player.mind.assigned_role in security_positions))
. |= player.mind
@@ -371,11 +371,11 @@
//////////////////////////
proc/display_roundstart_logout_report()
var/msg = "Roundstart logout report \n\n"
- for(var/mob/living/L in mob_list)
+ for(var/mob/living/L in GLOB.mob_list)
if(L.ckey)
var/found = 0
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(C.ckey == L.ckey)
found = 1
break
@@ -401,7 +401,7 @@ proc/display_roundstart_logout_report()
continue //Dead
continue //Happy connected client
- for(var/mob/dead/observer/D in mob_list)
+ for(var/mob/dead/observer/D in GLOB.mob_list)
if(D.mind && (D.mind.original == L || D.mind.current == L))
if(L.stat == DEAD)
if(L.suiciding) //Suicider
@@ -422,14 +422,14 @@ proc/display_roundstart_logout_report()
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(check_rights(R_ADMIN, 0, M))
to_chat(M, msg)
/proc/get_nt_opposed()
var/list/dudes = list()
- for(var/mob/living/carbon/human/man in player_list)
+ for(var/mob/living/carbon/human/man in GLOB.player_list)
if(man.client)
//don't try picking someone like the captain or a security officer for potential collaborators, even if they ARE opposed to Nanotrasen for some reason
if(man.mind && man.mind.assigned_role)
diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index 1941c0c323f..21abbc89415 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -29,7 +29,6 @@ var/round_start_time = 0
var/list/availablefactions = list() // list of factions with openings
var/pregame_timeleft = 0
-
var/delay_end = 0 //if set to nonzero, the round will not restart on it's own
var/triai = 0//Global holder for Triumvirate
@@ -48,7 +47,7 @@ var/round_start_time = 0
'sound/music/Title2.ogg',\
'sound/music/Title3.ogg',)
do
- pregame_timeleft = 180
+ pregame_timeleft = config.pregame_timestart
to_chat(world, "Welcome to the pre-game lobby! ")
to_chat(world, "Please, setup your character and select ready. Game will start in [pregame_timeleft] seconds")
while(current_state == GAME_STATE_PREGAME)
@@ -145,14 +144,14 @@ var/round_start_time = 0
spawn(0)//Forking here so we dont have to wait for this to finish
mode.post_setup()
//Cleanup some stuff
- for(var/obj/effect/landmark/start/S in landmarks_list)
+ for(var/obj/effect/landmark/start/S in GLOB.landmarks_list)
//Deleting Startpoints but we need the ai point to AI-ize people later
if(S.name != "AI")
qdel(S)
// take care of random spesspod spawning
var/list/obj/effect/landmark/spacepod/random/L = list()
- for(var/obj/effect/landmark/spacepod/random/SS in landmarks_list)
+ for(var/obj/effect/landmark/spacepod/random/SS in GLOB.landmarks_list)
if(istype(SS))
L += SS
if(L.len)
@@ -238,7 +237,7 @@ var/round_start_time = 0
votetimer()
- for(var/mob/new_player/N in mob_list)
+ for(var/mob/new_player/N in GLOB.mob_list)
if(N.client)
N.new_player_panel_proc()
@@ -259,14 +258,14 @@ var/round_start_time = 0
cinematic.mouse_opacity = MOUSE_OPACITY_TRANSPARENT
cinematic.screen_loc = "1,0"
- var/obj/structure/stool/bed/temp_buckle = new(src)
+ var/obj/structure/bed/temp_buckle = new(src)
if(station_missed)
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
M.buckled = temp_buckle //buckles the mob so it can't do anything
if(M.client)
M.client.screen += cinematic //show every client the cinematic
else //nuke kills everyone on z-level 1 to prevent "hurr-durr I survived"
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
M.buckled = temp_buckle
if(M.stat != DEAD)
var/turf/T = get_turf(M)
@@ -343,7 +342,7 @@ var/round_start_time = 0
/datum/controller/gameticker/proc/create_characters()
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if(player.ready && player.mind)
if(player.mind.assigned_role == "AI")
player.close_spawn_windows()
@@ -357,14 +356,14 @@ var/round_start_time = 0
/datum/controller/gameticker/proc/collect_minds()
- for(var/mob/living/player in player_list)
+ for(var/mob/living/player in GLOB.player_list)
if(player.mind)
ticker.minds += player.mind
/datum/controller/gameticker/proc/equip_characters()
var/captainless=1
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(player && player.mind && player.mind.assigned_role)
if(player.mind.assigned_role == "Captain")
captainless=0
@@ -373,7 +372,7 @@ var/round_start_time = 0
job_master.EquipRank(player, player.mind.assigned_role, 0)
EquipCustomItems(player)
if(captainless)
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(!istype(M,/mob/new_player))
to_chat(M, "Captainship not forced on anyone.")
@@ -428,7 +427,7 @@ var/round_start_time = 0
to_chat(world, " ")
//Silicon laws report
- for(var/mob/living/silicon/ai/aiPlayer in mob_list)
+ for(var/mob/living/silicon/ai/aiPlayer in GLOB.mob_list)
if(aiPlayer.stat != 2)
to_chat(world, "[aiPlayer.name] (Played by: [aiPlayer.key])'s laws at the end of the game were: ")
else
@@ -443,7 +442,7 @@ var/round_start_time = 0
var/dronecount = 0
- for(var/mob/living/silicon/robot/robo in mob_list)
+ for(var/mob/living/silicon/robot/robo in GLOB.mob_list)
if(istype(robo,/mob/living/silicon/robot/drone))
dronecount++
diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm
index ca868f4874e..5e8be8b1229 100644
--- a/code/game/gamemodes/intercept_report.dm
+++ b/code/game/gamemodes/intercept_report.dm
@@ -89,7 +89,7 @@
/*
/datum/intercept_text/proc/pick_mob()
var/list/dudes = list()
- for(var/mob/living/carbon/human/man in player_list)
+ for(var/mob/living/carbon/human/man in GLOB.player_list)
if(!man.mind) continue
if(man.mind.assigned_role == man.mind.special_role) continue
dudes += man
@@ -109,7 +109,7 @@
/datum/intercept_text/proc/get_suspect()
var/list/dudes = list()
- for(var/mob/living/carbon/human/man in player_list)
+ for(var/mob/living/carbon/human/man in GLOB.player_list)
if(man.client && man.client.prefs.nanotrasen_relation == "Opposed")
//don't include suspects who can't possibly be the antag based on their job (no suspecting the captain of being a damned dirty tator)
if(man.mind && man.mind.assigned_role)
@@ -119,8 +119,8 @@
if(man.dna.species.name in ticker.mode.protected_species)
return
dudes += man
- for(var/i = 0, i < max(player_list.len/10,2), i++)
- dudes += pick(player_list)
+ for(var/i = 0, i < max(GLOB.player_list.len/10,2), i++)
+ dudes += pick(GLOB.player_list)
return pick(dudes)
/datum/intercept_text/proc/build_traitor(datum/mind/correct_person)
@@ -211,11 +211,11 @@
if(prob(prob_right_job))
if(correct_person)
if(correct_person:assigned_role == correct_person:special_role)
- changeling_job = pick(joblist)
+ changeling_job = pick(GLOB.joblist)
else
changeling_job = correct_person:assigned_role
else
- changeling_job = pick(joblist)
+ changeling_job = pick(GLOB.joblist)
if(prob(prob_right_dude) && ticker.mode == "changeling")
if(correct_person:assigned_role == correct_person:special_role)
changeling_name = correct_person:current
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 0e536132f52..5f886d8fade 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -37,7 +37,7 @@
doomsday_device = DOOM
doomsday_device.start()
verbs -= /mob/living/silicon/ai/proc/nuke_station
- for(var/obj/item/pinpointer/point in pinpointer_list)
+ for(var/obj/item/pinpointer/point in GLOB.pinpointer_list)
for(var/mob/living/silicon/ai/A in ai_list)
if((A.stat != DEAD) && A.nuking)
point.the_disk = A //The pinpointer now tracks the AI core
@@ -56,7 +56,7 @@
var/announced = 0
/obj/machinery/doomsday_device/Destroy()
- fast_processing -= src
+ GLOB.fast_processing -= src
SSshuttle.emergencyNoEscape = 0
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
SSshuttle.emergency.mode = SHUTTLE_DOCKED
@@ -67,7 +67,7 @@
/obj/machinery/doomsday_device/proc/start()
detonation_timer = world.time + default_timer
timing = 1
- fast_processing += src
+ GLOB.fast_processing += src
SSshuttle.emergencyNoEscape = 1
/obj/machinery/doomsday_device/proc/seconds_remaining()
@@ -84,7 +84,7 @@
priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg')
qdel(src)
if(!timing)
- fast_processing -= src
+ GLOB.fast_processing -= src
return
var/sec_left = seconds_remaining()
if(sec_left <= 0)
@@ -99,10 +99,10 @@
announced = max(0, announced-1)
/obj/machinery/doomsday_device/proc/detonate(z_level = 1)
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
M << 'sound/machines/Alarm.ogg'
sleep(100)
- for(var/mob/living/L in mob_list)
+ for(var/mob/living/L in GLOB.mob_list)
var/turf/T = get_turf(L)
if(!T || T.z != z_level)
continue
@@ -131,7 +131,7 @@
return
src.verbs -= /mob/living/silicon/ai/proc/upgrade_turrets
- for(var/obj/machinery/porta_turret/turret in machines)
+ for(var/obj/machinery/porta_turret/turret in GLOB.machines)
var/turf/T = get_turf(turret)
if(is_station_level(T.z))
turret.health += 30
@@ -156,7 +156,7 @@
if(stat)
return
- for(var/obj/machinery/door/D in airlocks)
+ for(var/obj/machinery/door/D in GLOB.airlocks)
if(!is_station_level(D.z))
continue
INVOKE_ASYNC(D, /obj/machinery/door.proc/hostile_lockdown, src)
@@ -188,7 +188,7 @@
if(stat || malf_cooldown > world.time)
return
- for(var/obj/item/rcd/RCD in rcd_list)
+ for(var/obj/item/rcd/RCD in GLOB.rcd_list)
if(!istype(RCD, /obj/item/rcd/borg)) //Ensures that cyborg RCDs are spared.
RCD.detonate_pulse()
@@ -237,7 +237,7 @@
if(stat)
return
- for(var/obj/machinery/firealarm/F in machines)
+ for(var/obj/machinery/firealarm/F in GLOB.machines)
if(!is_station_level(F.z))
continue
F.emagged = 1
@@ -262,7 +262,7 @@
if(stat)
return
- for(var/obj/machinery/alarm/AA in machines)
+ for(var/obj/machinery/alarm/AA in GLOB.machines)
if(!is_station_level(AA.z))
continue
AA.emagged = 1
@@ -279,7 +279,7 @@
power_type = /mob/living/silicon/ai/proc/overload_machine
-/mob/living/silicon/ai/proc/overload_machine(obj/machinery/M in machines)
+/mob/living/silicon/ai/proc/overload_machine(obj/machinery/M in GLOB.machines)
set name = "Overload Machine"
set category = "Malfunction"
@@ -312,7 +312,7 @@
power_type = /mob/living/silicon/ai/proc/override_machine
-/mob/living/silicon/ai/proc/override_machine(obj/machinery/M in machines)
+/mob/living/silicon/ai/proc/override_machine(obj/machinery/M in GLOB.machines)
set name = "Override Machine"
set category = "Malfunction"
@@ -428,7 +428,7 @@
for(var/datum/AI_Module/small/blackout/blackout in current_modules)
if(blackout.uses > 0)
blackout.uses --
- for(var/obj/machinery/power/apc/apc in apcs)
+ for(var/obj/machinery/power/apc/apc in GLOB.apcs)
if(prob(30*apc.overload))
apc.overload_lighting()
else
diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm
index 18b2e020716..ee0ef02d1dc 100644
--- a/code/game/gamemodes/meteor/meteor.dm
+++ b/code/game/gamemodes/meteor/meteor.dm
@@ -33,7 +33,7 @@
/datum/game_mode/meteor/declare_completion()
var/text
var/survivors = 0
- for(var/mob/living/player in player_list)
+ for(var/mob/living/player in GLOB.player_list)
if(player.stat != DEAD)
var/turf/location = get_turf(player.loc)
if(!location) continue
@@ -54,8 +54,8 @@
else
to_chat(world, "Nobody survived the meteor storm! ")
- feedback_set_details("round_end_result","end - evacuation")
- feedback_set("round_end_result",survivors)
+ feedback_set_details("round_end_result","meteor end - evacuation")
+ feedback_set("round_end_result", "Meteor survivors: [survivors]")
..()
return 1
diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm
index 0828d01e4f6..f55d0ef7520 100644
--- a/code/game/gamemodes/meteor/meteors.dm
+++ b/code/game/gamemodes/meteor/meteors.dm
@@ -98,7 +98,7 @@
var/meteorsound = 'sound/effects/meteorimpact.ogg'
var/z_original = 1
- var/meteordrop = /obj/item/ore/iron
+ var/meteordrop = /obj/item/stack/ore/iron
var/dropamt = 2
/obj/effect/meteor/Move()
@@ -118,13 +118,13 @@
return .
/obj/effect/meteor/Destroy()
- meteor_list -= src
+ GLOB.meteor_list -= src
walk(src,0) //this cancels the walk_towards() proc
return ..()
/obj/effect/meteor/New()
..()
- meteor_list += src
+ GLOB.meteor_list += src
SpinAnimation()
/obj/effect/meteor/Bump(atom/A)
@@ -174,7 +174,7 @@
var/sound/meteor_sound = sound(meteorsound)
var/random_frequency = get_rand_frequency()
- for(var/P in player_list)
+ for(var/P in GLOB.player_list)
var/mob/M = P
var/turf/T = get_turf(M)
if(!T || T.z != src.z)
@@ -196,7 +196,7 @@
hits = 1
hitpwr = 3
meteorsound = 'sound/weapons/tap.ogg'
- meteordrop = /obj/item/ore/glass
+ meteordrop = /obj/item/stack/ore/glass
//Medium-sized
/obj/effect/meteor/medium
@@ -226,7 +226,7 @@
hits = 5
heavy = 1
meteorsound = 'sound/effects/bamf.ogg'
- meteordrop = /obj/item/ore/plasma
+ meteordrop = /obj/item/stack/ore/plasma
/obj/effect/meteor/flaming/meteor_effect()
..(heavy)
@@ -237,7 +237,7 @@
name = "glowing meteor"
icon_state = "glowing"
heavy = 1
- meteordrop = /obj/item/ore/uranium
+ meteordrop = /obj/item/stack/ore/uranium
/obj/effect/meteor/irradiated/meteor_effect()
@@ -256,7 +256,7 @@
hitpwr = 1
heavy = 1
meteorsound = 'sound/effects/bamf.ogg'
- meteordrop = /obj/item/ore/plasma
+ meteordrop = /obj/item/stack/ore/plasma
/obj/effect/meteor/tunguska/meteor_effect()
..(heavy)
diff --git a/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm b/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm
index af2920c4626..0d891edb3eb 100644
--- a/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm
+++ b/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm
@@ -88,7 +88,7 @@
explanation_text = "Call forth a spirit from the other side."
/datum/objective/abductee/calling/New()
- var/mob/dead/D = pick(dead_mob_list)
+ var/mob/dead/D = pick(GLOB.dead_mob_list)
if(D)
explanation_text = "You know that [D] has perished. Hold a seance to call them from the spirit realm."
diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm
index 9926f27ef10..513bdeb4357 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction.dm
@@ -99,7 +99,7 @@
var/list/obj/effect/landmark/abductor/scientist_landmarks = list()
agent_landmarks.len = max_teams
scientist_landmarks.len = max_teams
- for(var/obj/effect/landmark/abductor/A in landmarks_list)
+ for(var/obj/effect/landmark/abductor/A in GLOB.landmarks_list)
if(istype(A,/obj/effect/landmark/abductor/agent))
agent_landmarks[text2num(A.team)] = A
else if(istype(A,/obj/effect/landmark/abductor/scientist))
@@ -166,7 +166,7 @@
abductor.announce_objectives()
/datum/game_mode/abduction/proc/get_team_console(team_number)
- for(var/obj/machinery/abductor/console/C in machines)
+ for(var/obj/machinery/abductor/console/C in GLOB.machines)
if(C.team == team_number)
return C
@@ -237,7 +237,7 @@
return FALSE
var/datum/species/abductor/S = H.dna.species
ab_team = S.team
- for(var/obj/machinery/abductor/experiment/E in machines)
+ for(var/obj/machinery/abductor/experiment/E in GLOB.machines)
if(E.team == ab_team)
if(E.points >= target_amount)
return TRUE
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index 92797f6a1e5..05a29a5f3f4 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -119,7 +119,7 @@
/obj/item/clothing/suit/armor/abductor/Destroy()
processing_objects.Remove(src)
- for(var/obj/machinery/abductor/console/C in machines)
+ for(var/obj/machinery/abductor/console/C in GLOB.machines)
if(C.vest == src)
C.vest = null
break
@@ -491,7 +491,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(ishuman(L))
var/mob/living/carbon/human/H = L
- H.forcesay(hit_appends)
+ H.forcesay(GLOB.hit_appends)
add_attack_logs(user, L, "Stunned with [src]")
@@ -561,9 +561,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
/obj/item/restraints/handcuffs/energy/used/dropped(mob/user)
user.visible_message("[user]'s [src] break in a discharge of energy! ", \
"[user]'s [src] break in a discharge of energy! ")
- var/datum/effect_system/spark_spread/S = new
- S.set_up(4,0,user.loc)
- S.start()
+ do_sparks(4, 0, user.loc)
. = ..()
/obj/item/abductor_baton/examine(mob/user)
@@ -736,6 +734,8 @@ Congratulations! You are now trained for invasive xenobiology research!"}
icon_state = "bed"
no_icon_updates = 1 //no icon updates for this; it's static.
injected_reagents = list("corazone","spaceacillin")
+ reagent_target_amount = 31 //the patient needs at least 30u of spaceacillin to prevent necrotization.
+ inject_amount = 10
/obj/structure/closet/abductor
name = "alien locker"
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
index bb39e90cd01..c90aaac19d8 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
@@ -6,7 +6,7 @@
l_ear = /obj/item/radio/headset/abductor
/datum/outfit/abductor/proc/get_team_console(team_number)
- for(var/obj/machinery/abductor/console/C in machines)
+ for(var/obj/machinery/abductor/console/C in GLOB.machines)
if(C.team == team_number)
return C
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm
index cd4f80f2527..25b9025a764 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm
@@ -14,7 +14,7 @@
icon_state = "camera"
/obj/machinery/computer/camera_advanced/abductor/New()
- abductor_equipment.Add(src)
+ GLOB.abductor_equipment.Add(src)
..()
/obj/machinery/computer/camera_advanced/abductor/CreateEye()
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
index 0e8c4d3c409..3598a5775a7 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
@@ -4,11 +4,11 @@
var/team = 0
/obj/machinery/abductor/New()
- abductor_equipment.Add(src)
+ GLOB.abductor_equipment.Add(src)
..()
/obj/machinery/abductor/Destroy()
- abductor_equipment.Remove(src)
+ GLOB.abductor_equipment.Remove(src)
return ..()
//Console
@@ -152,17 +152,17 @@
/obj/machinery/abductor/console/proc/Link_Abduction_Equipment() // these must all be explicitly `in machines` or they will not properly link.
- for(var/obj/machinery/abductor/pad/p in abductor_equipment)
+ for(var/obj/machinery/abductor/pad/p in GLOB.abductor_equipment)
if(p.team == team)
pad = p
break
- for(var/obj/machinery/abductor/experiment/e in abductor_equipment)
+ for(var/obj/machinery/abductor/experiment/e in GLOB.abductor_equipment)
if(e.team == team)
experiment = e
e.console = src
- for(var/obj/machinery/computer/camera_advanced/abductor/c in abductor_equipment)
+ for(var/obj/machinery/computer/camera_advanced/abductor/c in GLOB.abductor_equipment)
if(c.team == team)
camera = c
c.console = src
@@ -194,7 +194,7 @@
if(vest == V)
return FALSE
- for(var/obj/machinery/abductor/console/C in machines)
+ for(var/obj/machinery/abductor/console/C in GLOB.machines)
if(C.vest == V)
C.vest = null
break
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
index ce30708a76f..f7ff2864608 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
@@ -46,7 +46,5 @@
duration = 80
/obj/effect/temp_visual/teleport_abductor/New()
- var/datum/effect_system/spark_spread/S = new
- S.set_up(10,0,loc)
- S.start()
+ do_sparks(10, 0, loc)
..()
\ No newline at end of file
diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm
index a0ccbad7ab6..6cdfdc736d9 100644
--- a/code/game/gamemodes/miniantags/borer/borer.dm
+++ b/code/game/gamemodes/miniantags/borer/borer.dm
@@ -22,7 +22,7 @@
to_chat(src, "You whisper silently, \"[message]\"")
to_chat(B.host, "The captive mind of [src] whispers, \"[message]\" ")
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M.mind && isobserver(M))
to_chat(M, "Thought-speech, [src] -> [B.truename]: [message] ")
@@ -91,6 +91,7 @@
)
var/talk_inside_host = FALSE // So that borers don't accidentally give themselves away on a botched message
var/used_dominate
+ var/attempting_to_dominate = FALSE // To prevent people from spam opening the Dominate Victim input
var/chemicals = 10 // Chemicals used for reproduction and chemical injection.
var/max_chems = 250
var/mob/living/carbon/human/host // Human host for the brain worm.
@@ -181,7 +182,7 @@
if(host)
to_chat(host, "[truename] [say_string]: [input] ")
log_say("(BORER to [key_name(host)]) [input]", src)
- for(var/M in dead_mob_list)
+ for(var/M in GLOB.dead_mob_list)
if(isobserver(M))
to_chat(M, "Borer Communication from [truename] ([ghost_follow_link(src, ghost=M)]): [input] ")
to_chat(src, "[truename] [say_string]: [input] ")
@@ -217,7 +218,7 @@
to_chat(B, "[src] says: [input] ")
log_say("(BORER to [key_name(B)]) [input]", src)
- for(var/M in dead_mob_list)
+ for(var/M in GLOB.dead_mob_list)
if(isobserver(M))
to_chat(M, "Borer Communication from [src] ([ghost_follow_link(src, ghost=M)]): [input] ")
to_chat(src, "[src] says: [input] ")
@@ -239,7 +240,7 @@
to_chat(CB, "[B.truename] says: [input] ")
log_say("(BORER to [key_name(CB)]) [input]", B)
- for(var/M in dead_mob_list)
+ for(var/M in GLOB.dead_mob_list)
if(isobserver(M))
to_chat(M, "Borer Communication from [B] ([ghost_follow_link(src, ghost=M)]): [input] ")
to_chat(src, "[B.truename] says: [input] ")
@@ -325,6 +326,9 @@
to_chat(src, "You cannot infest someone who is already infested!")
return
+ if(incapacitated())
+ return
+
to_chat(src, "You slither up [M] and begin probing at [M.p_their()] ear canal...")
if(!do_after(src, 50, target = M))
@@ -397,7 +401,7 @@
for(var/datum in typesof(/datum/borer_chem))
var/datum/borer_chem/C = datum
var/cname = initial(C.chemname)
- var/datum/reagent/R = chemical_reagents_list[cname]
+ var/datum/reagent/R = GLOB.chemical_reagents_list[cname]
if(cname)
content += "[R.name] ([initial(C.chemuse)]) [initial(C.chemdesc)]
"
@@ -431,7 +435,7 @@
if(!C || !host || controlling || !src || stat)
return
- var/datum/reagent/R = chemical_reagents_list[C.chemname]
+ var/datum/reagent/R = GLOB.chemical_reagents_list[C.chemname]
if(chemicals < C.chemuse)
to_chat(src, "You need [C.chemuse] chemicals stored to secrete [R.name]! ")
return
@@ -471,7 +475,7 @@
set category = "Borer"
set name = "Dominate Victim"
set desc = "Freeze the limbs of a potential host with supernatural fear."
-
+
if(world.time - used_dominate < 150)
to_chat(src, "You cannot use that ability again so soon.")
return
@@ -483,23 +487,43 @@
if(stat)
to_chat(src, "You cannot do that in your current state.")
return
-
+
+ if(attempting_to_dominate)
+ to_chat(src, "You're already targeting someone!")
+ return
+
var/list/choices = list()
for(var/mob/living/carbon/C in view(3,src))
if(C.stat != DEAD)
choices += C
-
+
if(world.time - used_dominate < 300)
to_chat(src, "You cannot use that ability again so soon.")
return
-
+
+ attempting_to_dominate = TRUE
+
var/mob/living/carbon/M = input(src,"Who do you wish to dominate?") in null|choices
- if(!M || !src)
+ if(!M)
+ attempting_to_dominate = FALSE
+ return
+
+ if(!src) //different statement to avoid a runtime since if the source is deleted then attempting_to_dominate would also be deleted
return
if(M.has_brain_worms())
to_chat(src, "You cannot dominate someone who is already infested!")
+ attempting_to_dominate = FALSE
+ return
+
+ if(incapacitated())
+ attempting_to_dominate = FALSE
+ return
+
+ if(get_dist(src, M) > 7) //to avoid people remotely doing from across the map etc, 7 is the default view range
+ to_chat(src, "You're too far away! ")
+ attempting_to_dominate = FALSE
return
to_chat(src, "You focus your psychic lance on [M] and freeze [M.p_their()] limbs with a wave of terrible dread. ")
@@ -507,6 +531,7 @@
M.Weaken(3)
used_dominate = world.time
+ attempting_to_dominate = FALSE
/mob/living/simple_animal/borer/verb/release_host()
set category = "Borer"
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index a3a029005d5..9a8ead8b289 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -110,7 +110,7 @@
AIStatus = AI_OFF
var/resources = 0 //Resource points, generated by consuming metal/glass
var/max_resources = 100
- loot = list(/obj/effect/decal/cleanable/blood/gibs/robot, /obj/item/ore/bluespace_crystal/artificial)
+ loot = list(/obj/effect/decal/cleanable/blood/gibs/robot, /obj/item/stack/ore/bluespace_crystal/artificial)
deathmessage = "The swarmer explodes with a sharp pop!"
del_on_death = 1
hud_possible = list(SPECIALROLE_HUD, DIAG_STAT_HUD, DIAG_HUD)
@@ -585,6 +585,6 @@
/mob/living/simple_animal/hostile/swarmer/proc/ContactSwarmers()
var/message = input(src, "Announce to other swarmers", "Swarmer contact")
if(message)
- for(var/mob/M in mob_list)
- if(isswarmer(M) || (M in dead_mob_list))
+ for(var/mob/M in GLOB.mob_list)
+ if(isswarmer(M) || (M in GLOB.dead_mob_list))
to_chat(M, "Swarm communication - [src] states: [message]")
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
index 7a16ef17857..d611092bb2b 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
@@ -19,7 +19,7 @@
/datum/event/spawn_swarmer/proc/find_swarmer()
- for(var/mob/living/M in mob_list)
+ for(var/mob/living/M in GLOB.mob_list)
if(istype(M, /mob/living/simple_animal/hostile/swarmer) && M.client) //If there is a swarmer with an active client, we've found our swarmer
return 1
return 0
diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm
index 449e5f5ae3a..bd08ff210d5 100644
--- a/code/game/gamemodes/miniantags/guardian/guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/guardian.dm
@@ -165,11 +165,11 @@
var/input = stripped_input(src, "Please enter a message to tell your summoner.", "Guardian", "")
if(!input) return
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M == summoner)
to_chat(M, "[src]: [input] ")
log_say("(GUARDIAN to [key_name(M)]) [input]", src)
- else if(M in dead_mob_list)
+ else if(M in GLOB.dead_mob_list)
to_chat(M, "Guardian Communication from [src] ([ghost_follow_link(src, ghost=M)]): [input] ")
to_chat(src, "[src]: [input] ")
@@ -184,14 +184,14 @@
var/input = stripped_input(src, "Please enter a message to tell your guardian.", "Message", "")
if(!input) return
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(istype (M, /mob/living/simple_animal/hostile/guardian))
var/mob/living/simple_animal/hostile/guardian/G = M
if(G.summoner == src)
to_chat(G, "[src]: [input] ")
log_say("(GUARDIAN to [key_name(G)]) [input]", src)
- else if(M in dead_mob_list)
+ else if(M in GLOB.dead_mob_list)
to_chat(M, "Guardian Communication from [src] ([ghost_follow_link(src, ghost=M)]): [input] ")
to_chat(src, "[src]: [input] ")
@@ -199,7 +199,7 @@
set name = "Recall Guardian"
set category = "Guardian"
set desc = "Forcibly recall your guardian."
- for(var/mob/living/simple_animal/hostile/guardian/G in mob_list)
+ for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.mob_list)
if(G.summoner == src)
G.Recall()
@@ -209,7 +209,7 @@
set desc = "Re-rolls which ghost will control your Guardian. One use."
src.verbs -= /mob/living/proc/guardian_reset
- for(var/mob/living/simple_animal/hostile/guardian/G in mob_list)
+ for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.mob_list)
if(G.summoner == src)
var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as [G.real_name]?", ROLE_GUARDIAN, 0, 100)
var/mob/dead/observer/new_stand = null
@@ -251,9 +251,15 @@
var/ling_failure = "The deck refuses to respond to a souless creature such as you."
var/list/possible_guardians = list("Chaos", "Standard", "Ranged", "Support", "Explosive", "Assassin", "Lightning", "Charger", "Protector")
var/random = TRUE
+ var/color_list = list("Pink" = "#FFC0CB",
+ "Red" = "#FF0000",
+ "Orange" = "#FFA500",
+ "Green" = "#008000",
+ "Blue" = "#0000FF")
+ var/name_list = list("Aries", "Leo", "Sagittarius", "Taurus", "Virgo", "Capricorn", "Gemini", "Libra", "Aquarius", "Cancer", "Scorpio", "Pisces")
/obj/item/guardiancreator/attack_self(mob/living/user)
- for(var/mob/living/simple_animal/hostile/guardian/G in living_mob_list)
+ for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.living_mob_list)
if(G.summoner == user)
to_chat(user, "You already have a [mob_name]!")
return
@@ -275,15 +281,19 @@
to_chat(user, "[failure_message]")
used = FALSE
+/obj/item/guardiancreator/examine(mob/user, distance)
+ . = ..()
+ if(used)
+ to_chat(user, "[used_message] ")
-/obj/item/guardiancreator/proc/spawn_guardian(var/mob/living/user, var/key)
- var/gaurdiantype = "Standard"
+/obj/item/guardiancreator/proc/spawn_guardian(mob/living/user, key)
+ var/guardian_type = "Standard"
if(random)
- gaurdiantype = pick(possible_guardians)
+ guardian_type = pick(possible_guardians)
else
- gaurdiantype = input(user, "Pick the type of [mob_name]", "[mob_name] Creation") as null|anything in possible_guardians
+ guardian_type = input(user, "Pick the type of [mob_name]", "[mob_name] Creation") as null|anything in possible_guardians
var/pickedtype = /mob/living/simple_animal/hostile/guardian/punch
- switch(gaurdiantype)
+ switch(guardian_type)
if("Chaos")
pickedtype = /mob/living/simple_animal/hostile/guardian/fire
@@ -325,84 +335,19 @@
user.verbs += /mob/living/proc/guardian_recall
user.verbs += /mob/living/proc/guardian_reset
- var/color
-
- //names and their RGB
- var/magic_list = list("Pink" = "#FFC0CB", \
- "Red" = "#FF0000", \
- "Orange" = "#FFA500", \
- "Green" = "#008000", \
- "Blue" = "#0000FF")
-
- var/tech_list = list("Rose" = "#F62C6B", \
- "Peony" = "#E54750", \
- "Lily" = "#F6562C", \
- "Daisy" = "#ECCD39", \
- "Zinnia" = "#89F62C", \
- "Ivy" = "#5DF62C", \
- "Iris" = "#2CF6B8", \
- "Petunia" = "#51A9D4", \
- "Violet" = "#8A347C", \
- "Lilac" = "#C7A0F6", \
- "Orchid" = "#F62CF5")
-
- var/bio_list = list("Rose" = "#F62C6B", \
- "Peony" = "#E54750", \
- "Lily" = "#F6562C", \
- "Daisy" = "#ECCD39", \
- "Zinnia" = "#89F62C", \
- "Ivy" = "#5DF62C", \
- "Iris" = "#2CF6B8", \
- "Petunia" = "#51A9D4", \
- "Violet" = "#8A347C", \
- "Lilac" = "#C7A0F6", \
- "Orchid" = "#F62CF5")
-
- var/picked_name
-// var/picked_color = pick("#FFFFFF","#000000","#808080","#A52A2A","#FF0000","#8B0000","#DC143C","#FFA500","#FFFF00","#008000","#00FF00","#006400","#00FFFF","#0000FF","#000080","#008080","#800080","#4B0082")
-
- switch(theme)
- if("magic")
- color = pick(magic_list)
- G.name_color = magic_list[color]
- picked_name = pick("Aries", "Leo", "Sagittarius", "Taurus", "Virgo", "Capricorn", "Gemini", "Libra", "Aquarius", "Cancer", "Scorpio", "Pisces")
-
- G.name = "[picked_name] [color]"
- G.real_name = "[picked_name] [color]"
- G.icon_living = "[theme][color]"
- G.icon_state = "[theme][color]"
- G.icon_dead = "[theme][color]"
-
- to_chat(user, "[G.magic_fluff_string].")
- if("tech")
- color = pick(tech_list) //technically not colors, just flowers that can be specific colors
- G.name_color = tech_list[color]
- picked_name = pick("Gallium", "Indium", "Thallium", "Bismuth", "Aluminium", "Mercury", "Iron", "Silver", "Zinc", "Titanium", "Chromium", "Nickel", "Platinum", "Tellurium", "Palladium", "Rhodium", "Cobalt", "Osmium", "Tungsten", "Iridium")
-
- G.name = "[picked_name] [color]"
- G.real_name = "[picked_name] [color]"
- G.icon_living = "[theme][color]"
- G.icon_state = "[theme][color]"
- G.icon_dead = "[theme][color]"
-
- to_chat(user, "[G.tech_fluff_string].")
- G.speak_emote = list("states")
- if("bio")
- color = pick(bio_list) //technically not colors, just using the same flowers as tech currerntly
- G.name_color = tech_list[color]
- picked_name = pick("brood", "hive", "nest")
- to_chat(user, "[G.bio_fluff_string].")
-
- G.name = "[color] [picked_name]"
- G.real_name = "[color] [picked_name]"
- G.icon_living = "[theme][color]"
- G.icon_state = "[theme][color]"
- G.icon_dead = "[theme][color]"
-
- to_chat(user, "[G.bio_fluff_string].")
- G.attacktext = "swarms"
- G.speak_emote = list("chitters")
+ var/color = pick(color_list)
+ G.name_color = color_list[color]
+ var/picked_name = pick(name_list)
+ create_theme(G, user, picked_name, color)
+/obj/item/guardiancreator/proc/create_theme(mob/living/simple_animal/hostile/guardian/G, mob/living/user, picked_name, color)
+ G.name = "[picked_name] [color]"
+ G.real_name = "[picked_name] [color]"
+ G.icon_living = "[theme][color]"
+ G.icon_state = "[theme][color]"
+ G.icon_dead = "[theme][color]"
+ to_chat(user, "[G.magic_fluff_string].")
+
/obj/item/guardiancreator/choose
random = FALSE
@@ -417,6 +362,27 @@
used_message = "The injector has already been used."
failure_message = "...ERROR. BOOT SEQUENCE ABORTED. AI FAILED TO INTIALIZE. PLEASE CONTACT SUPPORT OR TRY AGAIN LATER. "
ling_failure = "The holoparasites recoil in horror. They want nothing to do with a creature like you."
+ color_list = list("Rose" = "#F62C6B",
+ "Peony" = "#E54750",
+ "Lily" = "#F6562C",
+ "Daisy" = "#ECCD39",
+ "Zinnia" = "#89F62C",
+ "Ivy" = "#5DF62C",
+ "Iris" = "#2CF6B8",
+ "Petunia" = "#51A9D4",
+ "Violet" = "#8A347C",
+ "Lilac" = "#C7A0F6",
+ "Orchid" = "#F62CF5")
+ name_list = list("Gallium", "Indium", "Thallium", "Bismuth", "Aluminium", "Mercury", "Iron", "Silver", "Zinc", "Titanium", "Chromium", "Nickel", "Platinum", "Tellurium", "Palladium", "Rhodium", "Cobalt", "Osmium", "Tungsten", "Iridium")
+
+/obj/item/guardiancreator/tech/create_theme(mob/living/simple_animal/hostile/guardian/G, mob/living/user, picked_name, color)
+ G.name = "[picked_name] [color]"
+ G.real_name = "[picked_name] [color]"
+ G.icon_living = "[theme][color]"
+ G.icon_state = "[theme][color]"
+ G.icon_dead = "[theme][color]"
+ to_chat(user, "[G.tech_fluff_string].")
+ G.speak_emote = list("states")
/obj/item/guardiancreator/tech/check_uplink_validity()
return !used
@@ -434,6 +400,28 @@
use_message = "The eggs begin to twitch..."
used_message = "The cluster already hatched."
failure_message = "...but soon settles again. Guess they weren't ready to hatch after all. "
+ color_list = list("Rose" = "#F62C6B",
+ "Peony" = "#E54750",
+ "Lily" = "#F6562C",
+ "Daisy" = "#ECCD39",
+ "Zinnia" = "#89F62C",
+ "Ivy" = "#5DF62C",
+ "Iris" = "#2CF6B8",
+ "Petunia" = "#51A9D4",
+ "Violet" = "#8A347C",
+ "Lilac" = "#C7A0F6",
+ "Orchid" = "#F62CF5")
+ name_list = list("brood", "hive", "nest")
+
+/obj/item/guardiancreator/biological/create_theme(mob/living/simple_animal/hostile/guardian/G, mob/living/user, picked_name, color)
+ G.name = "[color] [picked_name]"
+ G.real_name = "[color] [picked_name]"
+ G.icon_living = "[theme][color]"
+ G.icon_state = "[theme][color]"
+ G.icon_dead = "[theme][color]"
+ to_chat(user, "[G.bio_fluff_string].")
+ G.attacktext = "swarms"
+ G.speak_emote = list("chitters")
/obj/item/guardiancreator/biological/choose
random = FALSE
diff --git a/code/game/gamemodes/miniantags/guardian/types/bomb.dm b/code/game/gamemodes/miniantags/guardian/types/bomb.dm
index 0503806b196..23f922687a2 100644
--- a/code/game/gamemodes/miniantags/guardian/types/bomb.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/bomb.dm
@@ -37,38 +37,41 @@
/obj/item/guardian_bomb/proc/disguise(var/obj/A)
A.forceMove(src)
stored_obj = A
+ opacity = A.opacity
anchored = A.anchored
density = A.density
appearance = A.appearance
- spawn(600)
- if(src)
- stored_obj.loc = get_turf(loc)
- if(spawner)
- to_chat(spawner, "Failure! Your trap on [stored_obj] didn't catch anyone this time. ")
- qdel(src)
+ dir = A.dir
+ addtimer(CALLBACK(src, .proc/disable), 600)
+
+/obj/item/guardian_bomb/proc/disable()
+ stored_obj.forceMove(get_turf(src))
+ if(spawner)
+ to_chat(spawner, "Failure! Your trap on [stored_obj] didn't catch anyone this time. ")
+ qdel(src)
/obj/item/guardian_bomb/proc/detonate(var/mob/living/user)
+ if(!istype(user))
+ return
to_chat(user, "The [src] was boobytrapped! ")
if(istype(spawner, /mob/living/simple_animal/hostile/guardian))
var/mob/living/simple_animal/hostile/guardian/G = spawner
if(user == G.summoner)
to_chat(user, "You knew this because of your link with your guardian, so you smartly defuse the bomb. ")
- stored_obj.loc = get_turf(loc)
+ stored_obj.forceMove(get_turf(loc))
qdel(src)
return
to_chat(spawner, "Success! Your trap on [src] caught [user]! ")
- stored_obj.loc = get_turf(loc)
+ stored_obj.forceMove(get_turf(loc))
playsound(get_turf(src),'sound/effects/Explosion2.ogg', 200, 1)
user.ex_act(2)
qdel(src)
-/obj/item/guardian_bomb/attackby(mob/living/user)
+/obj/item/guardian_bomb/attackby(obj/item/W, mob/living/user)
detonate(user)
- return
/obj/item/guardian_bomb/pickup(mob/living/user)
detonate(user)
- return
/obj/item/guardian_bomb/examine(mob/user)
stored_obj.examine(user)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm
index 7d8953b8b84..fe7d02488d6 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant.dm
@@ -98,11 +98,11 @@
return
log_say(message, src)
var/rendered = "[src] says, \"[message]\" "
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(istype(M, /mob/living/simple_animal/revenant))
to_chat(M, rendered)
if(isobserver(M))
- to_chat(M, "(F) [rendered]")
+ to_chat(M, "(F) [rendered]")
return
/mob/living/simple_animal/revenant/Stat()
@@ -120,10 +120,37 @@
updateallghostimages()
remove_from_all_data_huds()
- spawn(5)
- if(src.mind)
- src.mind.wipe_memory()
- src << 'sound/effects/ghost.ogg'
+ addtimer(CALLBACK(src, .proc/firstSetupAttempt), 15 SECONDS) // Give admin 15 seconds to put in a ghost (Or wait 15 seconds before giving it objectives)
+
+
+/mob/living/simple_animal/revenant/proc/firstSetupAttempt()
+ if(mind)
+ giveObjectivesandGoals()
+ giveSpells()
+ else
+ message_admins("Revenant was created but has no mind. Put a ghost inside, or a poll will be made in one minute.")
+ addtimer(CALLBACK(src, .proc/setupOrDelete), 1 MINUTES)
+
+/mob/living/simple_animal/revenant/proc/setupOrDelete()
+ if(mind)
+ giveObjectivesandGoals()
+ giveSpells()
+ else
+ var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as a revenant?", poll_time = 15 SECONDS)
+ var/mob/dead/observer/theghost = null
+ if(candidates.len)
+ theghost = pick(candidates)
+ message_admins("[key_name_admin(theghost)] has taken control of a revenant created without a mind")
+ key = theghost.key
+ giveObjectivesandGoals()
+ giveSpells()
+ else
+ message_admins("No ghost was willing to take control of a mindless revenant. Deleting...")
+ qdel(src)
+
+/mob/living/simple_animal/revenant/proc/giveObjectivesandGoals()
+ mind.wipe_memory()
+ SEND_SOUND(src, 'sound/effects/ghost.ogg')
to_chat(src, " ")
to_chat(src, "You are a revenant. ")
to_chat(src, "Your formerly mundane spirit has been infused with alien energies and empowered into a revenant. ")
@@ -132,32 +159,23 @@
to_chat(src, "To function, you are to drain the life essence from humans. This essence is a resource, as well as your health, and will power all of your abilities. ")
to_chat(src, "You do not remember anything of your past lives, nor will you remember anything about this one after your death. ")
to_chat(src, "Be sure to read the wiki page at http://nanotrasen.se/wiki/index.php/Revenant to learn more. ")
-
var/datum/objective/revenant/objective = new
- objective.owner = src.mind
- src.mind.objectives += objective
+ objective.owner = mind
+ mind.objectives += objective
to_chat(src, "Objective #1 : [objective.explanation_text]")
var/datum/objective/revenantFluff/objective2 = new
- objective2.owner = src.mind
- src.mind.objectives += objective2
+ objective2.owner = mind
+ mind.objectives += objective2
to_chat(src, "Objective #2 : [objective2.explanation_text]")
- ticker.mode.traitors |= src.mind //Necessary for announcing
- if(!src.giveSpells())
- message_admins("Revenant was created but has no mind. Trying again in five seconds.")
- spawn(50)
- if(!src.giveSpells())
- message_admins("Revenant still has no mind. Deleting...")
- qdel(src)
+ ticker.mode.traitors |= mind //Necessary for announcing
/mob/living/simple_animal/revenant/proc/giveSpells()
- if(src.mind)
- src.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision/revenant(null))
- src.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/revenant_transmit(null))
- src.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/revenant/overload(null))
- src.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/revenant/defile(null))
- src.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction(null))
- return 1
- return 0
+ mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision/revenant(null))
+ mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/revenant_transmit(null))
+ mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/revenant/overload(null))
+ mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/revenant/defile(null))
+ mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction(null))
+ return TRUE
/mob/living/simple_animal/revenant/dust()
@@ -368,7 +386,7 @@
loc = get_turf(src) //In case it's in a backpack or someone's hand
var/mob/living/simple_animal/revenant/R = new(get_turf(src))
if(client_to_revive)
- for(var/mob/M in dead_mob_list)
+ for(var/mob/M in GLOB.dead_mob_list)
if(M.client == client_to_revive) //Only recreates the mob if the mob the client is in is dead
R.client = client_to_revive
key_of_revenant = client_to_revive.key
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
index 5a7825c0cfe..c201b1bc45d 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
@@ -209,9 +209,7 @@
if(!L.on)
return
L.visible_message("\The [L] suddenly flares brightly and begins to spark! ")
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread/
- s.set_up(4, 0, L)
- s.start()
+ do_sparks(4, 0, L)
new/obj/effect/temp_visual/revenant(L.loc)
sleep(20)
if(!L.on) //wait, wait, don't shock me
@@ -222,9 +220,7 @@
return
M.Beam(L,icon_state="purple_lightning",icon='icons/effects/effects.dmi',time=5)
M.electrocute_act(shock_damage, "[L.name]", safety=1)
- var/datum/effect_system/spark_spread/z = new /datum/effect_system/spark_spread/
- z.set_up(4, 0, M)
- z.start()
+ do_sparks(4, 0, M)
playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1)
//Defile: Corrupts nearby stuff, unblesses floor tiles.
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm
index a70114d8f5e..757fbe579a2 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm
@@ -6,7 +6,7 @@
/datum/event/revenant/proc/get_revenant(var/end_if_fail = 0)
var/deadMobs = 0
- for(var/mob/M in dead_mob_list)
+ for(var/mob/M in GLOB.dead_mob_list)
deadMobs++
if(deadMobs < REVENANT_SPAWN_THRESHOLD)
message_admins("Random event attempted to spawn a revenant, but there were only [deadMobs]/[REVENANT_SPAWN_THRESHOLD] dead mobs.")
@@ -26,13 +26,13 @@
var/datum/mind/player_mind = new /datum/mind(key_of_revenant)
player_mind.active = 1
var/list/spawn_locs = list()
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(isturf(L.loc))
switch(L.name)
if("revenantspawn")
spawn_locs += L.loc
if(!spawn_locs) //If we can't find any revenant spawns, try the carp spawns
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(isturf(L.loc))
switch(L.name)
if("carpspawn")
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
index d6f14e546e5..5d785cc44e3 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
@@ -141,7 +141,7 @@
/obj/effect/proc_holder/spell/targeted/sense_victims/cast(list/targets)
var/list/victims = targets
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(!L.stat && !iscultist(L) && L.key && L != usr)
victims.Add(L)
if(!targets.len)
@@ -225,7 +225,7 @@
log_say("(SLAUGHTER to [key_name(choice)]) [msg]", usr)
to_chat(usr, "You whisper to [choice]: [msg] ")
to_chat(choice, "Suddenly a strange, demonic voice resonates in your head... [msg] ")
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
G.show_message("Demonic message from [usr] ([ghost_follow_link(usr, ghost=G)]) to [choice] ([ghost_follow_link(choice, ghost=G)]): [msg] ")
diff --git a/code/game/gamemodes/nations/nations.dm b/code/game/gamemodes/nations/nations.dm
index 5d625d5fdda..c8a9ad00a62 100644
--- a/code/game/gamemodes/nations/nations.dm
+++ b/code/game/gamemodes/nations/nations.dm
@@ -16,7 +16,7 @@ datum/game_mode/nations
set_ai()
assign_leaders()
// remove_access()
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(!istype(M,/mob/new_player))
M << sound('sound/effects/purge_siren.ogg')
@@ -34,10 +34,10 @@ datum/game_mode/nations
/datum/game_mode/nations/proc/split_teams()
- for(var/mob/living/carbon/human/H in player_list)
+ for(var/mob/living/carbon/human/H in GLOB.player_list)
if(H.mind)
if(H.mind.assigned_role in engineering_positions)
- H.mind.nation = all_nations["Atmosia"]
+ H.mind.nation = GLOB.all_nations["Atmosia"]
update_nations_icons_added(H,"hudatmosia")
H.mind.nation.membership += H.mind.current
if(H.mind.assigned_role == H.mind.nation.default_leader)
@@ -48,7 +48,7 @@ datum/game_mode/nations
continue
if(H.mind.assigned_role in medical_positions)
- H.mind.nation = all_nations["Medistan"]
+ H.mind.nation = GLOB.all_nations["Medistan"]
update_nations_icons_added(H,"hudmedistan")
H.mind.nation.membership += H.mind.current
if(H.mind.assigned_role == H.mind.nation.default_leader)
@@ -59,7 +59,7 @@ datum/game_mode/nations
continue
if(H.mind.assigned_role in science_positions)
- H.mind.nation = all_nations["Scientopia"]
+ H.mind.nation = GLOB.all_nations["Scientopia"]
update_nations_icons_added(H,"hudscientopia")
H.mind.nation.membership += H.mind.current
if(H.mind.assigned_role == H.mind.nation.default_leader)
@@ -70,7 +70,7 @@ datum/game_mode/nations
continue
if(H.mind.assigned_role in security_positions)
- H.mind.nation = all_nations["Brigston"]
+ H.mind.nation = GLOB.all_nations["Brigston"]
update_nations_icons_added(H,"hudbrigston")
H.mind.nation.membership += H.mind.current
if(H.mind.assigned_role == H.mind.nation.default_leader)
@@ -81,7 +81,7 @@ datum/game_mode/nations
continue
if(H.mind.assigned_role in cargonians)
- H.mind.nation = all_nations["Cargonia"]
+ H.mind.nation = GLOB.all_nations["Cargonia"]
update_nations_icons_added(H,"hudcargonia")
H.mind.nation.membership += H.mind.current
if(H.mind.assigned_role == H.mind.nation.default_leader)
@@ -92,7 +92,7 @@ datum/game_mode/nations
continue
if(H.mind.assigned_role in servicion)
- H.mind.nation = all_nations["Servicion"]
+ H.mind.nation = GLOB.all_nations["Servicion"]
update_nations_icons_added(H,"hudservice")
H.mind.nation.membership += H.mind.current
if(H.mind.assigned_role == H.mind.nation.default_leader)
@@ -103,7 +103,7 @@ datum/game_mode/nations
continue
if(H.mind.assigned_role in (support_positions + command_positions))
- H.mind.nation = all_nations["People's Republic of Commandzakstan"]
+ H.mind.nation = GLOB.all_nations["People's Republic of Commandzakstan"]
update_nations_icons_added(H,"hudcommand")
H.mind.nation.membership += H.mind.current
if(H.mind.assigned_role == H.mind.nation.default_leader)
@@ -123,7 +123,7 @@ datum/game_mode/nations
/datum/game_mode/nations/proc/set_ai()
- for(var/mob/living/silicon/ai/AI in mob_list)
+ for(var/mob/living/silicon/ai/AI in GLOB.mob_list)
AI.set_zeroth_law("")
AI.clear_supplied_laws()
AI.clear_ion_laws()
@@ -141,14 +141,14 @@ datum/game_mode/nations
qdel(oldmmi)
/datum/game_mode/nations/proc/remove_access()
- for(var/obj/machinery/door/airlock/W in airlocks)
+ for(var/obj/machinery/door/airlock/W in GLOB.airlocks)
if(is_station_level(W.z))
W.req_access = list()
/datum/game_mode/nations/proc/assign_leaders()
- for(var/name in all_nations)
- var/datum/nations/N = all_nations[name]
+ for(var/name in GLOB.all_nations)
+ var/datum/nations/N = GLOB.all_nations[name]
if(!N.current_name)
N.current_name = N.default_name
if(!N.current_leader && N.membership.len)
@@ -174,49 +174,49 @@ datum/game_mode/nations
if(H.mind)
if(H.mind.assigned_role in engineering_positions)
- H.mind.nation = all_nations["Atmosia"]
+ H.mind.nation = GLOB.all_nations["Atmosia"]
mode.update_nations_icons_added(H,"atmosia")
H.mind.nation.membership += H.mind.current
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
return 1
if(H.mind.assigned_role in medical_positions)
- H.mind.nation = all_nations["Medistan"]
+ H.mind.nation = GLOB.all_nations["Medistan"]
mode.update_nations_icons_added(H,"hudmedistan")
H.mind.nation.membership += H.mind.current
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
return 1
if(H.mind.assigned_role in science_positions)
- H.mind.nation = all_nations["Scientopia"]
+ H.mind.nation = GLOB.all_nations["Scientopia"]
mode.update_nations_icons_added(H,"hudscientopia")
H.mind.nation.membership += H.mind.current
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
return 1
if(H.mind.assigned_role in security_positions)
- H.mind.nation = all_nations["Brigston"]
+ H.mind.nation = GLOB.all_nations["Brigston"]
mode.update_nations_icons_added(H,"hudbrigston")
H.mind.nation.membership += H.mind.current
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
return 1
if(H.mind.assigned_role in mode.cargonians)
- H.mind.nation = all_nations["Cargonia"]
+ H.mind.nation = GLOB.all_nations["Cargonia"]
mode.update_nations_icons_added(H,"hudcargonia")
H.mind.nation.membership += H.mind.current
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
return 1
if(H.mind.assigned_role in mode.servicion)
- H.mind.nation = all_nations["Servicion"]
+ H.mind.nation = GLOB.all_nations["Servicion"]
mode.update_nations_icons_added(H,"hudservice")
H.mind.nation.membership += H.mind.current
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
return 1
if(H.mind.assigned_role in (support_positions + command_positions))
- H.mind.nation = all_nations["People's Republic of Commandzakstan"]
+ H.mind.nation = GLOB.all_nations["People's Republic of Commandzakstan"]
mode.update_nations_icons_added(H,"hudcommand")
H.mind.nation.membership += H.mind.current
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 0130f1260d6..9c72ffc9bef 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -91,7 +91,7 @@ proc/issyndicate(mob/living/M as mob)
var/list/turf/synd_spawn = list()
- for(var/obj/effect/landmark/A in landmarks_list)
+ for(var/obj/effect/landmark/A in GLOB.landmarks_list)
if(A.name == "Syndicate-Spawn")
synd_spawn += get_turf(A)
qdel(A)
@@ -168,10 +168,6 @@ proc/issyndicate(mob/living/M as mob)
/datum/game_mode/proc/prepare_syndicate_leader(var/datum/mind/synd_mind, var/nuke_code)
var/leader_title = pick("Czar", "Boss", "Commander", "Chief", "Kingpin", "Director", "Overlord")
- /*
- spawn(1)
- NukeNameAssign(nukelastname(synd_mind.current),syndicates) //allows time for the rest of the syndies to be chosen
- */
synd_mind.current.real_name = "[syndicate_name()] Team [leader_title]"
to_chat(synd_mind.current, "You are the Syndicate leader for this mission. You are responsible for the distribution of telecrystals and your ID is the only one who can open the launch bay doors. ")
to_chat(synd_mind.current, "If you feel you are not up to this task, give your ID to another operative. ")
@@ -296,7 +292,7 @@ proc/issyndicate(mob/living/M as mob)
/datum/game_mode/nuclear/declare_completion()
var/disk_rescued = 1
- for(var/obj/item/disk/nuclear/D in poi_list)
+ for(var/obj/item/disk/nuclear/D in GLOB.poi_list)
if(!D.onCentcom())
disk_rescued = 0
break
@@ -309,51 +305,50 @@ proc/issyndicate(mob/living/M as mob)
//derp //Used for tracking if the syndies actually haul the nuke to the station //no
//herp //Used for tracking if the syndies got the shuttle off of the z-level //NO, DON'T FUCKING NAME VARS LIKE THIS
- if(!disk_rescued && station_was_nuked && !syndies_didnt_escape)
- feedback_set_details("round_end_result","win - syndicate nuke")
+ if(!disk_rescued && station_was_nuked && !syndies_didnt_escape)
+ feedback_set_details("round_end_result","nuclear win - syndicate nuke")
to_chat(world, "Syndicate Major Victory! ")
to_chat(world, "[syndicate_name()] operatives have destroyed [station_name()]! ")
- else if(!disk_rescued && station_was_nuked && syndies_didnt_escape)
- feedback_set_details("round_end_result","halfwin - syndicate nuke - did not evacuate in time")
+ else if(!disk_rescued && station_was_nuked && syndies_didnt_escape)
+ feedback_set_details("round_end_result","nuclear halfwin - syndicate nuke - did not evacuate in time")
to_chat(world, "Total Annihilation ")
to_chat(world, "[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!")
- else if(!disk_rescued && !station_was_nuked && nuke_off_station && !syndies_didnt_escape)
- feedback_set_details("round_end_result","halfwin - blew wrong station")
+ else if(!disk_rescued && !station_was_nuked && nuke_off_station && !syndies_didnt_escape)
+ feedback_set_details("round_end_result","nuclear halfwin - blew wrong station")
to_chat(world, "Crew Minor Victory ")
to_chat(world, "[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't lose the disk!")
- else if(!disk_rescued && !station_was_nuked && nuke_off_station && syndies_didnt_escape)
- feedback_set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time")
+ else if(!disk_rescued && !station_was_nuked && nuke_off_station && syndies_didnt_escape)
+ feedback_set_details("round_end_result","nuclear halfwin - blew wrong station - did not evacuate in time")
to_chat(world, "[syndicate_name()] operatives have earned Darwin Award! ")
to_chat(world, "[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't lose the disk!")
- else if( disk_rescued && is_operatives_are_dead())
- feedback_set_details("round_end_result","loss - evacuation - disk secured - syndi team dead")
+ else if(disk_rescued && is_operatives_are_dead())
+ feedback_set_details("round_end_result","nuclear loss - evacuation - disk secured - syndi team dead")
to_chat(world, "Crew Major Victory! ")
to_chat(world, "The Research Staff has saved the disc and killed the [syndicate_name()] Operatives ")
- else if( disk_rescued )
- feedback_set_details("round_end_result","loss - evacuation - disk secured")
+ else if(disk_rescued)
+ feedback_set_details("round_end_result","nuclear loss - evacuation - disk secured")
to_chat(world, "Crew Major Victory ")
to_chat(world, "The Research Staff has saved the disc and stopped the [syndicate_name()] Operatives! ")
- else if(!disk_rescued && is_operatives_are_dead())
- feedback_set_details("round_end_result","loss - evacuation - disk not secured")
+ else if(!disk_rescued && is_operatives_are_dead())
+ feedback_set_details("round_end_result","nuclear loss - evacuation - disk not secured")
to_chat(world, "Syndicate Minor Victory! ")
to_chat(world, "The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives! ")
- else if(!disk_rescued && crew_evacuated)
- feedback_set_details("round_end_result","halfwin - detonation averted")
+ else if(!disk_rescued && crew_evacuated)
+ feedback_set_details("round_end_result","nuclear halfwin - detonation averted")
to_chat(world, "Syndicate Minor Victory! ")
to_chat(world, "[syndicate_name()] operatives recovered the abandoned authentication disk but detonation of [station_name()] was averted. Next time, don't lose the disk!")
- else if(!disk_rescued && !crew_evacuated)
- feedback_set_details("round_end_result","halfwin - interrupted")
+ else if(!disk_rescued && !crew_evacuated)
+ feedback_set_details("round_end_result","nuclear halfwin - interrupted")
to_chat(world, "Neutral Victory ")
to_chat(world, "Round was mysteriously interrupted! ")
-
..()
return
@@ -394,7 +389,7 @@ proc/issyndicate(mob/living/M as mob)
return 1
/proc/nukelastname(var/mob/M as mob) //--All praise goes to NEO|Phyte, all blame goes to DH, and it was Cindi-Kate's idea. Also praise Urist for copypasta ho.
- var/randomname = pick(last_names)
+ var/randomname = pick(GLOB.last_names)
var/newname = sanitize(copytext(input(M,"You are the nuke operative [pick("Czar", "Boss", "Commander", "Chief", "Kingpin", "Director", "Overlord")]. Please choose a last name for your family.", "Name change",randomname),1,MAX_NAME_LEN))
if(!newname)
@@ -407,15 +402,6 @@ proc/issyndicate(mob/living/M as mob)
return newname
-/proc/NukeNameAssign(var/lastname,var/list/syndicates)
- for(var/datum/mind/synd_mind in syndicates)
- switch(synd_mind.current.gender)
- if(MALE)
- synd_mind.name = "[pick(first_names_male)] [pick(last_names)]"
- if(FEMALE)
- synd_mind.name = "[pick(first_names_female)] [pick(last_names)]"
- synd_mind.current.real_name = synd_mind.name
- return
/datum/game_mode/nuclear/set_scoreboard_gvars()
var/foecount = 0
diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm
index 7e75f579bf5..328a462ac32 100644
--- a/code/game/gamemodes/nuclear/nuclear_challenge.dm
+++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm
@@ -52,12 +52,12 @@
to_chat(user, "You've attracted the attention of powerful forces within the syndicate. A bonus bundle of telecrystals has been granted to your team. Great things await you if you complete the mission.")
to_chat(user, "Look below you on the floor for the extra uplink ")
- for(var/obj/machinery/computer/shuttle/syndicate/S in machines)
+ for(var/obj/machinery/computer/shuttle/syndicate/S in GLOB.machines)
S.challenge = TRUE
var/obj/item/radio/uplink/U = new /obj/item/radio/uplink(get_turf(user))
U.hidden_uplink.uplink_owner= "[user.key]"
- U.hidden_uplink.uses = CHALLENGE_TELECRYSTALS + round((((player_list.len - CHALLENGE_MIN_PLAYERS)/CHALLENGE_SCALE_PLAYER) * CHALLENGE_SCALE_BONUS)) // No. of player - Min. Player to dec, divided by player per bonus, then multipled by TC per bonus. Rounded.
+ U.hidden_uplink.uses = CHALLENGE_TELECRYSTALS + round((((GLOB.player_list.len - CHALLENGE_MIN_PLAYERS)/CHALLENGE_SCALE_PLAYER) * CHALLENGE_SCALE_BONUS)) // No. of player - Min. Player to dec, divided by player per bonus, then multipled by TC per bonus. Rounded.
config.shuttle_refuel_delay = CHALLENGE_SHUTTLE_DELAY
qdel(src)
@@ -65,7 +65,7 @@
if(declaring_war)
to_chat(user, "You are already in the process of declaring war! Make your mind up.")
return FALSE
- if(player_list.len < CHALLENGE_MIN_PLAYERS)
+ if(GLOB.player_list.len < CHALLENGE_MIN_PLAYERS)
to_chat(user, "The enemy crew is too small to be worth declaring war on.")
return FALSE
if(!is_admin_level(user.z))
@@ -74,7 +74,7 @@
if((world.time - round_start_time) > CHALLENGE_TIME_LIMIT) // Only count after the round started
to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.")
return FALSE
- for(var/obj/machinery/computer/shuttle/syndicate/S in machines)
+ for(var/obj/machinery/computer/shuttle/syndicate/S in GLOB.machines)
if(S.moved)
to_chat(user, "The shuttle has already been moved! You have forfeit the right to declare war.")
return FALSE
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 51831752758..b847dac0a54 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -32,11 +32,11 @@ var/bomb_set
r_code = "[rand(10000, 99999.0)]"//Creates a random code upon object spawn.
wires = new/datum/wires/nuclearbomb(src)
previous_level = get_security_level()
- poi_list |= src
+ GLOB.poi_list |= src
/obj/machinery/nuclearbomb/Destroy()
QDEL_NULL(wires)
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
return ..()
/obj/machinery/nuclearbomb/process()
@@ -405,7 +405,7 @@ var/bomb_set
/obj/item/disk/nuclear/New()
..()
processing_objects.Add(src)
- poi_list |= src
+ GLOB.poi_list |= src
/obj/item/disk/nuclear/process()
var/turf/disk_loc = get_turf(src)
@@ -421,12 +421,12 @@ var/bomb_set
if(force)
message_admins("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z] - JMP ":"nonexistent location"]).")
log_game("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z]":"nonexistent location"]).")
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
processing_objects.Remove(src)
return ..()
if(blobstart.len > 0)
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
var/obj/item/disk/nuclear/NEWDISK = new(pick(blobstart))
transfer_fingerprints_to(NEWDISK)
message_admins("[src] has been destroyed at ([diskturf.x], [diskturf.y], [diskturf.z] - JMP ). Moving it to ([NEWDISK.x], [NEWDISK.y], [NEWDISK.z] - JMP ).")
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index 285654ea81c..ec667bbad86 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -21,10 +21,10 @@
/obj/item/pinpointer/New()
..()
- pinpointer_list += src
+ GLOB.pinpointer_list += src
/obj/item/pinpointer/Destroy()
- pinpointer_list -= src
+ GLOB.pinpointer_list -= src
active = 0
the_disk = null
return ..()
@@ -81,7 +81,7 @@
if(!shows_nuke_timer)
return
- for(var/obj/machinery/nuclearbomb/bomb in machines)
+ for(var/obj/machinery/nuclearbomb/bomb in GLOB.machines)
if(bomb.timing)
to_chat(user, "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]")
@@ -174,7 +174,7 @@
var/DNAstring = input("Input DNA string to search for." , "Please Enter String." , "")
if(!DNAstring)
return
- for(var/mob/living/carbon/C in mob_list)
+ for(var/mob/living/carbon/C in GLOB.mob_list)
if(!C.dna)
continue
if(C.dna.unique_enzymes == DNAstring)
@@ -289,7 +289,7 @@
if(active)
nearest_op = null //Resets nearest_op every time it scans
var/closest_distance = 1000
- for(var/mob/living/carbon/M in mob_list)
+ for(var/mob/living/carbon/M in GLOB.mob_list)
if(M.mind && (M.mind in ticker.mode.syndicates))
if(get_dist(M, get_turf(src)) < closest_distance) //Actually points toward the nearest op, instead of a random one like it used to
nearest_op = M
@@ -347,7 +347,7 @@
var/list/name_counts = list()
var/list/names = list()
- for(var/mob/living/carbon/human/H in mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(!trackable(H))
continue
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 2e3862ce583..51fc6ed8030 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -200,7 +200,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
var/area/A = SSshuttle.emergency.areaInstance
- for(var/mob/living/player in player_list) //Make sure nobody else is onboard
+ for(var/mob/living/player in GLOB.player_list) //Make sure nobody else is onboard
if(player.mind && player.mind != owner)
if(player.stat != DEAD)
if(issilicon(player))
@@ -209,7 +209,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
if(player.real_name != owner.current.real_name && !istype(get_turf(player.mind.current), /turf/simulated/shuttle/floor4))
return 0
- for(var/mob/living/player in player_list) //Make sure at least one of you is onboard
+ for(var/mob/living/player in GLOB.player_list) //Make sure at least one of you is onboard
if(player.mind && player.mind != owner)
if(player.stat != DEAD)
if(issilicon(player))
@@ -234,7 +234,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
var/area/A = SSshuttle.emergency.areaInstance
var/list/protected_mobs = list(/mob/living/silicon/ai, /mob/living/silicon/pai, /mob/living/silicon/robot)
- for(var/mob/living/player in player_list)
+ for(var/mob/living/player in GLOB.player_list)
if(player.type in protected_mobs)
continue
@@ -446,13 +446,13 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
if(ticker)
var/n_p = 1 //autowin
if(ticker.current_state == GAME_STATE_SETTING_UP)
- for(var/mob/new_player/P in player_list)
+ for(var/mob/new_player/P in GLOB.player_list)
if(P.client && P.ready && P.mind != owner)
if(P.client.prefs && (P.client.prefs.species == "Machine")) // Special check for species that can't be absorbed. No better solution.
continue
n_p++
else if(ticker.current_state == GAME_STATE_PLAYING)
- for(var/mob/living/carbon/human/P in player_list)
+ for(var/mob/living/carbon/human/P in GLOB.player_list)
if(NO_DNA in P.dna.species.species_traits)
continue
if(P.client && !(P.mind in ticker.mode.changelings) && P.mind!=owner)
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 15608cf665e..ccf70a72173 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -51,9 +51,9 @@
lenin.restricted_roles = restricted_jobs
if(head_revolutionaries.len < required_enemies)
- return 0
+ return FALSE
- return 1
+ return TRUE
/datum/game_mode/revolution/post_setup()
@@ -72,10 +72,7 @@
for(var/datum/mind/head_mind in heads)
mark_for_death(rev_mind, head_mind)
- spawn(rand(10,100))
- // equip_traitor(rev_mind.current, 1) //changing how revs get assigned their uplink so they can get PDA uplinks. --NEO
- // Removing revolutionary uplinks. -Pete
- equip_revolutionary(rev_mind.current)
+ addtimer(CALLBACK(src, .proc/equip_revolutionary, rev_mind.current), rand(10, 100))
for(var/datum/mind/rev_mind in head_revolutionaries)
greet_revolutionary(rev_mind)
@@ -92,7 +89,7 @@
check_heads()
ticker.mode.check_win()
check_counter = 0
- return 0
+ return FALSE
/datum/game_mode/proc/forge_revolutionary_objectives(datum/mind/rev_mind)
@@ -223,7 +220,7 @@
command_announcement.Announce("Hostile enviroment resolved. You have 3 minutes to board the Emergency Shuttle.", null, 'sound/AI/shuttledock.ogg')
return ..()
if(finished != 0)
- return 1
+ return TRUE
else
return ..()
@@ -267,7 +264,7 @@
if(beingborged)
to_chat(rev_mind.current, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."] ")
- message_admins("[key_name_admin(rev_mind.current)] ? (FLW ) has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
+ message_admins("[key_name_admin(rev_mind.current)] [ADMIN_QUE(rev_mind.current,"?")] ([ADMIN_FLW(rev_mind.current,"FLW")]) has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
else
rev_mind.current.Paralyse(5)
@@ -304,9 +301,9 @@
for(var/datum/mind/rev_mind in head_revolutionaries)
for(var/datum/objective/mutiny/objective in rev_mind.objectives)
if(!(objective.check_completion()))
- return 0
+ return FALSE
- return 1
+ return TRUE
/////////////////////////////
//Checks for a head victory//
@@ -316,28 +313,28 @@
var/turf/T = get_turf(rev_mind.current)
if((rev_mind) && (rev_mind.current) && (rev_mind.current.stat != DEAD) && rev_mind.current.client && T && is_station_level(T.z))
if(ishuman(rev_mind.current))
- return 0
- return 1
+ return FALSE
+ return TRUE
//////////////////////////////////////////////////////////////////////
//Announces the end of the game with all relavent information stated//
//////////////////////////////////////////////////////////////////////
/datum/game_mode/revolution/declare_completion()
if(finished == 1)
- feedback_set_details("round_end_result","win - heads killed")
+ feedback_set_details("round_end_result","revolution win - heads killed")
to_chat(world, "The heads of staff were killed or exiled! The revolutionaries win! ")
else if(finished == 2)
- feedback_set_details("round_end_result","loss - rev heads killed")
+ feedback_set_details("round_end_result","revolution loss - rev heads killed")
to_chat(world, "The heads of staff managed to stop the revolution! ")
..()
- return 1
+ return TRUE
/datum/game_mode/proc/auto_declare_completion_revolution()
var/list/targets = list()
if(head_revolutionaries.len || GAMEMODE_IS_REVOLUTION)
var/num_revs = 0
var/num_survivors = 0
- for(var/mob/living/carbon/survivor in living_mob_list)
+ for(var/mob/living/carbon/survivor in GLOB.living_mob_list)
if(survivor.ckey)
num_survivors++
if(survivor.mind)
diff --git a/code/game/gamemodes/sandbox/sandbox.dm b/code/game/gamemodes/sandbox/sandbox.dm
index 1be9a0ced0e..663759c961c 100644
--- a/code/game/gamemodes/sandbox/sandbox.dm
+++ b/code/game/gamemodes/sandbox/sandbox.dm
@@ -11,7 +11,7 @@
to_chat(world, "Build your own station with the sandbox-panel command! ")
/datum/game_mode/sandbox/pre_setup()
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
M.CanBuild()
return 1
diff --git a/code/game/gamemodes/scoreboard.dm b/code/game/gamemodes/scoreboard.dm
index d946c1450f1..9a3ca6073a1 100644
--- a/code/game/gamemodes/scoreboard.dm
+++ b/code/game/gamemodes/scoreboard.dm
@@ -20,17 +20,17 @@
// Score Calculation and Display
// Who is alive/dead, who escaped
- for(var/mob/living/silicon/ai/I in mob_list)
+ for(var/mob/living/silicon/ai/I in GLOB.mob_list)
if(I.stat == DEAD && is_station_level(I.z))
score_deadaipenalty++
score_deadcrew++
- for(var/mob/living/carbon/human/I in mob_list)
+ for(var/mob/living/carbon/human/I in GLOB.mob_list)
if(I.stat == DEAD && is_station_level(I.z))
score_deadcrew++
if(SSshuttle.emergency.mode >= SHUTTLE_ENDGAME)
- for(var/mob/living/player in mob_list)
+ for(var/mob/living/player in GLOB.mob_list)
if(player.client)
if(player.stat != DEAD)
var/turf/location = get_turf(player.loc)
@@ -44,7 +44,7 @@
var/dmg_score = 0
if(SSshuttle.emergency.mode >= SHUTTLE_ENDGAME)
- for(var/mob/living/carbon/human/E in mob_list)
+ for(var/mob/living/carbon/human/E in GLOB.mob_list)
cash_score = 0
dmg_score = 0
var/turf/location = get_turf(E.loc)
@@ -71,7 +71,7 @@
// Check station's power levels
- for(var/obj/machinery/power/apc/A in apcs)
+ for(var/obj/machinery/power/apc/A in GLOB.apcs)
if(!is_station_level(A.z)) continue
for(var/obj/item/stock_parts/cell/C in A.contents)
if(C.charge < 2300)
@@ -142,7 +142,7 @@
// Show the score - might add "ranks" later
to_chat(world, "The crew's final score is: ")
to_chat(world, "[score_crewscore] ")
- for(var/mob/E in player_list)
+ for(var/mob/E in GLOB.player_list)
if(E.client && !E.get_preference(DISABLE_SCOREBOARD))
E.scorestats()
diff --git a/code/game/gamemodes/shadowling/ascendant_shadowling.dm b/code/game/gamemodes/shadowling/ascendant_shadowling.dm
index f640174d537..51f4d147bba 100644
--- a/code/game/gamemodes/shadowling/ascendant_shadowling.dm
+++ b/code/game/gamemodes/shadowling/ascendant_shadowling.dm
@@ -49,7 +49,7 @@
/mob/living/simple_animal/ascendant_shadowling/proc/announce(var/text, var/size = 4, var/new_sound = null)
var/message = "\"[text]\" "
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(!isnewplayer(M) && M.client)
to_chat(M, message)
if(new_sound)
diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm
index 06e912c9da8..5b00868dc3d 100644
--- a/code/game/gamemodes/shadowling/shadowling.dm
+++ b/code/game/gamemodes/shadowling/shadowling.dm
@@ -108,12 +108,12 @@ Made by Xhuis
/datum/game_mode/shadowling/post_setup()
for(var/datum/mind/shadow in shadows)
log_game("[key_name(shadow)] has been selected as a Shadowling.")
- sleep(10)
- to_chat(shadow.current, " ")
- to_chat(shadow.current, "You are a shadowling! ")
- greet_shadow(shadow)
- finalize_shadowling(shadow)
- process_shadow_objectives(shadow)
+ spawn(rand(10,100))
+ to_chat(shadow.current, " ")
+ to_chat(shadow.current, "You are a shadowling! ")
+ greet_shadow(shadow)
+ finalize_shadowling(shadow)
+ process_shadow_objectives(shadow)
//give_shadowling_abilities(shadow)
..()
@@ -256,12 +256,16 @@ Made by Xhuis
/datum/game_mode/shadowling/declare_completion()
if(check_shadow_victory() && SSshuttle.emergency.mode >= SHUTTLE_ESCAPE) //Doesn't end instantly - this is hacky and I don't know of a better way ~X
+ feedback_set_details("round_end_result","shadowling win - shadowling ascension")
to_chat(world, "The shadowlings have ascended and taken over the station! ")
else if(shadowling_dead && !check_shadow_victory()) //If the shadowlings have ascended, they can not lose the round
+ feedback_set_details("round_end_result","shadowling loss - shadowling killed")
to_chat(world, "The shadowlings have been killed by the crew! ")
else if(!check_shadow_victory() && SSshuttle.emergency.mode >= SHUTTLE_ESCAPE)
+ feedback_set_details("round_end_result","shadowling loss - crew escaped")
to_chat(world, "The crew escaped the station before the shadowlings could ascend! ")
else
+ feedback_set_details("round_end_result","shadowling loss - generic failure")
to_chat(world, "The shadowlings have failed! ")
..()
return 1
diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm
index 89c5f159108..d2c3cc2c72e 100644
--- a/code/game/gamemodes/shadowling/shadowling_abilities.dm
+++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm
@@ -402,7 +402,7 @@
to_chat(target, "You focus your telepathic energies abound, harnessing and drawing together the strength of your thralls. ")
- for(M in living_mob_list)
+ for(M in GLOB.living_mob_list)
if(is_thrall(M))
thralls++
to_chat(M, "You feel hooks sink into your mind and pull. ")
@@ -439,7 +439,7 @@
else if(thralls >= victory_threshold)
to_chat(target, "You are now powerful enough to ascend. Use the Ascendance ability when you are ready. This will kill all of your thralls. ")
to_chat(target, "You may find Ascendance in the Shadowling Evolution tab. ")
- for(M in living_mob_list)
+ for(M in GLOB.living_mob_list)
if(is_shadow(M))
var/obj/effect/proc_holder/spell/targeted/collective_mind/CM
if(CM in M.mind.spell_list)
@@ -540,9 +540,7 @@
to_chat(S, "ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@# ")
S << 'sound/misc/interference.ogg'
playsound(S, 'sound/machines/warning-buzzer.ogg', 50, 1)
- var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread
- sp.set_up(5, 1, S)
- sp.start()
+ do_sparks(5, 1, S)
S.Weaken(6)
for(var/obj/structure/window/W in T.contents)
W.take_damage(rand(80, 100))
diff --git a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm
index d2582243d8c..a561fe6a273 100644
--- a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm
+++ b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm
@@ -157,7 +157,7 @@ var/list/possibleShadowlingNames = list("U'ruan", "Y`shej", "Nex", "Hel-uae", "N
for(var/mob/living/M in orange(7, H))
M.Weaken(10)
to_chat(M, "An immense pressure slams you onto the ground! ")
- for(var/obj/machinery/power/apc/A in apcs)
+ for(var/obj/machinery/power/apc/A in GLOB.apcs)
A.overload_lighting()
var/mob/living/simple_animal/ascendant_shadowling/A = new /mob/living/simple_animal/ascendant_shadowling(H.loc)
A.announce("VYSHA NERADA YEKHEZET U'RUU!!", 5, 'sound/hallucinations/veryfar_noise.ogg')
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index 9234043976c..d79dbc3c224 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -123,7 +123,7 @@
var/list/active_ais = active_ais()
for(var/i = objective_count, i < config.traitor_objectives_amount, i++)
if(prob(50))
- if(active_ais.len && prob(100/player_list.len))
+ if(active_ais.len && prob(100/GLOB.player_list.len))
var/datum/objective/destroy/destroy_objective = new
destroy_objective.owner = traitor
destroy_objective.find_target()
diff --git a/code/game/gamemodes/vampire/traitor_vamp.dm b/code/game/gamemodes/vampire/traitor_vamp.dm
index b06db47f02c..f1064bffd1b 100644
--- a/code/game/gamemodes/vampire/traitor_vamp.dm
+++ b/code/game/gamemodes/vampire/traitor_vamp.dm
@@ -20,7 +20,7 @@
var/list/datum/mind/possible_vampires = get_players_for_role(ROLE_VAMPIRE)
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if((player.mind in possible_vampires) && (player.client.prefs.species in protected_species_vampire))
possible_vampires -= player.mind
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index 2ac4bc0b2f8..4c0aaac77da 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -84,8 +84,8 @@
M.equip_to_slot_or_del(new /obj/item/storage/backpack(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/storage/box(M), slot_in_backpack)
M.equip_to_slot_or_del(new /obj/item/teleportation_scroll/apprentice(M), slot_r_store)
- var/wizard_name_first = pick(wizard_first)
- var/wizard_name_second = pick(wizard_second)
+ var/wizard_name_first = pick(GLOB.wizard_first)
+ var/wizard_name_second = pick(GLOB.wizard_second)
var/randomname = "[wizard_name_first] [wizard_name_second]"
var/newname = sanitize(copytext(input(M, "You are the wizard's apprentice. Would you like to change your name to something else?", "Name change", randomname) as null|text,1,MAX_NAME_LEN))
@@ -856,7 +856,7 @@ var/global/list/multiverse = list()
possible = list()
if(!link)
return
- for(var/mob/living/carbon/human/H in living_mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
if(md5(H.dna.uni_identity) in link.fingerprints)
possible |= H
diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm
index 260f809334c..c6992f99b98 100644
--- a/code/game/gamemodes/wizard/godhand.dm
+++ b/code/game/gamemodes/wizard/godhand.dm
@@ -48,9 +48,7 @@
if(!proximity || target == user || !ismob(target) || !iscarbon(user) || user.lying || user.handcuffed) //exploding after touching yourself would be bad
return
var/mob/M = target
- var/datum/effect_system/spark_spread/sparks = new
- sparks.set_up(4, 0, M.loc) //no idea what the 0 is
- sparks.start()
+ do_sparks(4, 0, M.loc) //no idea what the 0 is
M.gib()
..()
@@ -84,9 +82,7 @@
/obj/item/melee/touch_attack/fake_disintegrate/afterattack(atom/target, mob/living/carbon/user, proximity)
if(!proximity || target == user || !ismob(target) || !iscarbon(user) || user.lying || user.handcuffed) //not exploding after touching yourself would be bad
return
- var/datum/effect_system/spark_spread/sparks = new
- sparks.set_up(4, 0, target.loc) //no idea what the 0 is
- sparks.start()
+ do_sparks(4, 0, target.loc)
playsound(target.loc, 'sound/goonstation/effects/gib.ogg', 50, 1)
..()
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index e252800f46a..bb62b7bebea 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -128,7 +128,7 @@
if(!candidates.len)
message_admins("No applicable clients for the next ragin' mage, asking ghosts instead.")
var/time_passed = world.time
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(!jobban_isbanned(G, "wizard") && !jobban_isbanned(G, "Syndicate"))
spawn(0)
switch(alert(G, "Do you wish to be considered for the position of Space Wizard Foundation 'diplomat'?","Please answer in 30 seconds!","Yes","No"))
@@ -180,6 +180,6 @@
/datum/game_mode/wizard/raginmages/declare_completion()
if(finished)
- feedback_set_details("round_end_result","loss - wizard killed")
+ feedback_set_details("round_end_result","raging wizard loss - wizard killed")
to_chat(world, " The crew has managed to hold off the wizard attack! The Space Wizards Federation has been taught a lesson they will not soon forget! ")
..(1)
diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index ef11a84881e..345ccfc877d 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -8,7 +8,7 @@
to_chat(usr, "You summoned [summon_type ? "magic" : "guns"]! ")
message_admins("[key_name_admin(usr)] summoned [summon_type ? "magic" : "guns"]!")
- for(var/mob/living/carbon/human/H in player_list)
+ for(var/mob/living/carbon/human/H in GLOB.player_list)
if(H.stat == 2 || !(H.client))
continue
if(H.mind)
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index e4e3f683e04..f9224d1746a 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -371,7 +371,7 @@
/obj/item/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/U)
var/mob/dead/observer/chosen_ghost
- for(var/mob/dead/observer/ghost in player_list) //We put them back in their body
+ for(var/mob/dead/observer/ghost in GLOB.player_list) //We put them back in their body
if(ghost.mind && ghost.mind.current == T && ghost.client)
chosen_ghost = ghost
break
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index ff101cbb5c1..6ae56a24973 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -779,7 +779,7 @@
/obj/item/spellbook/oneuse/mindswap/recoil(mob/user)
..()
- if(stored_swap in dead_mob_list)
+ if(stored_swap in GLOB.dead_mob_list)
stored_swap = null
if(!stored_swap)
stored_swap = user
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index 18dda0fcbc4..d6657ef98c1 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -88,8 +88,8 @@
/datum/game_mode/proc/name_wizard(mob/living/carbon/human/wizard_mob)
//Allows the wizard to choose a custom name or go with a random one. Spawn 0 so it does not lag the round starting.
- var/wizard_name_first = pick(wizard_first)
- var/wizard_name_second = pick(wizard_second)
+ var/wizard_name_first = pick(GLOB.wizard_first)
+ var/wizard_name_second = pick(GLOB.wizard_second)
var/randomname = "[wizard_name_first] [wizard_name_second]"
spawn(0)
var/newname = sanitize(copytext(input(wizard_mob, "You are the Space Wizard. Would you like to change your name to something else?", "Name change", randomname) as null|text,1,MAX_NAME_LEN))
@@ -192,7 +192,7 @@
/datum/game_mode/wizard/declare_completion(var/ragin = 0)
if(finished && !ragin)
- feedback_set_details("round_end_result","loss - wizard killed")
+ feedback_set_details("round_end_result","wizard loss - wizard killed")
to_chat(world, " The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget! ")
..()
return 1
diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index 6423960f2f3..4bf351019ea 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -522,10 +522,10 @@ var/const/access_trade_sol = 160
rank = src:rank
assignment = src:assignment
- if( rank in joblist )
+ if( rank in GLOB.joblist )
return rank
- if( assignment in joblist )
+ if( assignment in GLOB.joblist )
return assignment
return "Unknown"
@@ -587,7 +587,7 @@ proc/FindNameFromID(var/mob/living/carbon/human/H)
return ID.registered_name
proc/get_all_job_icons() //For all existing HUD icons
- return joblist + list("Prisoner")
+ return GLOB.joblist + list("Prisoner")
/obj/proc/GetJobName() //Used in secHUD icon generation
var/obj/item/card/id/I
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index 418539b5bed..494da86d680 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -215,7 +215,7 @@
if(isturf(placed_in))
to_chat(H, "Placing [G.display_name] on [placed_in]! ")
else
- to_chat(H, "Placing [G.display_name] in [placed_in.name]")
+ to_chat(H, "Placing [G.display_name] in [placed_in.name]. ")
continue
if(H.equip_to_appropriate_slot(G))
to_chat(H, "Placing [G.display_name] in your inventory! ")
diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm
index 8acfd27a564..d7bd9c1c4cb 100644
--- a/code/game/jobs/job/medical.dm
+++ b/code/game/jobs/job/medical.dm
@@ -117,7 +117,7 @@
/datum/outfit/job/doctor/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
- if(H.mind.role_alt_title)
+ if(H.mind && H.mind.role_alt_title)
switch(H.mind.role_alt_title)
if("Surgeon")
uniform = /obj/item/clothing/under/rank/medical/blue
@@ -269,7 +269,7 @@
/datum/outfit/job/psychiatrist/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
- if(H.mind.role_alt_title)
+ if(H.mind && H.mind.role_alt_title)
switch(H.mind.role_alt_title)
if("Psychiatrist")
uniform = /obj/item/clothing/under/rank/psych
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 6987d9744ba..c8726e08305 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -138,7 +138,7 @@
/datum/outfit/job/detective/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
- if(H.mind.role_alt_title)
+ if(H.mind && H.mind.role_alt_title)
switch(H.mind.role_alt_title)
if("Forensic Technician")
suit = /obj/item/clothing/suit/storage/det_suit/forensics/blue
diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm
index 1cdd33672b0..2e532ff6322 100644
--- a/code/game/jobs/job_controller.dm
+++ b/code/game/jobs/job_controller.dm
@@ -177,7 +177,7 @@ var/global/datum/controller/occupations/job_master
break
/datum/controller/occupations/proc/ResetOccupations()
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if((player) && (player.mind))
player.mind.assigned_role = null
player.mind.special_role = null
@@ -291,7 +291,7 @@ var/global/datum/controller/occupations/job_master
A.spawn_positions = 3
//Get the players who are ready
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if(player.ready && player.mind && !player.mind.assigned_role)
unassigned += player
if(player.client.prefs.randomslot)
@@ -461,7 +461,7 @@ var/global/datum/controller/occupations/job_master
if(!joined_late)
var/turf/T = null
var/obj/S = null
- for(var/obj/effect/landmark/start/sloc in landmarks_list)
+ for(var/obj/effect/landmark/start/sloc in GLOB.landmarks_list)
if(sloc.name != rank)
continue
if(locate(/mob/living) in sloc.loc)
@@ -562,7 +562,7 @@ var/global/datum/controller/occupations/job_master
var/level5 = 0 //banned
var/level6 = 0 //account too young
var/level7 = 0 //has disability rendering them ineligible
- for(var/mob/new_player/player in player_list)
+ for(var/mob/new_player/player in GLOB.player_list)
if(!(player.ready && player.mind && !player.mind.assigned_role))
continue //This player is not ready
if(jobban_isbanned(player, job.title))
diff --git a/code/game/jobs/job_exp.dm b/code/game/jobs/job_exp.dm
index 552654245dd..7330c20eee6 100644
--- a/code/game/jobs/job_exp.dm
+++ b/code/game/jobs/job_exp.dm
@@ -50,7 +50,7 @@ var/global/list/role_playtime_requirements = list(
var/pline
var/datum/job/theirjob
var/jtext
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
jtext = "No Job"
if(C.mob.mind && C.mob.mind.assigned_role)
theirjob = job_master.GetJob(C.mob.mind.assigned_role)
@@ -212,7 +212,7 @@ var/global/list/role_playtime_requirements = list(
if(!establish_db_connection())
return -1
spawn(0)
- for(var/client/L in clients)
+ for(var/client/L in GLOB.clients)
if(L.inactivity >= (10 MINUTES))
continue
spawn(0)
diff --git a/code/game/jobs/job_scaling.dm b/code/game/jobs/job_scaling.dm
index 7d8804783f1..89bd8374351 100644
--- a/code/game/jobs/job_scaling.dm
+++ b/code/game/jobs/job_scaling.dm
@@ -1,6 +1,6 @@
/hook/roundstart/proc/jobscaling()
sleep(10 SECONDS) // give everyone time to finish spawning, and the lag to die down
- var/playercount = length(clients)
+ var/playercount = length(GLOB.clients)
var/highpop_trigger = 80
if(playercount >= highpop_trigger)
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index 70afe02762a..2ee1e93683d 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -15,6 +15,8 @@
buckle_lying = 90
var/no_icon_updates = 0 //set this to 1 if you don't want the icons ever changing
var/list/injected_reagents = list()
+ var/reagent_target_amount = 1
+ var/inject_amount = 1
/obj/machinery/optable/New()
..()
@@ -106,9 +108,9 @@
check_victim()
if(LAZYLEN(injected_reagents))
for(var/mob/living/carbon/C in get_turf(src))
+ var/datum/reagents/R = C.reagents
for(var/chemical in injected_reagents)
- if(C.reagents.get_reagent_amount(chemical) < 1)
- C.reagents.add_reagent(chemical, 1)
+ R.check_and_add(chemical,reagent_target_amount,inject_amount)
/obj/machinery/optable/proc/take_victim(mob/living/carbon/C, mob/living/carbon/user as mob)
if(C == user)
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index c964fd1f688..c2cc979f1dc 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -217,7 +217,7 @@
var/chemicals[0]
for(var/re in injection_chems)
- var/datum/reagent/temp = chemical_reagents_list[re]
+ var/datum/reagent/temp = GLOB.chemical_reagents_list[re]
if(temp)
var/reagent_amount = 0
var/pretty_amount
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index e9201838763..a6487352cd0 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -189,8 +189,8 @@
/obj/machinery/alarm/New(var/loc, var/dir, var/building = 0)
..()
- air_alarms += src
- air_alarms = sortAtom(air_alarms)
+ GLOB.air_alarms += src
+ GLOB.air_alarms = sortAtom(GLOB.air_alarms)
wires = new(src)
@@ -211,7 +211,7 @@
first_run()
/obj/machinery/alarm/Destroy()
- air_alarms -= src
+ GLOB.air_alarms -= src
if(radio_controller)
radio_controller.remove_object(src, frequency)
radio_connection = null
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index b6586d3c90a..7ede1d7586d 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -1,4 +1,4 @@
-obj/machinery/air_sensor
+/obj/machinery/air_sensor
icon = 'icons/obj/stationobjs.dmi'
icon_state = "gsensor1"
name = "gas sensor"
@@ -26,118 +26,116 @@ obj/machinery/air_sensor
var/datum/radio_frequency/radio_connection
- update_icon()
- icon_state = "gsensor[on]"
+/obj/machinery/air_sensor/update_icon()
+ icon_state = "gsensor[on]"
- multitool_menu(var/mob/user, var/obj/item/multitool/P)
- return {"
- Main
- "}
+/obj/machinery/air_sensor/multitool_menu(var/mob/user, var/obj/item/multitool/P)
+ return {"
+ Main
+ "}
- multitool_topic(var/mob/user, var/list/href_list, var/obj/O)
- . = ..()
- if(.)
- return .
+/obj/machinery/air_sensor/multitool_topic(var/mob/user, var/list/href_list, var/obj/O)
+ . = ..()
+ if(.)
+ return .
- if("toggle_out_flag" in href_list)
- var/bitflag_value = text2num(href_list["toggle_out_flag"])//this is a string normally
- if(!(bitflag_value in list(1, 2, 4, 8, 16, 32))) //Here to prevent breaking the sensors with HREF exploits
- return 0
- if(output&bitflag_value)//the bitflag is on ATM
- output &= ~bitflag_value
- else//can't not be off
- output |= bitflag_value
- return MT_UPDATE
- if("toggle_bolts" in href_list)
- bolts = !bolts
- if(bolts)
- visible_message("You hear a quite click as the [src] bolts to the floor", "You hear a quite click")
+ if("toggle_out_flag" in href_list)
+ var/bitflag_value = text2num(href_list["toggle_out_flag"])//this is a string normally
+ if(!(bitflag_value in list(1, 2, 4, 8, 16, 32))) //Here to prevent breaking the sensors with HREF exploits
+ return 0
+ if(output&bitflag_value)//the bitflag is on ATM
+ output &= ~bitflag_value
+ else//can't not be off
+ output |= bitflag_value
+ return MT_UPDATE
+ if("toggle_bolts" in href_list)
+ bolts = !bolts
+ if(bolts)
+ visible_message("You hear a quite click as the [src] bolts to the floor", "You hear a quite click")
+ else
+ visible_message("You hear a quite click as the [src]'s floor bolts raise", "You hear a quite click")
+ return MT_UPDATE
+
+/obj/machinery/air_sensor/attackby(var/obj/item/W as obj, var/mob/user as mob)
+ if(istype(W, /obj/item/multitool))
+ update_multitool_menu(user)
+ return 1
+ if(istype(W, /obj/item/wrench))
+ if(bolts)
+ to_chat(usr, "The [src] is bolted to the floor! You can't detach it like this.")
+ return 1
+ playsound(loc, W.usesound, 50, 1)
+ to_chat(user, "You begin to unfasten \the [src]... ")
+ if(do_after(user, 40 * W.toolspeed, target = src))
+ user.visible_message("[user] unfastens \the [src].", "You have unfastened \the [src]. ", "You hear ratchet.")
+ new /obj/item/pipe_gsensor(src.loc)
+ qdel(src)
+ return 1
+ if(..())
+ return 1
+
+/obj/machinery/air_sensor/process_atmos()
+ if(on)
+ if(!radio_connection)
+ return
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.data["tag"] = id_tag
+ signal.data["timestamp"] = world.time
+
+ var/datum/gas_mixture/air_sample = return_air()
+
+ if(output&1)
+ signal.data["pressure"] = num2text(round(air_sample.return_pressure(),0.1),)
+ if(output&2)
+ signal.data["temperature"] = round(air_sample.temperature,0.1)
+
+ if(output>4)
+ var/total_moles = air_sample.total_moles()
+ if(total_moles > 0)
+ if(output&4)
+ signal.data["oxygen"] = round(100*air_sample.oxygen/total_moles,0.1)
+ if(output&8)
+ signal.data["toxins"] = round(100*air_sample.toxins/total_moles,0.1)
+ if(output&16)
+ signal.data["nitrogen"] = round(100*air_sample.nitrogen/total_moles,0.1)
+ if(output&32)
+ signal.data["carbon_dioxide"] = round(100*air_sample.carbon_dioxide/total_moles,0.1)
else
- visible_message("You hear a quite click as the [src]'s floor bolts raise", "You hear a quite click")
- return MT_UPDATE
+ signal.data["oxygen"] = 0
+ signal.data["toxins"] = 0
+ signal.data["nitrogen"] = 0
+ signal.data["carbon_dioxide"] = 0
+ signal.data["sigtype"]="status"
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
- attackby(var/obj/item/W as obj, var/mob/user as mob)
- if(istype(W, /obj/item/multitool))
- update_multitool_menu(user)
- return 1
- if(istype(W, /obj/item/wrench))
- if(bolts)
- to_chat(usr, "The [src] is bolted to the floor! You can't detach it like this.")
- return 1
- playsound(loc, W.usesound, 50, 1)
- to_chat(user, "You begin to unfasten \the [src]... ")
- if(do_after(user, 40 * W.toolspeed, target = src))
- user.visible_message("[user] unfastens \the [src].", "You have unfastened \the [src]. ", "You hear ratchet.")
- new /obj/item/pipe_gsensor(src.loc)
- qdel(src)
- return 1
- if(..())
- return 1
+/obj/machinery/air_sensor/proc/set_frequency(new_frequency)
+ radio_controller.remove_object(src, frequency)
+ frequency = new_frequency
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
- process_atmos()
- if(on)
- if(!radio_connection)
- return
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.data["tag"] = id_tag
- signal.data["timestamp"] = world.time
+/obj/machinery/air_sensor/Initialize()
+ ..()
+ SSair.atmos_machinery += src
+ set_frequency(frequency)
- var/datum/gas_mixture/air_sample = return_air()
-
- if(output&1)
- signal.data["pressure"] = num2text(round(air_sample.return_pressure(),0.1),)
- if(output&2)
- signal.data["temperature"] = round(air_sample.temperature,0.1)
-
- if(output>4)
- var/total_moles = air_sample.total_moles()
- if(total_moles > 0)
- if(output&4)
- signal.data["oxygen"] = round(100*air_sample.oxygen/total_moles,0.1)
- if(output&8)
- signal.data["toxins"] = round(100*air_sample.toxins/total_moles,0.1)
- if(output&16)
- signal.data["nitrogen"] = round(100*air_sample.nitrogen/total_moles,0.1)
- if(output&32)
- signal.data["carbon_dioxide"] = round(100*air_sample.carbon_dioxide/total_moles,0.1)
- else
- signal.data["oxygen"] = 0
- signal.data["toxins"] = 0
- signal.data["nitrogen"] = 0
- signal.data["carbon_dioxide"] = 0
- signal.data["sigtype"]="status"
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
-
-
- proc
- set_frequency(new_frequency)
- radio_controller.remove_object(src, frequency)
- frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
-
- Initialize()
- ..()
- SSair.atmos_machinery += src
- set_frequency(frequency)
-
- Destroy()
- SSair.atmos_machinery -= src
- if(radio_controller)
- radio_controller.remove_object(src, frequency)
- radio_connection = null
- return ..()
+/obj/machinery/air_sensor/Destroy()
+ SSair.atmos_machinery -= src
+ if(radio_controller)
+ radio_controller.remove_object(src, frequency)
+ radio_connection = null
+ return ..()
/obj/machinery/computer/general_air_control
@@ -157,325 +155,322 @@ obj/machinery/air_sensor
var/list/sensor_information = list()
var/datum/radio_frequency/radio_connection
- Destroy()
- if(radio_controller)
- radio_controller.remove_object(src, frequency)
- radio_connection = null
- return ..()
+/obj/machinery/computer/general_air_control/Destroy()
+ if(radio_controller)
+ radio_controller.remove_object(src, frequency)
+ radio_connection = null
+ return ..()
- attack_hand(mob/user)
- if(..(user))
- return
- var/html=return_text()
- var/datum/browser/popup = new(user, "gac", name, 400, 400)
- popup.set_content(html)
- popup.open(0)
- user.set_machine(src)
- onclose(user, "gac")
+/obj/machinery/computer/general_air_control/attack_hand(mob/user)
+ if(..(user))
+ return
+ var/html=return_text()
+ var/datum/browser/popup = new(user, "gac", name, 400, 400)
+ popup.set_content(html)
+ popup.open(0)
+ user.set_machine(src)
+ onclose(user, "gac")
- process()
- ..()
- if(!sensors)
- //warning("[src.type] at [x],[y],[z] has null sensors. Please fix.")//commenting this line out because the admins will get a warning like this every time somebody builds another GAC
- sensors = list()
- src.updateUsrDialog()
+/obj/machinery/computer/general_air_control/process()
+ ..()
+ if(!sensors)
+ //warning("[src.type] at [x],[y],[z] has null sensors. Please fix.")//commenting this line out because the admins will get a warning like this every time somebody builds another GAC
+ sensors = list()
+ src.updateUsrDialog()
- attackby(I as obj, user as mob, params)
- if(istype(I, /obj/item/multitool))
- update_multitool_menu(user)
- if(..())
- return 1
+/obj/machinery/computer/general_air_control/attackby(I as obj, user as mob, params)
+ if(istype(I, /obj/item/multitool))
+ update_multitool_menu(user)
+ if(..())
+ return 1
- receive_signal(datum/signal/signal)
- if(!signal || signal.encryption) return
+/obj/machinery/computer/general_air_control/receive_signal(datum/signal/signal)
+ if(!signal || signal.encryption) return
- var/id_tag = signal.data["tag"]
- if(!id_tag || !sensors || !sensors.Find(id_tag)) return
+ var/id_tag = signal.data["tag"]
+ if(!id_tag || !sensors || !sensors.Find(id_tag)) return
- sensor_information[id_tag] = signal.data
+ sensor_information[id_tag] = signal.data
- proc/return_text()
- var/sensor_data
- if(show_sensors)
- if(sensors.len)
- for(var/id_tag in sensors)
- var/long_name = sensors[id_tag]
- var/list/data = sensor_information[id_tag]
- var/sensor_part = "[long_name] "
+/obj/machinery/computer/general_air_control/proc/return_text()
+ var/sensor_data
+ if(show_sensors)
+ if(sensors.len)
+ for(var/id_tag in sensors)
+ var/long_name = sensors[id_tag]
+ var/list/data = sensor_information[id_tag]
+ var/sensor_part = "[long_name] "
- if(data)
- sensor_part += ""
- if(data["pressure"])
- sensor_part += "Pressure: [data["pressure"]] kPa "
- if(data["temperature"])
- sensor_part += "Temperature: [data["temperature"]] K "
- if(data["oxygen"]||data["toxins"]||data["nitrogen"]||data["carbon_dioxide"])
- sensor_part += "Gas Composition : "
- if(data["oxygen"])
- sensor_part += "[data["oxygen"]]% O2 "
- if(data["nitrogen"])
- sensor_part += "[data["nitrogen"]]% N "
- if(data["carbon_dioxide"])
- sensor_part += "[data["carbon_dioxide"]]% CO2 "
- if(data["toxins"])
- sensor_part += "[data["toxins"]]% Plasma "
- sensor_part += " "
- sensor_part += "
"
+ if(data)
+ sensor_part += ""
+ if(data["pressure"])
+ sensor_part += "Pressure: [data["pressure"]] kPa "
+ if(data["temperature"])
+ sensor_part += "Temperature: [data["temperature"]] K "
+ if(data["oxygen"]||data["toxins"]||data["nitrogen"]||data["carbon_dioxide"])
+ sensor_part += "Gas Composition : "
+ if(data["oxygen"])
+ sensor_part += "[data["oxygen"]]% O2 "
+ if(data["nitrogen"])
+ sensor_part += "[data["nitrogen"]]% N "
+ if(data["carbon_dioxide"])
+ sensor_part += "[data["carbon_dioxide"]]% CO2 "
+ if(data["toxins"])
+ sensor_part += "[data["toxins"]]% Plasma "
+ sensor_part += " "
+ sensor_part += "
"
- else
- sensor_part += "[long_name] can not be found! "
- sensor_part += " "
- sensor_data += sensor_part
+ else
+ sensor_part += "[long_name] can not be found! "
+ sensor_part += " "
+ sensor_data += sensor_part
- else
- sensor_data = "No sensors connected. "
+ else
+ sensor_data = "No sensors connected. "
- var/output = {"
+ var/output = {"
- [show_sensors ? "Sensor Data: " + sensor_data : ""]
- "}
+ [show_sensors ? "Sensor Data: " + sensor_data : ""]
+ "}
- return output
+ return output
- proc
- set_frequency(new_frequency)
- radio_controller.remove_object(src, frequency)
- frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
+/obj/machinery/computer/general_air_control/proc/set_frequency(new_frequency)
+ radio_controller.remove_object(src, frequency)
+ frequency = new_frequency
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
- Initialize()
- ..()
- set_frequency(frequency)
+/obj/machinery/computer/general_air_control/Initialize()
+ ..()
+ set_frequency(frequency)
- multitool_menu(var/mob/user, var/obj/item/multitool/P)
- var/dat= {"
- Main
-
- Sensors:
- "}
- return dat
+/obj/machinery/computer/general_air_control/multitool_menu(mob/user, obj/item/multitool/P)
+ var/dat= {"
+ Main
+
+ Sensors:
+ "}
+ return dat
- multitool_topic(var/mob/user,var/list/href_list,var/obj/O)
- . = ..()
- if(.) return .
- if("add_sensor" in href_list)
+/obj/machinery/computer/general_air_control/multitool_topic(mob/user,list/href_list,obj/O)
+ . = ..()
+ if(.) return .
+ if("add_sensor" in href_list)
- // Make a list of all available sensors on the same frequency
- var/list/sensor_list = list()
- for(var/obj/machinery/air_sensor/G in machines)
- if(!isnull(G.id_tag) && G.frequency == frequency)
- sensor_list|=G.id_tag
- if(!sensor_list.len)
- to_chat(user, "No sensors on this frequency. ")
- return MT_ERROR
+ // Make a list of all available sensors on the same frequency
+ var/list/sensor_list = list()
+ for(var/obj/machinery/air_sensor/G in GLOB.machines)
+ if(!isnull(G.id_tag) && G.frequency == frequency)
+ sensor_list|=G.id_tag
+ if(!sensor_list.len)
+ to_chat(user, "No sensors on this frequency. ")
+ return MT_ERROR
- // Have the user pick one of them and name its label
- var/sensor = input(user, "Select a sensor:", "Sensor Data") as null|anything in sensor_list
- if(!sensor)
- return MT_ERROR
- var/label = reject_bad_name( input(user, "Choose a sensor label:", "Sensor Label") as text|null, allow_numbers=1)
- if(!label)
- return MT_ERROR
+ // Have the user pick one of them and name its label
+ var/sensor = input(user, "Select a sensor:", "Sensor Data") as null|anything in sensor_list
+ if(!sensor)
+ return MT_ERROR
+ var/label = reject_bad_name( input(user, "Choose a sensor label:", "Sensor Label") as text|null, allow_numbers=1)
+ if(!label)
+ return MT_ERROR
- // Add the sensor's information to general_air_controler
- sensors[sensor] = label
- return MT_UPDATE
+ // Add the sensor's information to general_air_controler
+ sensors[sensor] = label
+ return MT_UPDATE
- if("edit_sensor" in href_list)
- var/list/sensor_list = list()
- for(var/obj/machinery/air_sensor/G in machines)
- if(!isnull(G.id_tag) && G.frequency == frequency)
- sensor_list|=G.id_tag
- if(!sensor_list.len)
- to_chat(user, "No sensors on this frequency. ")
- return MT_ERROR
- var/label = sensors[href_list["edit_sensor"]]
- var/sensor = input(user, "Select a sensor:", "Sensor Data", href_list["edit_sensor"]) as null|anything in sensor_list
- if(!sensor)
- return MT_ERROR
- sensors.Remove(href_list["edit_sensor"])
- sensors[sensor] = label
- return MT_UPDATE
+ if("edit_sensor" in href_list)
+ var/list/sensor_list = list()
+ for(var/obj/machinery/air_sensor/G in GLOB.machines)
+ if(!isnull(G.id_tag) && G.frequency == frequency)
+ sensor_list|=G.id_tag
+ if(!sensor_list.len)
+ to_chat(user, "No sensors on this frequency. ")
+ return MT_ERROR
+ var/label = sensors[href_list["edit_sensor"]]
+ var/sensor = input(user, "Select a sensor:", "Sensor Data", href_list["edit_sensor"]) as null|anything in sensor_list
+ if(!sensor)
+ return MT_ERROR
+ sensors.Remove(href_list["edit_sensor"])
+ sensors[sensor] = label
+ return MT_UPDATE
- unlinkFrom(var/mob/user, var/obj/O)
- ..()
- if("id_tag" in O.vars && (istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter)))
- sensors.Remove(O:id_tag)
- return 1
- return 0
+/obj/machinery/computer/general_air_control/unlinkFrom(mob/user, obj/O)
+ ..()
+ if("id_tag" in O.vars && (istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter)))
+ sensors.Remove(O:id_tag)
+ return 1
+ return 0
- linkMenu(var/obj/O)
- if(isLinkedWith(O))
- return
+/obj/machinery/computer/general_air_control/linkMenu(obj/O)
+ if(isLinkedWith(O))
+ return
- var/dat=""
+ var/dat=""
- if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
- dat += " \[New Sensor\] "
- return dat
+ if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
+ dat += " \[New Sensor\] "
+ return dat
- canLink(var/obj/O, var/list/context)
- if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
- return O:id_tag
+/obj/machinery/computer/general_air_control/canLink(obj/O, list/context)
+ if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
+ return O:id_tag
- isLinkedWith(var/obj/O)
- if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
- return O:id_tag in sensors
+/obj/machinery/computer/general_air_control/isLinkedWith(obj/O)
+ if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
+ return O:id_tag in sensors
- linkWith(var/mob/user, var/obj/O, var/link/context)
- sensors[O:id_tag] = reject_bad_name(input(user, "Choose a sensor label:", "Sensor Label") as text|null, allow_numbers=1)
+/obj/machinery/computer/general_air_control/linkWith(mob/user, obj/O, link/context)
+ sensors[O:id_tag] = reject_bad_name(input(user, "Choose a sensor label:", "Sensor Label") as text|null, allow_numbers=1)
+ return 1
+
+/obj/machinery/computer/general_air_control/large_tank_control
+ circuit = /obj/item/circuitboard/large_tank_control
+ req_one_access_txt = "24;10"
+ settagwhitelist = list("input_tag", "output_tag")
+
+ var/input_tag
+ var/output_tag
+
+ var/list/input_info
+ var/list/output_info
+
+ var/list/input_linkable=list(
+ /obj/machinery/atmospherics/unary/outlet_injector,
+ /obj/machinery/atmospherics/unary/vent_pump
+ )
+
+ var/list/output_linkable=list(
+ /obj/machinery/atmospherics/unary/vent_pump
+ )
+
+ var/pressure_setting = ONE_ATMOSPHERE * 45
+
+/obj/machinery/computer/general_air_control/large_tank_control/attackby(I as obj, user as mob)
+ if(istype(I, /obj/item/multitool))
+ update_multitool_menu(user)
+ if(..())
return 1
- large_tank_control
- circuit = /obj/item/circuitboard/large_tank_control
- req_one_access_txt = "24;10"
- settagwhitelist = list("input_tag", "output_tag")
- var/input_tag
- var/output_tag
-
- var/list/input_info
- var/list/output_info
-
- var/list/input_linkable=list(
- /obj/machinery/atmospherics/unary/outlet_injector,
- /obj/machinery/atmospherics/unary/vent_pump
- )
-
- var/list/output_linkable=list(
- /obj/machinery/atmospherics/unary/vent_pump
- )
-
- var/pressure_setting = ONE_ATMOSPHERE * 45
-
- attackby(I as obj, user as mob)
- if(istype(I, /obj/item/multitool))
- update_multitool_menu(user)
- if(..())
- return 1
+/obj/machinery/computer/general_air_control/large_tank_control/multitool_menu(mob/user, obj/item/multitool/P)
+ var/dat= {"
+
+ Sensors:
+ "}
+ return dat
- multitool_menu(var/mob/user, var/obj/item/multitool/P)
- var/dat= {"
-
- Sensors:
- "}
- return dat
+/obj/machinery/computer/general_air_control/large_tank_control/linkWith(mob/user, obj/O, list/context)
+ if(context["slot"]=="input" && is_type_in_list(O,input_linkable))
+ input_info = null
+ if(istype(O,/obj/machinery/atmospherics/unary/vent_pump))
+ send_signal(list("tag"=input_tag,
+ "direction"=1, // Release
+ "checks" =0 // No pressure checks.
+ ))
+ return 1
+ if(context["slot"]=="output" && is_type_in_list(O,output_linkable))
+ output_tag = O:id_tag
+ output_info = null
+ if(istype(O,/obj/machinery/atmospherics/unary/vent_pump))
+ send_signal(list("tag"=output_tag,
+ "direction"=0, // Siphon
+ "checks" =2 // Internal pressure checks.
+ ))
+ return 1
+/obj/machinery/computer/general_air_control/large_tank_control/unlinkFrom(mob/user, obj/O)
+ if("id_tag" in O.vars)
+ if(O:id_tag == input_tag)
+ input_tag=null
+ input_info=null
+ return 1
+ if(O:id_tag == output_tag)
+ output_tag=null
+ output_info=null
+ return 1
+ return 0
- linkWith(var/mob/user, var/obj/O, var/list/context)
- if(context["slot"]=="input" && is_type_in_list(O,input_linkable))
- input_tag = O:id_tag
- input_info = null
- if(istype(O,/obj/machinery/atmospherics/unary/vent_pump))
- send_signal(list("tag"=input_tag,
- "direction"=1, // Release
- "checks" =0 // No pressure checks.
- ))
- return 1
- if(context["slot"]=="output" && is_type_in_list(O,output_linkable))
- output_tag = O:id_tag
- output_info = null
- if(istype(O,/obj/machinery/atmospherics/unary/vent_pump))
- send_signal(list("tag"=output_tag,
- "direction"=0, // Siphon
- "checks" =2 // Internal pressure checks.
- ))
- return 1
+/obj/machinery/computer/general_air_control/large_tank_control/linkMenu(obj/O)
+ var/dat=""
+ if(canLink(O,list("slot"="input")))
+ dat += " \[Link @ Input\] "
+ if(canLink(O,list("slot"="output")))
+ dat += " \[Link @ Output\] "
+ return dat
- unlinkFrom(var/mob/user, var/obj/O)
- if("id_tag" in O.vars)
- if(O:id_tag == input_tag)
- input_tag=null
- input_info=null
- return 1
- if(O:id_tag == output_tag)
- output_tag=null
- output_info=null
- return 1
- return 0
+/obj/machinery/computer/general_air_control/large_tank_control/canLink(obj/O, list/context)
+ return (context["slot"]=="input" && is_type_in_list(O,input_linkable)) || (context["slot"]=="output" && is_type_in_list(O,output_linkable))
- linkMenu(var/obj/O)
- var/dat=""
- if(canLink(O,list("slot"="input")))
- dat += " \[Link @ Input\] "
- if(canLink(O,list("slot"="output")))
- dat += " \[Link @ Output\] "
- return dat
+/obj/machinery/computer/general_air_control/large_tank_control/isLinkedWith(obj/O)
+ if(O:id_tag == input_tag)
+ return 1
+ if(O:id_tag == output_tag)
+ return 1
+ return 0
- canLink(var/obj/O, var/list/context)
- return (context["slot"]=="input" && is_type_in_list(O,input_linkable)) || (context["slot"]=="output" && is_type_in_list(O,output_linkable))
+/obj/machinery/computer/general_air_control/large_tank_control/process()
+ ..()
+ if(!input_info && input_tag)
+ request_device_refresh(input_tag)
+ if(!output_info && output_tag)
+ request_device_refresh(output_tag)
- isLinkedWith(var/obj/O)
- if(O:id_tag == input_tag)
- return 1
- if(O:id_tag == output_tag)
- return 1
- return 0
+/obj/machinery/computer/general_air_control/large_tank_control/return_text()
+ var/output = ..()
+ //if(signal.data)
+ // input_info = signal.data // Attempting to fix intake control -- TLE
-
- process()
- ..()
- if(!input_info && input_tag)
- request_device_refresh(input_tag)
- if(!output_info && output_tag)
- request_device_refresh(output_tag)
-
- return_text()
- var/output = ..()
- //if(signal.data)
- // input_info = signal.data // Attempting to fix intake control -- TLE
-
- output += "Tank Control System "
- if(input_tag)
- if(input_info)
- var/power = (input_info["power"])
- var/volume_rate = input_info["volume_rate"]
- output += {"
+ output += "Tank Control System "
+ if(input_tag)
+ if(input_info)
+ var/power = (input_info["power"])
+ var/volume_rate = input_info["volume_rate"]
+ output += {"
Input (Refresh )
@@ -490,14 +485,13 @@ legend {
"}
-
- else
- output += "ERROR: Can not find input port Search "
- if(output_tag)
- if(output_info)
- var/power = (output_info["power"])
- var/output_pressure = output_info["internal"]
- output += {"
+ else
+ output += "ERROR: Can not find input port Search "
+ if(output_tag)
+ if(output_info)
+ var/power = (output_info["power"])
+ var/output_pressure = output_info["internal"]
+ output += {"
Output (Refresh )
@@ -512,234 +506,234 @@ legend {
"}
- else
- output += "ERROR: Can not find output port Search "
+ else
+ output += "ERROR: Can not find output port Search "
- return output
+ return output
- receive_signal(datum/signal/signal)
- if(!signal || signal.encryption) return
+/obj/machinery/computer/general_air_control/large_tank_control/receive_signal(datum/signal/signal)
+ if(!signal || signal.encryption) return
- var/id_tag = signal.data["tag"]
+ var/id_tag = signal.data["tag"]
- if(input_tag == id_tag)
- input_info = signal.data
- updateUsrDialog()
- else if(output_tag == id_tag)
- output_info = signal.data
- updateUsrDialog()
- else
- ..(signal)
+ if(input_tag == id_tag)
+ input_info = signal.data
+ updateUsrDialog()
+ else if(output_tag == id_tag)
+ output_info = signal.data
+ updateUsrDialog()
+ else
+ ..(signal)
- proc/request_device_refresh(var/device)
- send_signal(list("tag"=device, "status"))
+/obj/machinery/computer/general_air_control/large_tank_control/proc/request_device_refresh(device)
+ send_signal(list("tag"=device, "status"))
- proc/send_signal(var/list/data)
- if(!radio_connection)
- return
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.source = src
- signal.data=data
- signal.data["sigtype"]="command"
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+/obj/machinery/computer/general_air_control/large_tank_control/proc/send_signal(list/data)
+ if(!radio_connection)
+ return
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.source = src
+ signal.data=data
+ signal.data["sigtype"]="command"
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
- Topic(href, href_list)
- if(..())
- return 1
+/obj/machinery/computer/general_air_control/large_tank_control/Topic(href, href_list)
+ if(..())
+ return 1
- add_fingerprint(usr)
+ add_fingerprint(usr)
- if(href_list["out_set_pressure"])
- var/response=input(usr,"Set new pressure, in kPa. \[0-[50*ONE_ATMOSPHERE]\]") as num
- pressure_setting = text2num(response)
- pressure_setting = between(0, pressure_setting, 50*ONE_ATMOSPHERE)
+ if(href_list["out_set_pressure"])
+ var/response=input(usr,"Set new pressure, in kPa. \[0-[50*ONE_ATMOSPHERE]\]") as num
+ pressure_setting = text2num(response)
+ pressure_setting = between(0, pressure_setting, 50*ONE_ATMOSPHERE)
- if(!radio_connection)
- return 0
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.source = src
- if(href_list["in_refresh_status"])
- input_info = null
- signal.data = list ("tag" = input_tag, "status" = 1)
+ if(!radio_connection)
+ return 0
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.source = src
+ if(href_list["in_refresh_status"])
+ input_info = null
+ signal.data = list ("tag" = input_tag, "status" = 1)
- else if(href_list["in_toggle_injector"])
- input_info = null
- signal.data = list ("tag" = input_tag, "power_toggle" = 1)
+ else if(href_list["in_toggle_injector"])
+ input_info = null
+ signal.data = list ("tag" = input_tag, "power_toggle" = 1)
- else if(href_list["out_refresh_status"])
- output_info = null
- signal.data = list ("tag" = output_tag, "status" = 1)
+ else if(href_list["out_refresh_status"])
+ output_info = null
+ signal.data = list ("tag" = output_tag, "status" = 1)
- else if(href_list["out_toggle_power"])
- output_info = null
- signal.data = list ("tag" = output_tag, "power_toggle" = 1)
+ else if(href_list["out_toggle_power"])
+ output_info = null
+ signal.data = list ("tag" = output_tag, "power_toggle" = 1)
- else if(href_list["out_set_pressure"])
- output_info = null
- signal.data = list ("tag" = output_tag, "set_internal_pressure" = "[pressure_setting]")
- /*else
- testing("Bad Topic() to GAC \"[src.name]\": [href]")
- return*/ // NOPE. // disabling because it spams when multitool menus are used
+ else if(href_list["out_set_pressure"])
+ output_info = null
+ signal.data = list ("tag" = output_tag, "set_internal_pressure" = "[pressure_setting]")
+ /*else
+ testing("Bad Topic() to GAC \"[src.name]\": [href]")
+ return*/ // NOPE. // disabling because it spams when multitool menus are used
- signal.data["sigtype"] = "command"
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
- src.updateUsrDialog()
+ signal.data["sigtype"] = "command"
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+ src.updateUsrDialog()
- fuel_injection
- icon = 'icons/obj/computer.dmi'
- icon_screen = "atmos"
- circuit = /obj/item/circuitboard/injector_control
+/obj/machinery/computer/general_air_control/fuel_injection
+ icon = 'icons/obj/computer.dmi'
+ icon_screen = "atmos"
+ circuit = /obj/item/circuitboard/injector_control
- var/device_tag
- var/list/device_info
+ var/device_tag
+ var/list/device_info
- var/automation = 0
+ var/automation = 0
- var/cutoff_temperature = 2000
- var/on_temperature = 1200
+ var/cutoff_temperature = 2000
+ var/on_temperature = 1200
- attackby(I as obj, user as mob, params)
- if(istype(I, /obj/item/multitool))
- update_multitool_menu(user)
- if(..())
- return 1
+/obj/machinery/computer/general_air_control/fuel_injection/attackby(I as obj, user as mob, params)
+ if(istype(I, /obj/item/multitool))
+ update_multitool_menu(user)
+ if(..())
+ return 1
- process()
- if(automation)
- if(!radio_connection)
- return 0
+/obj/machinery/computer/general_air_control/fuel_injection/process()
+ if(automation)
+ if(!radio_connection)
+ return 0
- var/injecting = 0
- for(var/id_tag in sensor_information)
- var/list/data = sensor_information[id_tag]
- if(data["temperature"])
- if(data["temperature"] >= cutoff_temperature)
- injecting = 0
- break
- if(data["temperature"] <= on_temperature)
- injecting = 1
+ var/injecting = 0
+ for(var/id_tag in sensor_information)
+ var/list/data = sensor_information[id_tag]
+ if(data["temperature"])
+ if(data["temperature"] >= cutoff_temperature)
+ injecting = 0
+ break
+ if(data["temperature"] <= on_temperature)
+ injecting = 1
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.source = src
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.source = src
- signal.data = list(
- "tag" = device_tag,
- "power" = injecting,
- "sigtype"="command"
- )
+ signal.data = list(
+ "tag" = device_tag,
+ "power" = injecting,
+ "sigtype"="command"
+ )
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
- ..()
+ ..()
- return_text()
- var/output = ..()
- output += "Fuel Injection System (Refresh ) "
- if(device_info)
- var/power = device_info["power"]
- var/volume_rate = device_info["volume_rate"]
- output += {"
-
- Status:
- [power?"Injecting":"On Hold"]
-
-
- Rate:
- [volume_rate] L/sec
-
-
- Automated Fuel Injection:
- [automation?"Engaged":"Disengaged"]
- "}
+/obj/machinery/computer/general_air_control/fuel_injection/return_text()
+ var/output = ..()
+ output += "Fuel Injection System (Refresh ) "
+ if(device_info)
+ var/power = device_info["power"]
+ var/volume_rate = device_info["volume_rate"]
+ output += {"
+
+ Status:
+ [power?"Injecting":"On Hold"]
+
+
+ Rate:
+ [volume_rate] L/sec
+
+
+ Automated Fuel Injection:
+ [automation?"Engaged":"Disengaged"]
+ "}
- if(automation)
+ if(automation)
- // AUTOFIXED BY fix_string_idiocy.py
- // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:372: output += "Automated Fuel Injection: Engaged "
- output += {"
-
- Injector Controls Locked Out
- "}
- // END AUTOFIX
- else
+ // AUTOFIXED BY fix_string_idiocy.py
+ // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:372: output += "Automated Fuel Injection: Engaged "
+ output += {"
+
+ Injector Controls Locked Out
+ "}
+ // END AUTOFIX
+ else
- // AUTOFIXED BY fix_string_idiocy.py
- // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:375: output += "Automated Fuel Injection: Disengaged "
- output += {"
-
- Injector:
- Toggle Power Inject (1 Cycle)
- "}
- // END AUTOFIX
- output += "
"
- else
- output += {"ERROR: Can not find device. Search
"}
- output += " "
+ // AUTOFIXED BY fix_string_idiocy.py
+ // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:375: output += "Automated Fuel Injection: Disengaged "
+ output += {"
+
+ Injector:
+ Toggle Power Inject (1 Cycle)
+ "}
+ // END AUTOFIX
+ output += "
"
+ else
+ output += {"ERROR: Can not find device. Search
"}
+ output += " "
- return output
+ return output
- receive_signal(datum/signal/signal)
- if(!signal || signal.encryption) return
+/obj/machinery/computer/general_air_control/fuel_injection/receive_signal(datum/signal/signal)
+ if(!signal || signal.encryption) return
- var/id_tag = signal.data["tag"]
+ var/id_tag = signal.data["tag"]
- if(device_tag == id_tag)
- device_info = signal.data
- else
- ..(signal)
+ if(device_tag == id_tag)
+ device_info = signal.data
+ else
+ ..(signal)
- Topic(href, href_list)
- if(..())
- return
+/obj/machinery/computer/general_air_control/fuel_injection/Topic(href, href_list)
+ if(..())
+ return
- if(href_list["refresh_status"])
- device_info = null
- if(!radio_connection)
- return 0
+ if(href_list["refresh_status"])
+ device_info = null
+ if(!radio_connection)
+ return 0
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.source = src
- signal.data = list(
- "tag" = device_tag,
- "status",
- "sigtype"="command"
- )
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.source = src
+ signal.data = list(
+ "tag" = device_tag,
+ "status",
+ "sigtype"="command"
+ )
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
- if(href_list["toggle_automation"])
- automation = !automation
+ if(href_list["toggle_automation"])
+ automation = !automation
- if(href_list["toggle_injector"])
- device_info = null
- if(!radio_connection)
- return 0
+ if(href_list["toggle_injector"])
+ device_info = null
+ if(!radio_connection)
+ return 0
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.source = src
- signal.data = list(
- "tag" = device_tag,
- "power_toggle",
- "sigtype"="command"
- )
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.source = src
+ signal.data = list(
+ "tag" = device_tag,
+ "power_toggle",
+ "sigtype"="command"
+ )
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
- if(href_list["injection"])
- if(!radio_connection)
- return 0
+ if(href_list["injection"])
+ if(!radio_connection)
+ return 0
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.source = src
- signal.data = list(
- "tag" = device_tag,
- "inject",
- "sigtype"="command"
- )
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.source = src
+ signal.data = list(
+ "tag" = device_tag,
+ "inject",
+ "sigtype"="command"
+ )
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm
index 990488ad624..3d53e130628 100644
--- a/code/game/machinery/atmoalter/area_atmos_computer.dm
+++ b/code/game/machinery/atmoalter/area_atmos_computer.dm
@@ -15,165 +15,165 @@
//Simple variable to prevent me from doing attack_hand in both this and the child computer
var/zone = "This computer is working on a wireless range, the range is currently limited to 25 meters."
- New()
- ..()
- //So the scrubbers have time to spawn
- spawn(10)
- scanscrubbers()
+/obj/machinery/computer/area_atmos/New()
+ ..()
+ //So the scrubbers have time to spawn
+ spawn(10)
+ scanscrubbers()
- attack_ai(var/mob/user as mob)
- src.add_hiddenprint(user)
- return src.attack_hand(user)
+/obj/machinery/computer/area_atmos/attack_ai(mob/user as mob)
+ src.add_hiddenprint(user)
+ return src.attack_hand(user)
- attack_hand(var/mob/user as mob)
- if(..(user))
- return
- src.add_fingerprint(usr)
- var/dat = {"
-
-
-
-
-
- Area Air Control
- [status]
- Scan
- "}
- for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in connectedscrubbers)
- dat += {"
-
- [scrubber.name]
- Turn On Turn Off
- "}
-
+/obj/machinery/computer/area_atmos/attack_hand(mob/user as mob)
+ if(..(user))
+ return
+ src.add_fingerprint(usr)
+ var/dat = {"
+
+
+
+
+
+ Area Air Control
+ [status]
+ Scan
+ "}
+ for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in connectedscrubbers)
dat += {"
-
- [zone]
-
- "}
- var/datum/browser/popup = new(user, "area_atmos", name, 400, 400)
- popup.set_content(dat)
- popup.open(0)
- status = ""
+
+ [scrubber.name]
+ Turn On Turn Off
+ "}
- Topic(href, href_list)
- if(..())
+ dat += {"
+
+ [zone]
+
+ "}
+ var/datum/browser/popup = new(user, "area_atmos", name, 400, 400)
+ popup.set_content(dat)
+ popup.open(0)
+ status = ""
+
+/obj/machinery/computer/area_atmos/Topic(href, href_list)
+ if(..())
+ return
+ usr.set_machine(src)
+ src.add_fingerprint(usr)
+
+
+ if(href_list["scan"])
+ scanscrubbers()
+ else if(href_list["toggle"])
+ var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber = locate(href_list["scrub"])
+
+ if(!validscrubber(scrubber))
+ spawn(20)
+ status = "ERROR: Couldn't connect to scrubber! (timeout)"
+ connectedscrubbers -= scrubber
+ src.updateUsrDialog()
return
- usr.set_machine(src)
- src.add_fingerprint(usr)
+ scrubber.on = text2num(href_list["toggle"])
+ scrubber.update_icon()
- if(href_list["scan"])
- scanscrubbers()
- else if(href_list["toggle"])
- var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber = locate(href_list["scrub"])
+/obj/machinery/computer/area_atmos/proc/validscrubber( var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber as obj )
+ if(!isobj(scrubber) || get_dist(scrubber.loc, src.loc) > src.range || scrubber.loc.z != src.loc.z)
+ return 0
- if(!validscrubber(scrubber))
- spawn(20)
- status = "ERROR: Couldn't connect to scrubber! (timeout)"
- connectedscrubbers -= scrubber
- src.updateUsrDialog()
- return
+ return 1
- scrubber.on = text2num(href_list["toggle"])
- scrubber.update_icon()
+/obj/machinery/computer/area_atmos/proc/scanscrubbers()
+ connectedscrubbers = new()
- proc/validscrubber( var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber as obj )
- if(!isobj(scrubber) || get_dist(scrubber.loc, src.loc) > src.range || scrubber.loc.z != src.loc.z)
- return 0
+ var/found = 0
+ for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in range(range, src.loc))
+ if(istype(scrubber))
+ found = 1
+ connectedscrubbers += scrubber
- return 1
+ if(!found)
+ status = "ERROR: No scrubber found!"
- proc/scanscrubbers()
- connectedscrubbers = new()
-
- var/found = 0
- for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in range(range, src.loc))
- if(istype(scrubber))
- found = 1
- connectedscrubbers += scrubber
-
- if(!found)
- status = "ERROR: No scrubber found!"
-
- src.updateUsrDialog()
+ src.updateUsrDialog()
/obj/machinery/computer/area_atmos/area
zone = "This computer is working in a wired network limited to this area."
- validscrubber( var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber as obj )
- if(!isobj(scrubber))
- return 0
+/obj/machinery/computer/area_atmos/area/validscrubber(obj/machinery/portable_atmospherics/scrubber/huge/scrubber as obj )
+ if(!isobj(scrubber))
+ return 0
- /*
- wow this is stupid, someone help me
- */
- var/turf/T_src = get_turf(src)
- if(!T_src.loc) return 0
- var/area/A_src = T_src.loc
+ /*
+ wow this is stupid, someone help me
+ */
+ var/turf/T_src = get_turf(src)
+ if(!T_src.loc) return 0
+ var/area/A_src = T_src.loc
- var/turf/T_scrub = get_turf(scrubber)
- if(!T_scrub.loc) return 0
- var/area/A_scrub = T_scrub.loc
+ var/turf/T_scrub = get_turf(scrubber)
+ if(!T_scrub.loc) return 0
+ var/area/A_scrub = T_scrub.loc
- if(A_scrub != A_src)
- return 0
+ if(A_scrub != A_src)
+ return 0
- return 1
+ return 1
- scanscrubbers()
- connectedscrubbers = new()
+/obj/machinery/computer/area_atmos/area/scanscrubbers()
+ connectedscrubbers = new()
- var/found = 0
+ var/found = 0
- var/turf/T = get_turf(src)
- if(!T.loc) return
- var/area/A = get_area(T)
- for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in world )
- var/turf/T2 = get_turf(scrubber)
- if(T2 && T2.loc)
- var/area/A2 = T2.loc
- if(istype(A2) && A2 == A )
- connectedscrubbers += scrubber
- found = 1
+ var/turf/T = get_turf(src)
+ if(!T.loc) return
+ var/area/A = get_area(T)
+ for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in world )
+ var/turf/T2 = get_turf(scrubber)
+ if(T2 && T2.loc)
+ var/area/A2 = T2.loc
+ if(istype(A2) && A2 == A )
+ connectedscrubbers += scrubber
+ found = 1
- if(!found)
- status = "ERROR: No scrubber found!"
+ if(!found)
+ status = "ERROR: No scrubber found!"
- src.updateUsrDialog()
+ src.updateUsrDialog()
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 78b94f969fd..1be5fa5e43a 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -80,18 +80,18 @@ var/datum/canister_icons/canister_icon_container = new()
var/busy = 0
var/update_flag = 0
- New()
- ..()
- canister_color = list(
- "prim" = "yellow",
- "sec" = "none",
- "ter" = "none",
- "quart" = "none")
- oldcolor = new /list()
- decals = list("cold" = 0, "hot" = 0, "plasma" = 0)
- colorcontainer = list()
- possibledecals = list()
- update_icon()
+/obj/machinery/portable_atmospherics/canister/New()
+ ..()
+ canister_color = list(
+ "prim" = "yellow",
+ "sec" = "none",
+ "ter" = "none",
+ "quart" = "none")
+ oldcolor = new /list()
+ decals = list("cold" = 0, "hot" = 0, "plasma" = 0)
+ colorcontainer = list()
+ possibledecals = list()
+ update_icon()
/obj/machinery/portable_atmospherics/canister/proc/init_data_vars()
//passed to the ui to render the color lists
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index a0e9ee978dd..426ca39edb6 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -216,15 +216,12 @@
return ..()
/obj/machinery/autolathe/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted)
- if(ispath(type_inserted, /obj/item/ore/bluespace_crystal))
- use_power(MINERAL_MATERIAL_AMOUNT / 10)
- else
- switch(id_inserted)
- if(MAT_METAL)
- flick("autolathe_o",src)//plays metal insertion animation
- if(MAT_GLASS)
- flick("autolathe_r",src)//plays glass insertion animation
- use_power(min(1000, amount_inserted / 100))
+ switch(id_inserted)
+ if(MAT_METAL)
+ flick("autolathe_o", src)//plays metal insertion animation
+ if(MAT_GLASS)
+ flick("autolathe_r", src)//plays glass insertion animation
+ use_power(min(1000, amount_inserted / 100))
SSnanoui.update_uis(src)
/obj/machinery/autolathe/attack_ghost(mob/user)
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 07f22d8373e..0e7dbaccadd 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -30,8 +30,10 @@
var/busy = FALSE
var/emped = FALSE //Number of consecutive EMP's on this camera
+ var/in_use_lights = 0 // TO BE IMPLEMENTED
var/toggle_sound = 'sound/items/Wirecutter.ogg'
+
/obj/machinery/camera/New()
..()
wires = new(src)
@@ -93,7 +95,7 @@
spawn(100)
if(!QDELETED(src))
cancelCameraAlarm()
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.client && M.client.eye == src)
M.unset_machine()
M.reset_perspective(null)
@@ -192,7 +194,7 @@
info = N.notehtml
to_chat(U, "You hold \the [itemname] up to the camera ...")
U.changeNext_move(CLICK_CD_MELEE)
- for(var/mob/O in player_list)
+ for(var/mob/O in GLOB.player_list)
if(istype(O, /mob/living/silicon/ai))
var/mob/living/silicon/ai/AI = O
if(AI.control_disabled || (AI.stat == DEAD))
@@ -286,7 +288,7 @@
// now disconnect anyone using the camera
//Apparently, this will disconnect anyone even if the camera was re-activated.
//I guess that doesn't matter since they can't use it anyway?
- for(var/mob/O in player_list)
+ for(var/mob/O in GLOB.player_list)
if(O.client && O.client.eye == src)
O.unset_machine()
O.reset_perspective(null)
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index 03ebe757789..5f9aa6f12a1 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -101,7 +101,7 @@
C.auto_turn()
C.network = uniquelist(tempnetwork)
- tempnetwork = difflist(C.network,restricted_camera_networks)
+ tempnetwork = difflist(C.network,GLOB.restricted_camera_networks)
if(!tempnetwork.len) // Camera isn't on any open network - remove its chunk from AI visibility.
cameranet.removeCamera(C)
diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm
index 76a9518c98b..277cee5beb3 100644
--- a/code/game/machinery/camera/tracking.dm
+++ b/code/game/machinery/camera/tracking.dm
@@ -120,7 +120,7 @@
if(usr.stat == 2)
return list()
- for(var/mob/living/M in mob_list)
+ for(var/mob/living/M in GLOB.mob_list)
if(!M.can_track(usr))
continue
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index 5d5e6bd9511..604ac3f02f3 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -217,9 +217,7 @@
for(var/turf/T in linkedholodeck)
if(prob(30))
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, T)
- s.start()
+ do_sparks(2, 1, T)
T.ex_act(3)
T.hotspot_expose(1000,500,1)
@@ -257,9 +255,7 @@
if(L.name=="Atmospheric Test Start")
spawn(20)
var/turf/T = get_turf(L)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, T)
- s.start()
+ do_sparks(2, 1, T)
if(T)
T.temperature = 5000
T.hotspot_expose(50000,50000,1)*/
@@ -306,9 +302,7 @@
/* if(L.name=="Atmospheric Test Start")
spawn(20)
var/turf/T = get_turf(L)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, T)
- s.start()
+ do_sparks(2, 1, T)
if(T)
T.temperature = 5000
T.hotspot_expose(50000,50000,1)*/
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 191f432e756..b0ad5a23b1d 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -912,9 +912,9 @@
newcrew = specific
else
if(prob(50))
- newcrew = pick(first_names_male)
+ newcrew = pick(GLOB.first_names_male)
else
- newcrew = pick(first_names_female)
+ newcrew = pick(GLOB.first_names_female)
if(newcrew)
settlers += newcrew
alive++
diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm
index 99eaeae3fe6..b70addea909 100644
--- a/code/game/machinery/computer/camera_advanced.dm
+++ b/code/game/machinery/computer/camera_advanced.dm
@@ -138,7 +138,8 @@
return
T = get_turf(T)
loc = T
- cameranet.visibility(src)
+ if(use_static)
+ cameranet.visibility(src, GetViewerClient())
if(visible_icon)
if(eye_user.client)
eye_user.client.images -= user_image
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index 51c55ffd84a..9bda37b2401 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -153,7 +153,7 @@ var/time_last_changed_position = 0
/obj/machinery/computer/card/proc/can_open_job(datum/job/job)
if(job)
if(!job_blacklisted_full(job) && !job_blacklisted_partial(job) && job_in_department(job, FALSE))
- if((job.total_positions <= player_list.len * (max_relative_positions / 100)))
+ if((job.total_positions <= GLOB.player_list.len * (max_relative_positions / 100)))
var/delta = (world.time / 10) - time_last_changed_position
if((change_position_cooldown < delta) || (opened_positions[job.title] < 0))
return 1
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 55a464daf43..9d7310c1c66 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -37,7 +37,7 @@
light_color = LIGHT_COLOR_LIGHTBLUE
/obj/machinery/computer/communications/New()
- shuttle_caller_list += src
+ GLOB.shuttle_caller_list += src
..()
crew_announcement.newscast = 0
@@ -502,11 +502,11 @@
if(SSshuttle.cancelEvac(user))
log_game("[key_name(user)] has recalled the shuttle.")
- message_admins("[key_name_admin(user)] has recalled the shuttle - [ADMIN_FLW(user)].", 1)
+ message_admins("[key_name_admin(user)] has recalled the shuttle - ([ADMIN_FLW(user,"FLW")]).", 1)
else
to_chat(user, "Central Command has refused the recall request! ")
log_game("[key_name(user)] has tried and failed to recall the shuttle.")
- message_admins("[key_name_admin(user)] has tried and failed to recall the shuttle - [ADMIN_FLW(user)].", 1)
+ message_admins("[key_name_admin(user)] has tried and failed to recall the shuttle - ([ADMIN_FLW(user,"FLW")]).", 1)
/proc/post_status(command, data1, data2, mob/user = null)
@@ -533,21 +533,21 @@
/obj/machinery/computer/communications/Destroy()
- shuttle_caller_list -= src
+ GLOB.shuttle_caller_list -= src
SSshuttle.autoEvac()
return ..()
/obj/item/circuitboard/communications/New()
- shuttle_caller_list += src
+ GLOB.shuttle_caller_list += src
..()
/obj/item/circuitboard/communications/Destroy()
- shuttle_caller_list -= src
+ GLOB.shuttle_caller_list -= src
SSshuttle.autoEvac()
return ..()
/proc/print_command_report(text = "", title = "Central Command Update")
- for(var/obj/machinery/computer/communications/C in shuttle_caller_list)
+ for(var/obj/machinery/computer/communications/C in GLOB.shuttle_caller_list)
if(!(C.stat & (BROKEN|NOPOWER)) && is_station_contact(C.z))
var/obj/item/paper/P = new /obj/item/paper(C.loc)
P.name = "paper- '[title]'"
@@ -555,7 +555,7 @@
P.update_icon()
C.messagetitle.Add("[title]")
C.messagetext.Add(text)
- for(var/datum/computer_file/program/comm/P in shuttle_caller_list)
+ for(var/datum/computer_file/program/comm/P in GLOB.shuttle_caller_list)
var/turf/T = get_turf(P.computer)
if(T && P.program_state != PROGRAM_STATE_KILLED && is_station_contact(T.z))
if(P.computer)
@@ -566,7 +566,7 @@
P.messagetext.Add(text)
/proc/print_centcom_report(text = "", title = "Incoming Message")
- for(var/obj/machinery/computer/communications/C in shuttle_caller_list)
+ for(var/obj/machinery/computer/communications/C in GLOB.shuttle_caller_list)
if(!(C.stat & (BROKEN|NOPOWER)) && is_admin_level(C.z))
var/obj/item/paper/P = new /obj/item/paper(C.loc)
P.name = "paper- '[title]'"
@@ -574,7 +574,7 @@
P.update_icon()
C.messagetitle.Add("[title]")
C.messagetext.Add(text)
- for(var/datum/computer_file/program/comm/P in shuttle_caller_list)
+ for(var/datum/computer_file/program/comm/P in GLOB.shuttle_caller_list)
var/turf/T = get_turf(P.computer)
if(T && P.program_state != PROGRAM_STATE_KILLED && is_admin_level(T.z))
if(P.computer)
diff --git a/code/game/machinery/computer/depot.dm b/code/game/machinery/computer/depot.dm
index 78a8a8a69ab..9e720a4c83d 100644
--- a/code/game/machinery/computer/depot.dm
+++ b/code/game/machinery/computer/depot.dm
@@ -389,7 +389,7 @@
/obj/machinery/computer/syndicate_depot/teleporter/proc/choosetarget()
var/list/eligible_turfs = list()
- for(var/obj/item/radio/beacon/R in beacons)
+ for(var/obj/item/radio/beacon/R in GLOB.beacons)
var/turf/T = get_turf(R)
if(!is_station_level(T.z))
continue
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index 4785c681582..fb09b40f440 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -535,7 +535,7 @@
if(prob(10/severity))
switch(rand(1,6))
if(1)
- R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]"
+ R.fields["name"] = "[pick(pick(GLOB.first_names_male), pick(GLOB.first_names_female))] [pick(GLOB.last_names)]"
if(2)
R.fields["sex"] = pick("Male", "Female")
if(3)
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index bcbe7a07e5d..87d35c2d7b4 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -14,8 +14,6 @@
circuit = /obj/item/circuitboard/message_monitor
//Server linked to.
var/obj/machinery/message_server/linkedServer = null
- //Sparks effect - For emag
- var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
//Messages - Saves me time if I want to change something.
var/noserver = "ALERT: No server detected. "
var/incorrectkey = "ALERT: Incorrect decryption key! "
@@ -56,8 +54,7 @@
icon_screen = hack_icon // An error screen I made in the computers.dmi
emag = 1
screen = 2
- spark_system.set_up(5, 0, src)
- src.spark_system.start()
+ do_sparks(5, 0, src)
var/obj/item/paper/monitorkey/MK = new/obj/item/paper/monitorkey
MK.loc = src.loc
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1)
diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm
index 4cbf105c100..fdb9f934516 100644
--- a/code/game/machinery/computer/pod.dm
+++ b/code/game/machinery/computer/pod.dm
@@ -39,7 +39,7 @@
loopings += ident_tag
loopings[ident_tag] = 0
break
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in GLOB.airlocks)
if(M.z != src.z) continue
for(var/ident_tag in id_tags)
if((M.id_tag == ident_tag) && !(ident_tag in synced) && !(ident_tag in door_only_tags))
@@ -65,7 +65,7 @@
loopings[ident_tag] = 0
break
if(!(ident_tag in synced))
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in GLOB.airlocks)
if(M.z != src.z) continue
if((M.id_tag == ident_tag) && !(ident_tag in synced) && !(ident_tag in door_only_tags))
door_only_tags += ident_tag
@@ -86,7 +86,7 @@
visible_message("Cannot locate any mass driver of that ID. Cancelling firing sequence!")
return
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in GLOB.airlocks)
if(M.z != src.z) continue
if(M.id_tag == ident_tag)
spawn()
@@ -100,7 +100,7 @@
M.drive()
sleep(50)
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in GLOB.airlocks)
if(M.z != src.z) continue
if(M.id_tag == ident_tag)
spawn()
@@ -240,7 +240,7 @@
maxtimes[ident_tag] = min(max(round(maxtimes[ident_tag]), 0), 120)
if(href_list["door"])
var/ident_tag = href_list["driver"]
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in GLOB.airlocks)
if(M.z != src.z) continue
if(M.id_tag == ident_tag)
spawn()
@@ -313,7 +313,7 @@
P.failchance = 0//So it has no fail chance when teleporting.
spawn_marauder.Remove(P.target)
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in GLOB.airlocks)
if(M.z != src.z) continue
if(M.id_tag == ident_tag)
spawn()
@@ -326,7 +326,7 @@
M.drive()
sleep(50)
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in GLOB.airlocks)
if(M.z != src.z) continue
if(M.id_tag == ident_tag)
spawn()
diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm
index 2fa4e6f1177..a5198da6e56 100644
--- a/code/game/machinery/computer/power.dm
+++ b/code/game/machinery/computer/power.dm
@@ -13,8 +13,8 @@
/obj/machinery/computer/monitor/New()
..()
- power_monitors += src
- power_monitors = sortAtom(power_monitors)
+ GLOB.power_monitors += src
+ GLOB.power_monitors = sortAtom(GLOB.power_monitors)
power_monitor = new(src)
/obj/machinery/computer/monitor/Initialize()
@@ -23,7 +23,7 @@
powernet = find_powernet()
/obj/machinery/computer/monitor/Destroy()
- power_monitors -= src
+ GLOB.power_monitors -= src
powermonitor_repository.update_cache()
QDEL_NULL(power_monitor)
return ..()
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index 613d6dcd90e..ea684d9596b 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -19,11 +19,11 @@
return src.attack_hand(user)
/obj/machinery/computer/prisoner/New()
- prisoncomputer_list += src
+ GLOB.prisoncomputer_list += src
return ..()
/obj/machinery/computer/prisoner/Destroy()
- prisoncomputer_list -= src
+ GLOB.prisoncomputer_list -= src
return ..()
/obj/machinery/computer/prisoner/attack_hand(var/mob/user as mob)
@@ -46,7 +46,7 @@
dat += text("Insert Prisoner ID ")
var/turf/Tr = null
dat += " Chemical Implants "
- for(var/obj/item/implant/chem/C in tracked_implants)
+ for(var/obj/item/implant/chem/C in GLOB.tracked_implants)
Tr = get_turf(C)
if((Tr) && (Tr.z != src.z)) continue//Out of range
if(!C.implanted) continue
@@ -59,7 +59,7 @@
******************************** "}
// END AUTOFIX
dat += " Tracking Implants "
- for(var/obj/item/implant/tracking/T in tracked_implants)
+ for(var/obj/item/implant/tracking/T in GLOB.tracked_implants)
Tr = get_turf(T)
if((Tr) && (Tr.z != src.z)) continue//Out of range
if(!T.implanted) continue
diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index a3d9455a6ce..5d4e838db38 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -172,7 +172,7 @@
message_admins("[key_name_admin(usr)] detonated all cyborgs! ")
log_game("\[key_name(usr)] detonated all cyborgs! ")
- for(var/mob/living/silicon/robot/R in mob_list)
+ for(var/mob/living/silicon/robot/R in GLOB.mob_list)
if(istype(R, /mob/living/silicon/robot/drone))
continue
// Ignore antagonistic cyborgs
@@ -190,7 +190,7 @@
/obj/machinery/computer/robotics/proc/get_cyborgs(var/mob/operator)
var/list/robots = list()
- for(var/mob/living/silicon/robot/R in mob_list)
+ for(var/mob/living/silicon/robot/R in GLOB.mob_list)
// Ignore drones
if(istype(R, /mob/living/silicon/robot/drone))
continue
@@ -240,6 +240,6 @@
/obj/machinery/computer/robotics/proc/get_cyborg_by_name(var/name)
if(!name)
return
- for(var/mob/living/silicon/robot/R in mob_list)
+ for(var/mob/living/silicon/robot/R in GLOB.mob_list)
if(R.name == name)
return R
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 5c26f423e96..e31fc239580 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -149,9 +149,9 @@
update_all_mob_security_hud()
setTemp("All records deleted. ")
if("del_alllogs2")
- if(cell_logs.len)
+ if(GLOB.cell_logs.len)
setTemp("All cell logs deleted. ")
- cell_logs.Cut()
+ GLOB.cell_logs.Cut()
else
to_chat(usr, "Error; No cell logs to delete. ")
if("del_r2")
@@ -207,7 +207,7 @@
if("rank")
if(active1)
active1.fields["rank"] = temp_href[2]
- if(temp_href[2] in joblist)
+ if(temp_href[2] in GLOB.joblist)
active1.fields["real_rank"] = temp_href[2]
if(href_list["scan"])
@@ -385,8 +385,8 @@
*/
else if(href_list["printlogs"])
- if(cell_logs.len && !printing)
- var/obj/item/paper/P = input(usr, "Select log to print", "Available Cell Logs") as null|anything in cell_logs
+ if(GLOB.cell_logs.len && !printing)
+ var/obj/item/paper/P = input(usr, "Select log to print", "Available Cell Logs") as null|anything in GLOB.cell_logs
if(!P)
return 0
printing = 1
@@ -500,7 +500,7 @@
//This was so silly before the change. Now it actually works without beating your head against the keyboard. /N
if(istype(active1, /datum/data/record) && L.Find(rank))
var/list/buttons = list()
- for(var/rank in joblist)
+ for(var/rank in GLOB.joblist)
buttons[++buttons.len] = list("name" = rank, "icon" = null, "href" = "rank=[rank]", "status" = (active1.fields["rank"] == rank ? "selected" : null))
setTemp("Rank ", buttons)
else
@@ -566,7 +566,7 @@
if(prob(10/severity))
switch(rand(1,6))
if(1)
- R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]"
+ R.fields["name"] = "[pick(pick(GLOB.first_names_male), pick(GLOB.first_names_female))] [pick(GLOB.last_names)]"
if(2)
R.fields["sex"] = pick("Male", "Female")
if(3)
diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm
index ff0fc039efe..ac10eb6e22d 100644
--- a/code/game/machinery/computer/skills.dm
+++ b/code/game/machinery/computer/skills.dm
@@ -121,7 +121,7 @@
if(PDA_Manifest && PDA_Manifest.len)
PDA_Manifest.Cut()
active1.fields["rank"] = temp_list[2]
- if(temp_list[2] in joblist)
+ if(temp_list[2] in GLOB.joblist)
active1.fields["real_rank"] = temp_list[2]
if(href_list["scan"])
@@ -278,7 +278,7 @@
//This was so silly before the change. Now it actually works without beating your head against the keyboard. /N
if(istype(active1, /datum/data/record) && L.Find(rank))
var/list/buttons = list()
- for(var/rank in joblist)
+ for(var/rank in GLOB.joblist)
buttons[++buttons.len] = list("name" = rank, "icon" = null, "val" = "rank=[rank]", "status" = (active1.fields["rank"] == rank ? "selected" : null))
setTemp("Rank ", buttons)
else
@@ -303,7 +303,7 @@
if(prob(10/severity))
switch(rand(1,6))
if(1)
- R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]"
+ R.fields["name"] = "[pick(pick(GLOB.first_names_male), pick(GLOB.first_names_female))] [pick(GLOB.last_names)]"
if(2)
R.fields["sex"] = pick("Male", "Female")
if(3)
diff --git a/code/game/machinery/computer/store.dm b/code/game/machinery/computer/store.dm
index bfa2820d9b3..f49d91c53b3 100644
--- a/code/game/machinery/computer/store.dm
+++ b/code/game/machinery/computer/store.dm
@@ -145,6 +145,9 @@ th.cost.toomuch {background:maroon;}
var/itemID = text2num(href_list["buy"])
var/datum/storeitem/item = centcomm_store.items[itemID]
var/sure = alert(usr,"Are you sure you wish to purchase [item.name] for $[item.cost]?","You sure?","Yes","No") in list("Yes","No")
+ if(!Adjacent(usr))
+ to_chat(usr, "You are not close enough to do that. ")
+ return
if(sure=="No")
updateUsrDialog()
return
diff --git a/code/game/machinery/computer/syndicate_specops_shuttle.dm b/code/game/machinery/computer/syndicate_specops_shuttle.dm
index 0889c97dcca..9aaf1b39517 100644
--- a/code/game/machinery/computer/syndicate_specops_shuttle.dm
+++ b/code/game/machinery/computer/syndicate_specops_shuttle.dm
@@ -85,10 +85,10 @@ var/syndicate_elite_shuttle_timeleft = 0
sleep(10)
var/spawn_marauder[] = new()
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(L.name == "Marauder Entry")
spawn_marauder.Add(L)
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(L.name == "Marauder Exit")
var/obj/effect/portal/P = new(L.loc)
P.invisibility = 101//So it is not seen by anyone.
@@ -133,12 +133,11 @@ var/syndicate_elite_shuttle_timeleft = 0
elite_squad.readyreset()//Reset firealarm after the team launched.
//End Marauder launchpad.
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(L.name == "Syndicate Breach Area")
explosion(L.loc,4,6,8,10,0)
sleep(40)
-// proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1)
var/area/start_location = locate(/area/shuttle/syndicate_elite/mothership)
diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm
index 4006e005b12..2a7e2f71bee 100644
--- a/code/game/machinery/computer/telecrystalconsoles.dm
+++ b/code/game/machinery/computer/telecrystalconsoles.dm
@@ -151,7 +151,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
/obj/machinery/computer/telecrystals/boss/proc/getDangerous()//This scales the TC assigned with the round population.
..()
var/danger
- danger = player_list.len
+ danger = GLOB.player_list.len
while(!IsMultiple(++danger,10))//Just round up to the nearest multiple of ten.
scaleTC(danger)
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 953a476d1a8..f9c1330e596 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -705,7 +705,7 @@ obj/item/circuitboard/rdserver
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
frame_desc = "Requires 3 Bluespace Crystals and 1 Matter Bin."
req_components = list(
- /obj/item/ore/bluespace_crystal = 3,
+ /obj/item/stack/ore/bluespace_crystal = 3,
/obj/item/stock_parts/matter_bin = 1)
/obj/item/circuitboard/teleporter_station
@@ -715,7 +715,7 @@ obj/item/circuitboard/rdserver
origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3"
frame_desc = "Requires 2 Bluespace Crystals, 2 Capacitors and 1 Console Screen."
req_components = list(
- /obj/item/ore/bluespace_crystal = 2,
+ /obj/item/stack/ore/bluespace_crystal = 2,
/obj/item/stock_parts/capacitor = 2,
/obj/item/stock_parts/console_screen = 1)
@@ -726,7 +726,7 @@ obj/item/circuitboard/rdserver
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
frame_desc = "Requires 3 Bluespace Crystals and 1 Matter Bin."
req_components = list(
- /obj/item/ore/bluespace_crystal = 3,
+ /obj/item/stack/ore/bluespace_crystal = 3,
/obj/item/stock_parts/matter_bin = 1)
var/target
@@ -737,7 +737,7 @@ obj/item/circuitboard/rdserver
origin_tech = "programming=4;engineering=3;plasmatech=4;bluespace=4"
frame_desc = "Requires 2 Bluespace Crystals, 1 Capacitor, 1 piece of cable and 1 Console Screen."
req_components = list(
- /obj/item/ore/bluespace_crystal = 2,
+ /obj/item/stack/ore/bluespace_crystal = 2,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/stock_parts/console_screen = 1)
@@ -749,7 +749,7 @@ obj/item/circuitboard/rdserver
origin_tech = "programming=3;engineering=3;plasmatech=3;bluespace=4"
frame_desc = "Requires 1 Bluespace Crystal, 1 Capacitor, 1 piece of cable and 1 Manipulator."
req_components = list(
- /obj/item/ore/bluespace_crystal = 1,
+ /obj/item/stack/ore/bluespace_crystal = 1,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/cable_coil = 1)
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index 90ce57e880f..4c75e5dca8a 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -1,5 +1,6 @@
/obj/machinery/atmospherics/unary/cryo_cell
name = "cryo cell"
+ desc = "Lowers the body temperature so certain medications may take effect."
icon = 'icons/obj/cryogenics.dmi'
icon_state = "pod0"
density = 1
@@ -280,7 +281,7 @@
return
B.forceMove(src)
beaker = B
- add_attack_logs(user, null, "Added [B] containing [B.reagentlist()] to a cryo cell at [COORD(src)]")
+ add_attack_logs(user, null, "Added [B] containing [B.reagents.log_list()] to a cryo cell at [COORD(src)]")
user.visible_message("[user] adds \a [B] to [src]!", "You add \a [B] to [src]!")
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 332dc2854e1..b6a02aacfd0 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -149,9 +149,7 @@
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
return
visible_message("The console sparks, and some items fall out! ")
- var/datum/effect_system/spark_spread/sparks = new
- sparks.set_up(5, 1, src)
- sparks.start()
+ do_sparks(5, 1, src)
for(var/obj/item/I in objective_items)
dispense_item(I)
@@ -336,7 +334,7 @@
continue
O.forceMove(src)
- for(var/obj/machinery/computer/cloning/cloner in machines)
+ for(var/obj/machinery/computer/cloning/cloner in GLOB.machines)
for(var/datum/dna2/record/R in cloner.records)
if(occupant.mind == locate(R.mind))
cloner.records.Remove(R)
@@ -434,7 +432,7 @@
control_computer.frozen_crew += "[occupant.real_name]"
var/ailist[] = list()
- for(var/mob/living/silicon/ai/A in living_mob_list)
+ for(var/mob/living/silicon/ai/A in GLOB.living_mob_list)
ailist += A
if(ailist.len)
var/mob/living/silicon/ai/announcer = pick(ailist)
@@ -607,7 +605,7 @@
time_entered = world.time
if(findtext("[E.key]","@",1,2))
var/FT = replacetext(E.key, "@", "")
- for(var/mob/dead/observer/Gh in respawnable_list) //this may not be foolproof but it seemed like a better option than 'in world'
+ for(var/mob/dead/observer/Gh in GLOB.respawnable_list) //this may not be foolproof but it seemed like a better option than 'in world'
if(Gh.key == FT)
if(Gh.client && Gh.client.holder) //just in case someone has a byond name with @ at the start, which I don't think is even possible but whatever
to_chat(Gh, "Warning: Your body has entered cryostorage. ")
@@ -761,7 +759,7 @@
if(istype(person_to_cryo.loc, /obj/machinery/cryopod))
return 0
var/list/free_cryopods = list()
- for(var/obj/machinery/cryopod/P in machines)
+ for(var/obj/machinery/cryopod/P in GLOB.machines)
if(!P.occupant && istype(get_area(P), /area/crew_quarters/sleep))
free_cryopods += P
var/obj/machinery/cryopod/target_cryopod = null
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 8c47855731f..e0fb65787cd 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -169,116 +169,108 @@ for reference:
var/locked = 0.0
// req_access = list(access_maint_tunnels)
- New()
- ..()
+/obj/machinery/deployable/barrier/New()
+ ..()
- src.icon_state = "barrier[src.locked]"
+ src.icon_state = "barrier[src.locked]"
- attackby(obj/item/W as obj, mob/user as mob, params)
- if(istype(W, /obj/item/card/id))
- if(src.allowed(user))
- if(src.emagged < 2.0)
- src.locked = !src.locked
- src.anchored = !src.anchored
- src.icon_state = "barrier[src.locked]"
- if((src.locked == 1.0) && (src.emagged < 2.0))
- to_chat(user, "Barrier lock toggled on.")
- return
- else if((src.locked == 0.0) && (src.emagged < 2.0))
- to_chat(user, "Barrier lock toggled off.")
- return
- else
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, src)
- s.start()
- visible_message("BZZzZZzZZzZT ")
+/obj/machinery/deployable/barrier/attackby(obj/item/W as obj, mob/user as mob, params)
+ if(istype(W, /obj/item/card/id))
+ if(src.allowed(user))
+ if(src.emagged < 2.0)
+ src.locked = !src.locked
+ src.anchored = !src.anchored
+ src.icon_state = "barrier[src.locked]"
+ if((src.locked == 1.0) && (src.emagged < 2.0))
+ to_chat(user, "Barrier lock toggled on.")
return
+ else if((src.locked == 0.0) && (src.emagged < 2.0))
+ to_chat(user, "Barrier lock toggled off.")
+ return
+ else
+ do_sparks(2, 1, src)
+ visible_message("BZZzZZzZZzZT ")
+ return
+ return
+ else if(istype(W, /obj/item/wrench))
+ if(src.health < src.maxhealth)
+ src.health = src.maxhealth
+ src.emagged = 0
+ src.req_access = list(access_security)
+ visible_message("[user] repairs the [src]! ")
return
- else if(istype(W, /obj/item/wrench))
- if(src.health < src.maxhealth)
- src.health = src.maxhealth
- src.emagged = 0
- src.req_access = list(access_security)
- visible_message("[user] repairs the [src]! ")
- return
- else if(src.emagged > 0)
- src.emagged = 0
- src.req_access = list(access_security)
- visible_message("[user] repairs the [src]! ")
- return
+ else if(src.emagged > 0)
+ src.emagged = 0
+ src.req_access = list(access_security)
+ visible_message("[user] repairs the [src]! ")
return
- else
- switch(W.damtype)
- if("fire")
- src.health -= W.force * 0.75
- if("brute")
- src.health -= W.force * 0.5
- else
- if(src.health <= 0)
- src.explode()
- ..()
-
- emag_act(user as mob)
- if(!emagged)
- emagged = 1
- req_access = null
- to_chat(user, "You break the ID authentication lock on the [src].")
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, src)
- s.start()
- visible_message("BZZzZZzZZzZT ")
- else if(src.emagged == 1)
- src.emagged = 2
- to_chat(user, "You short out the anchoring mechanism on the [src].")
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, src)
- s.start()
- visible_message("BZZzZZzZZzZT ")
-
- ex_act(severity)
- switch(severity)
- if(1.0)
- src.explode()
- return
- if(2.0)
- src.health -= 25
- if(src.health <= 0)
- src.explode()
- return
- emp_act(severity)
- if(stat & (BROKEN|NOPOWER))
- return
- if(prob(50/severity))
- locked = !locked
- anchored = !anchored
- icon_state = "barrier[src.locked]"
-
- blob_act()
- src.health -= 25
+ return
+ else
+ switch(W.damtype)
+ if("fire")
+ src.health -= W.force * 0.75
+ if("brute")
+ src.health -= W.force * 0.5
+ else
if(src.health <= 0)
src.explode()
+ ..()
+
+/obj/machinery/deployable/barrier/emag_act(user as mob)
+ if(!emagged)
+ emagged = 1
+ req_access = null
+ to_chat(user, "You break the ID authentication lock on the [src].")
+ do_sparks(2, 1, src)
+ visible_message("BZZzZZzZZzZT ")
+ else if(src.emagged == 1)
+ src.emagged = 2
+ to_chat(user, "You short out the anchoring mechanism on the [src].")
+ do_sparks(2, 1, src)
+ visible_message("BZZzZZzZZzZT ")
+
+/obj/machinery/deployable/barrier/ex_act(severity)
+ switch(severity)
+ if(1.0)
+ src.explode()
+ return
+ if(2.0)
+ src.health -= 25
+ if(src.health <= 0)
+ src.explode()
+ return
+
+/obj/machinery/deployable/barrier/emp_act(severity)
+ if(stat & (BROKEN|NOPOWER))
return
+ if(prob(50/severity))
+ locked = !locked
+ anchored = !anchored
+ icon_state = "barrier[src.locked]"
- CanPass(atom/movable/mover, turf/target, height=0)//So bullets will fly over and stuff.
- if(height==0)
- return 1
- if(istype(mover) && mover.checkpass(PASSTABLE))
- return 1
- else
- return 0
+/obj/machinery/deployable/barrier/blob_act()
+ src.health -= 25
+ if(src.health <= 0)
+ src.explode()
+ return
- proc/explode()
+/obj/machinery/deployable/barrier/CanPass(atom/movable/mover, turf/target, height=0)//So bullets will fly over and stuff.
+ if(height==0)
+ return 1
+ if(istype(mover) && mover.checkpass(PASSTABLE))
+ return 1
+ else
+ return 0
- visible_message("[src] blows apart! ")
- var/turf/Tsec = get_turf(src)
+/obj/machinery/deployable/barrier/proc/explode()
+ visible_message("[src] blows apart! ")
+ var/turf/Tsec = get_turf(src)
- /* var/obj/item/stack/rods/ =*/
- new /obj/item/stack/rods(Tsec)
+/* var/obj/item/stack/rods/ =*/
+ new /obj/item/stack/rods(Tsec)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, src)
- s.start()
+ do_sparks(3, 1, src)
- explosion(src.loc,-1,-1,0)
- if(src)
- qdel(src)
\ No newline at end of file
+ explosion(src.loc,-1,-1,0)
+ if(src)
+ qdel(src)
diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm
index 879773c3850..279a3e197dc 100644
--- a/code/game/machinery/door_control.dm
+++ b/code/game/machinery/door_control.dm
@@ -82,7 +82,7 @@
add_fingerprint(user)
if(normaldoorcontrol)
- for(var/obj/machinery/door/airlock/D in range(range))
+ for(var/obj/machinery/door/airlock/D in range(range, src))
if(D.id_tag == id)
if(specialfunctions & OPEN)
if(D.density)
@@ -113,7 +113,7 @@
D.safe = 1
else
- for(var/obj/machinery/door/poddoor/M in airlocks)
+ for(var/obj/machinery/door/poddoor/M in range(range, src))
if(M.id_tag == id)
if(M.density)
spawn( 0 )
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index a076fcec8fd..8d9b17ef7c2 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -132,7 +132,7 @@ About the new airlock wires panel:
update_icon()
/obj/machinery/door/airlock/proc/update_other_id()
- for(var/obj/machinery/door/airlock/A in airlocks)
+ for(var/obj/machinery/door/airlock/A in GLOB.airlocks)
if(A.closeOtherId == closeOtherId && A != src)
closeOther = A
break
@@ -313,15 +313,14 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/update_icon(state=0, override=0)
if(operating && !override)
return
+ icon_state = density ? "closed" : "open"
switch(state)
if(0)
if(density)
state = AIRLOCK_CLOSED
else
state = AIRLOCK_OPEN
- icon_state = ""
if(AIRLOCK_OPEN, AIRLOCK_CLOSED)
- icon_state = ""
if(AIRLOCK_DENY, AIRLOCK_OPENING, AIRLOCK_CLOSING, AIRLOCK_EMAG)
icon_state = "nonexistenticonstate" //MADNESS
set_airlock_overlays(state)
@@ -628,9 +627,7 @@ About the new airlock wires panel:
if(isElectrified() && density && istype(mover, /obj/item))
var/obj/item/I = mover
if(I.flags & CONDUCT)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
return ..()
/obj/machinery/door/airlock/attack_hand(mob/user)
@@ -670,12 +667,12 @@ About the new airlock wires panel:
return FALSE
//For the tools being used on the door. Since you don't want to call the attack_hand method if you're using hands. That would be silly
-//Also it's a bit inconsistent that when you access the panel you headbutt it. But not while crowbarring
+//Also it's a bit inconsistent that when you access the panel you headbutt it. But not while crowbarring
//Try to interact with the panel. If the user can't it'll try activating the door
/obj/machinery/door/airlock/proc/interact_with_panel(mob/user)
if(shock_user(user, 100))
return
-
+
if(panel_open)
if(security_level)
to_chat(user, "Wires are protected! ")
@@ -1025,7 +1022,7 @@ About the new airlock wires panel:
else if(locked)
to_chat(user, "The airlock's bolts prevent it from being forced! ")
else if(!welded && !operating)
- if(!beingcrowbarred) //being fireaxe'd
+ if(istype(I, /obj/item/twohanded/fireaxe)) //let's make this more specific
var/obj/item/twohanded/fireaxe/F = I
if(F.wielded)
spawn(0)
@@ -1042,7 +1039,7 @@ About the new airlock wires panel:
else
close(1)
- if(istype(I, /obj/item/crowbar/power))
+ if(ispowertool(I)) //jaws of life and rescue claw
if(isElectrified())
shock(user, 100)//it's like sticking a forck in a power socket
return
@@ -1325,7 +1322,7 @@ About the new airlock wires panel:
user.visible_message("[user] removes [note] from [src]. ", "You remove [note] from [src]. ")
playsound(src, 'sound/items/poster_ripped.ogg', 50, 1)
else return FALSE
- else
+ else
user.visible_message("[user] cuts down [note] from [src]. ", "You remove [note] from [src]. ")
playsound(src, 'sound/items/Wirecutter.ogg', 50, 1)
note.forceMove(get_turf(user))
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 43156d2b484..7f785b6f3eb 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -38,7 +38,7 @@
if(!logname || !logcharges)
return 0
- for(var/obj/machinery/computer/prisoner/C in prisoncomputer_list)
+ for(var/obj/machinery/computer/prisoner/C in GLOB.prisoncomputer_list)
var/obj/item/paper/P = new /obj/item/paper(C.loc)
P.name = "[id] log - [logname] [station_time_timestamp()]"
P.info = "[id] - Brig record "
@@ -52,7 +52,7 @@
This log file was generated automatically upon activation of a cell timer. "}
playsound(C.loc, "sound/goonstation/machines/printer_dotmatrix.ogg", 50, 1)
- cell_logs += P
+ GLOB.cell_logs += P
var/datum/data/record/R = find_security_record("name", logname)
Radio.autosay("Detainee [logname] has been incarcerated for [seconds_to_time(timetoset / 10)] for the charges of, '[logcharges]'. \
@@ -85,11 +85,11 @@
pixel_y = ((dir & 3)? (dir ==1 ? 32 : -32) : (0))
spawn(20)
- for(var/obj/machinery/door/window/brigdoor/M in airlocks)
+ for(var/obj/machinery/door/window/brigdoor/M in GLOB.airlocks)
if(M.id == id)
targets += M
- for(var/obj/machinery/flasher/F in machines)
+ for(var/obj/machinery/flasher/F in GLOB.machines)
if(F.id == id)
targets += F
@@ -97,7 +97,7 @@
if(C.id == id)
targets += C
- for(var/obj/machinery/treadmill_monitor/T in machines)
+ for(var/obj/machinery/treadmill_monitor/T in GLOB.machines)
if(T.id == id)
targets += T
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 563e4eb49f2..6f838319040 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -37,7 +37,7 @@
set_init_door_layer()
update_dir()
update_freelook_sight()
- airlocks += src
+ GLOB.airlocks += src
spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(2, 1, src)
@@ -72,12 +72,11 @@
density = 0
air_update_turf(1)
update_freelook_sight()
- airlocks -= src
+ GLOB.airlocks -= src
if(autoclose_timer)
deltimer(autoclose_timer)
autoclose_timer = 0
- if(spark_system)
- QDEL_NULL(spark_system)
+ QDEL_NULL(spark_system)
return ..()
/obj/machinery/door/Bumped(atom/AM)
diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm
index 013be887cce..e9836eb0ca6 100644
--- a/code/game/machinery/floodlight.dm
+++ b/code/game/machinery/floodlight.dm
@@ -15,7 +15,7 @@
/obj/machinery/floodlight/Initialize()
. = ..()
- src.cell = new(src)
+ cell = new(src)
mapVarInit()
/obj/machinery/floodlight/Destroy()
@@ -26,13 +26,18 @@
icon_state = "flood[open ? "o" : ""][open && cell ? "b" : ""]0[on]"
/obj/machinery/floodlight/process()
+ if(!cell && on)
+ on = FALSE
+ visible_message("[src] shuts down due to lack of power! ")
+ update_icon()
+ set_light(0)
if(on)
cell.charge -= use
if(cell.charge <= 0)
on = FALSE
updateicon()
set_light(0)
- src.visible_message("[src] shuts down due to lack of power! ")
+ visible_message("[src] shuts down due to lack of power! ")
/obj/machinery/floodlight/attack_ai()
return
@@ -48,8 +53,12 @@
cell.add_fingerprint(user)
cell.update_icon()
- src.cell = null
+ cell = null
to_chat(user, "You remove the power cell.")
+ if(on)
+ on = FALSE
+ visible_message("[src] shuts down due to lack of power! ")
+ set_light(0)
updateicon()
return
@@ -80,14 +89,14 @@
/obj/machinery/floodlight/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/wrench))
if(!anchored && !isinspace())
- playsound(src.loc, W.usesound, 50, 1)
+ playsound(loc, W.usesound, 50, 1)
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
" You have tightened \the [src]'s casters. ", \
"You hear ratchet.")
anchored = TRUE
else if(anchored)
- playsound(src.loc, W.usesound, 50, 1)
+ playsound(loc, W.usesound, 50, 1)
user.visible_message( \
"[user] loosens \the [src]'s casters.", \
" You have loosened \the [src]'s casters. ", \
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 95d39aa06e6..4af2bc60f66 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -55,6 +55,7 @@ var/list/holopads = list()
var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging
var/obj/effect/overlay/holoray/ray
var/ringing = FALSE
+ var/dialling_input = FALSE //The user is currently selecting where to send their call
/obj/machinery/hologram/holopad/New()
..()
@@ -133,6 +134,8 @@ var/list/holopads = list()
/obj/machinery/hologram/holopad/interact(mob/living/carbon/human/user) //Carn: hologram requests.
if(!istype(user))
return
+ if(!anchored)
+ return
var/dat
if(temp)
@@ -191,7 +194,9 @@ var/list/holopads = list()
else if(href_list["Holocall"])
if(outgoing_call)
return
-
+ if(dialling_input)
+ to_chat(usr, "Finish dialling first! ")
+ return
temp = "You must stand on the holopad to make a call! "
temp += "Main Menu "
if(usr.loc == loc)
@@ -201,9 +206,9 @@ var/list/holopads = list()
if(A)
LAZYADD(callnames[A], I)
callnames -= get_area(src)
-
+ dialling_input = TRUE
var/result = input(usr, "Choose an area to call", "Holocall") as null|anything in callnames
-
+ dialling_input = FALSE
if(QDELETED(usr) || !result || outgoing_call)
return
@@ -250,7 +255,7 @@ var/list/holopads = list()
/obj/machinery/hologram/holopad/process()
for(var/I in masters)
var/mob/living/master = I
- if((stat & NOPOWER) || !validate_user(master))
+ if((stat & NOPOWER) || !validate_user(master) || !anchored)
clear_holo(master)
if(outgoing_call)
diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm
index 713e29abf8a..13ed8bebc23 100644
--- a/code/game/machinery/holosign.dm
+++ b/code/game/machinery/holosign.dm
@@ -10,22 +10,22 @@
var/id = null
var/on_icon = "sign_on"
- proc/toggle()
- if(stat & (BROKEN|NOPOWER))
- return
- lit = !lit
- update_icon()
-
+/obj/machinery/holosign/proc/toggle()
+ if(stat & (BROKEN|NOPOWER))
+ return
+ lit = !lit
update_icon()
- if(!lit)
- icon_state = "sign_off"
- else
- icon_state = on_icon
- power_change()
- if(stat & NOPOWER)
- lit = 0
- update_icon()
+/obj/machinery/holosign/update_icon()
+ if(!lit)
+ icon_state = "sign_off"
+ else
+ icon_state = on_icon
+
+/obj/machinery/holosign/power_change()
+ if(stat & NOPOWER)
+ lit = 0
+ update_icon()
/obj/machinery/holosign/surgery
name = "surgery holosign"
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index 87ec7974711..3c36edb1685 100755
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -101,9 +101,7 @@
flick("[base_state]-spark", src)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, src)
- s.start()
+ do_sparks(2, 1, src)
src.last_spark = world.time
use_power(1000)
var/turf/location = src.loc
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index c5fd19a1cfc..d0abd774e6f 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -134,7 +134,7 @@ Class Procs:
else
START_DEFERRED_PROCESSING(SSmachines, src)
else
- fast_processing += src
+ GLOB.fast_processing += src
isprocessing = TRUE // all of these isprocessing = TRUE can be removed when the PS is dead
// gotta go fast
@@ -143,7 +143,7 @@ Class Procs:
return
speed_process = 1
STOP_PROCESSING(SSmachines, src)
- fast_processing += src
+ GLOB.fast_processing += src
isprocessing = TRUE
// gotta go slow
@@ -152,20 +152,20 @@ Class Procs:
return
speed_process = 0
START_PROCESSING(SSmachines, src)
- fast_processing -= src
+ GLOB.fast_processing -= src
/obj/machinery/New() //new
if(!armor)
armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
- machines += src
+ GLOB.machines += src
..()
/obj/machinery/Destroy()
if(myArea)
myArea = null
- fast_processing -= src
+ GLOB.fast_processing -= src
STOP_PROCESSING(SSmachines, src)
- machines -= src
+ GLOB.machines -= src
return ..()
/obj/machinery/proc/locate_machinery()
@@ -391,6 +391,9 @@ Class Procs:
return ..()
+/obj/machinery/proc/is_operational()
+ return !(stat & (NOPOWER|BROKEN|MAINT))
+
/obj/machinery/CheckParts(list/parts_list)
..()
RefreshParts()
@@ -587,9 +590,7 @@ Class Procs:
return 0
if((TK in user.mutations) && !Adjacent(user))
return 0
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
if(electrocute_mob(user, get_area(src), src, 0.7))
if(user.stunned)
return 1
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 09774a6d600..7741d1ce056 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -29,169 +29,149 @@
var/center_y = 0
var/max_dist = 20 // absolute value of center_x,y cannot exceed this integer
- New()
- ..()
- var/turf/T = loc
- hide(T.intact)
- center = T
+/obj/machinery/magnetic_module/New()
+ ..()
+ var/turf/T = loc
+ hide(T.intact)
+ center = T
- spawn(10) // must wait for map loading to finish
- if(radio_controller)
- radio_controller.add_object(src, freq, RADIO_MAGNETS)
+ spawn(10) // must wait for map loading to finish
+ if(radio_controller)
+ radio_controller.add_object(src, freq, RADIO_MAGNETS)
- spawn()
- magnetic_process()
+ spawn()
+ magnetic_process()
// update the invisibility and icon
- hide(var/intact)
- invisibility = intact ? 101 : 0
- updateicon()
+/obj/machinery/magnetic_module/hide(intact)
+ invisibility = intact ? 101 : 0
+ updateicon()
// update the icon_state
- proc/updateicon()
- var/state="floor_magnet"
- var/onstate=""
- if(!on)
- onstate="0"
+/obj/machinery/magnetic_module/proc/updateicon()
+ var/state="floor_magnet"
+ var/onstate=""
+ if(!on)
+ onstate="0"
- if(invisibility)
- icon_state = "[state][onstate]-f" // if invisible, set icon to faded version
- // in case of being revealed by T-scanner
- else
- icon_state = "[state][onstate]"
+ if(invisibility)
+ icon_state = "[state][onstate]-f" // if invisible, set icon to faded version
+ // in case of being revealed by T-scanner
+ else
+ icon_state = "[state][onstate]"
- receive_signal(datum/signal/signal)
-
- var/command = signal.data["command"]
- var/modifier = signal.data["modifier"]
- var/signal_code = signal.data["code"]
- if(command && (signal_code == code))
-
- Cmd(command, modifier)
+/obj/machinery/magnetic_module/receive_signal(datum/signal/signal)
+ var/command = signal.data["command"]
+ var/modifier = signal.data["modifier"]
+ var/signal_code = signal.data["code"]
+ if(command && (signal_code == code))
+ Cmd(command, modifier)
- proc/Cmd(var/command, var/modifier)
+/obj/machinery/magnetic_module/proc/Cmd(var/command, var/modifier)
+ if(command)
+ switch(command)
+ if("set-electriclevel")
+ if(modifier) electricity_level = modifier
+ if("set-magneticfield")
+ if(modifier) magnetic_field = modifier
- if(command)
- switch(command)
- if("set-electriclevel")
- if(modifier) electricity_level = modifier
- if("set-magneticfield")
- if(modifier) magnetic_field = modifier
+ if("add-elec")
+ electricity_level++
+ if(electricity_level > 12)
+ electricity_level = 12
+ if("sub-elec")
+ electricity_level--
+ if(electricity_level <= 0)
+ electricity_level = 1
+ if("add-mag")
+ magnetic_field++
+ if(magnetic_field > 4)
+ magnetic_field = 4
+ if("sub-mag")
+ magnetic_field--
+ if(magnetic_field <= 0)
+ magnetic_field = 1
- if("add-elec")
- electricity_level++
- if(electricity_level > 12)
- electricity_level = 12
- if("sub-elec")
- electricity_level--
- if(electricity_level <= 0)
- electricity_level = 1
- if("add-mag")
- magnetic_field++
- if(magnetic_field > 4)
- magnetic_field = 4
- if("sub-mag")
- magnetic_field--
- if(magnetic_field <= 0)
- magnetic_field = 1
+ if("set-x")
+ if(modifier) center_x = modifier
+ if("set-y")
+ if(modifier) center_y = modifier
- if("set-x")
- if(modifier) center_x = modifier
- if("set-y")
- if(modifier) center_y = modifier
+ if("N") // NORTH
+ center_y++
+ if("S") // SOUTH
+ center_y--
+ if("E") // EAST
+ center_x++
+ if("W") // WEST
+ center_x--
+ if("C") // CENTER
+ center_x = 0
+ center_y = 0
+ if("R") // RANDOM
+ center_x = rand(-max_dist, max_dist)
+ center_y = rand(-max_dist, max_dist)
- if("N") // NORTH
- center_y++
- if("S") // SOUTH
- center_y--
- if("E") // EAST
- center_x++
- if("W") // WEST
- center_x--
- if("C") // CENTER
- center_x = 0
- center_y = 0
- if("R") // RANDOM
- center_x = rand(-max_dist, max_dist)
- center_y = rand(-max_dist, max_dist)
+ if("set-code")
+ if(modifier) code = modifier
+ if("toggle-power")
+ on = !on
- if("set-code")
- if(modifier) code = modifier
- if("toggle-power")
- on = !on
+ if(on)
+ spawn()
+ magnetic_process()
- if(on)
- spawn()
- magnetic_process()
+/obj/machinery/magnetic_module/process()
+ if(stat & NOPOWER)
+ on = 0
+
+ // Sanity checks:
+ if(electricity_level <= 0)
+ electricity_level = 1
+ if(magnetic_field <= 0)
+ magnetic_field = 1
+ // Limitations:
+ if(abs(center_x) > max_dist)
+ center_x = max_dist
+ if(abs(center_y) > max_dist)
+ center_y = max_dist
+ if(magnetic_field > 4)
+ magnetic_field = 4
+ if(electricity_level > 12)
+ electricity_level = 12
- process()
- if(stat & NOPOWER)
- on = 0
-
- // Sanity checks:
- if(electricity_level <= 0)
- electricity_level = 1
- if(magnetic_field <= 0)
- magnetic_field = 1
-
-
- // Limitations:
- if(abs(center_x) > max_dist)
- center_x = max_dist
- if(abs(center_y) > max_dist)
- center_y = max_dist
- if(magnetic_field > 4)
- magnetic_field = 4
- if(electricity_level > 12)
- electricity_level = 12
-
- // Update power usage:
- if(on)
- use_power = ACTIVE_POWER_USE
- active_power_usage = electricity_level*15
- else
- use_power = NO_POWER_USE
-
-
- // Overload conditions:
- /* // Eeeehhh kinda stupid
- if(on)
- if(electricity_level > 11)
- if(prob(electricity_level))
- explosion(loc, 0, 1, 2, 3) // ooo dat shit EXPLODES son
- spawn(2)
- qdel(src)
- */
-
+ // Update power usage:
+ if(on)
+ use_power = 2
+ active_power_usage = electricity_level*15
+ else
+ use_power = 0
updateicon()
- proc/magnetic_process() // proc that actually does the pulling
- if(pulling) return
- while(on)
+/obj/machinery/magnetic_module/proc/magnetic_process() // proc that actually does the pulling
+ if(pulling) return
+ while(on)
- pulling = 1
- center = locate(x+center_x, y+center_y, z)
- if(center)
- for(var/obj/M in orange(magnetic_field, center))
- if(!M.anchored && (M.flags & CONDUCT))
- step_towards(M, center)
-
- for(var/mob/living/silicon/S in orange(magnetic_field, center))
- if(istype(S, /mob/living/silicon/ai)) continue
- step_towards(S, center)
-
- use_power(electricity_level * 5)
- sleep(13 - electricity_level)
-
- pulling = 0
+ pulling = 1
+ center = locate(x+center_x, y+center_y, z)
+ if(center)
+ for(var/obj/M in orange(magnetic_field, center))
+ if(!M.anchored && (M.flags & CONDUCT))
+ step_towards(M, center)
+ for(var/mob/living/silicon/S in orange(magnetic_field, center))
+ if(istype(S, /mob/living/silicon/ai)) continue
+ step_towards(S, center)
+ use_power(electricity_level * 5)
+ sleep(13 - electricity_level)
+ pulling = 0
/obj/machinery/magnetic_controller
name = "Magnetic Control Console"
@@ -218,189 +198,189 @@
var/datum/radio_frequency/radio_connection
- New()
- ..()
+/obj/machinery/magnetic_controller/New()
+ ..()
- if(autolink)
- for(var/obj/machinery/magnetic_module/M in world)
- if(M.freq == frequency && M.code == code)
- magnets.Add(M)
+ if(autolink)
+ for(var/obj/machinery/magnetic_module/M in world)
+ if(M.freq == frequency && M.code == code)
+ magnets.Add(M)
- spawn(45) // must wait for map loading to finish
- if(radio_controller)
- radio_connection = radio_controller.add_object(src, frequency, RADIO_MAGNETS)
-
-
- if(path) // check for default path
- filter_path() // renders rpath
-
-
- Destroy()
+ spawn(45) // must wait for map loading to finish
if(radio_controller)
- radio_controller.remove_object(src, frequency)
- radio_connection = null
- return ..()
-
- process()
- if(magnets.len == 0 && autolink)
- for(var/obj/machinery/magnetic_module/M in world)
- if(M.freq == frequency && M.code == code)
- magnets.Add(M)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_MAGNETS)
- attack_ai(mob/user as mob)
- return src.attack_hand(user)
+ if(path) // check for default path
+ filter_path() // renders rpath
+
+
+/obj/machinery/magnetic_controller/Destroy()
+ if(radio_controller)
+ radio_controller.remove_object(src, frequency)
+ radio_connection = null
+ return ..()
+
+/obj/machinery/magnetic_controller/process()
+ if(magnets.len == 0 && autolink)
+ for(var/obj/machinery/magnetic_module/M in world)
+ if(M.freq == frequency && M.code == code)
+ magnets.Add(M)
+
+
+/obj/machinery/magnetic_controller/attack_ai(mob/user as mob)
+ return src.attack_hand(user)
+
+/obj/machinery/magnetic_controller/attack_hand(mob/user as mob)
+ if(stat & (BROKEN|NOPOWER))
+ return
+ user.set_machine(src)
+ var/dat = "Magnetic Control Console "
+ if(!autolink)
+ dat += {"
+ Frequency: [frequency]
+ Code: [code]
+ Probe Generators
+ "}
+
+ if(magnets.len >= 1)
+
+ dat += "Magnets confirmed: "
+ var/i = 0
+ for(var/obj/machinery/magnetic_module/M in magnets)
+ i++
+ dat += " < \[[i]\] ([M.on ? "On":"Off"] ) | Electricity level: - [M.electricity_level] + ; Magnetic field: - [M.magnetic_field] + "
+
+ dat += " Speed: - [speed] + "
+ dat += "Path: {[path] } "
+ dat += "Moving: [moving ? "Enabled":"Disabled"] "
+
+
+ user << browse(dat, "window=magnet;size=400x500")
+ onclose(user, "magnet")
+
+/obj/machinery/magnetic_controller/Topic(href, href_list)
+ if(stat & (BROKEN|NOPOWER))
+ return
+ usr.set_machine(src)
+ src.add_fingerprint(usr)
+
+ if(href_list["radio-op"])
+
+ // Prepare signal beforehand, because this is a radio operation
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 // radio transmission
+ signal.source = src
+ signal.frequency = frequency
+ signal.data["code"] = code
+
+ // Apply any necessary commands
+ switch(href_list["radio-op"])
+ if("togglepower")
+ signal.data["command"] = "toggle-power"
+
+ if("minuselec")
+ signal.data["command"] = "sub-elec"
+ if("pluselec")
+ signal.data["command"] = "add-elec"
+
+ if("minusmag")
+ signal.data["command"] = "sub-mag"
+ if("plusmag")
+ signal.data["command"] = "add-mag"
+
+
+ // Broadcast the signal
+
+ radio_connection.post_signal(src, signal, filter = RADIO_MAGNETS)
+
+ spawn(1)
+ updateUsrDialog() // pretty sure this increases responsiveness
+
+ if(href_list["operation"])
+ switch(href_list["operation"])
+ if("plusspeed")
+ speed++
+ if(speed > 10)
+ speed = 10
+ if("minusspeed")
+ speed --
+ if(speed <= 0)
+ speed = 1
+ if("setpath")
+ var/newpath = sanitize(copytext(input(usr, "Please define a new path!",,path) as text|null,1,MAX_MESSAGE_LEN))
+ if(newpath && newpath != "")
+ moving = 0 // stop moving
+ path = newpath
+ pathpos = 1 // reset position
+ filter_path() // renders rpath
+
+ if("togglemoving")
+ moving = !moving
+ if(moving)
+ spawn() MagnetMove()
+
+
+ updateUsrDialog()
+
+/obj/machinery/magnetic_controller/proc/MagnetMove()
+ if(looping) return
+
+ while(moving && rpath.len >= 1)
- attack_hand(mob/user as mob)
if(stat & (BROKEN|NOPOWER))
- return
- user.set_machine(src)
- var/dat = "Magnetic Control Console "
- if(!autolink)
- dat += {"
- Frequency: [frequency]
- Code: [code]
- Probe Generators
- "}
+ break
- if(magnets.len >= 1)
+ looping = 1
- dat += "Magnets confirmed: "
- var/i = 0
- for(var/obj/machinery/magnetic_module/M in magnets)
- i++
- dat += " < \[[i]\] ([M.on ? "On":"Off"] ) | Electricity level: - [M.electricity_level] + ; Magnetic field: - [M.magnetic_field] + "
+ // Prepare the radio signal
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 // radio transmission
+ signal.source = src
+ signal.frequency = frequency
+ signal.data["code"] = code
- dat += " Speed: - [speed] + "
- dat += "Path: {[path] } "
- dat += "Moving: [moving ? "Enabled":"Disabled"] "
+ if(pathpos > rpath.len) // if the position is greater than the length, we just loop through the list!
+ pathpos = 1
+
+ var/nextmove = uppertext(rpath[pathpos]) // makes it un-case-sensitive
+
+ if(!(nextmove in list("N","S","E","W","C","R")))
+ // N, S, E, W are directional
+ // C is center
+ // R is random (in magnetic field's bounds)
+ qdel(signal)
+ break // break the loop if the character located is invalid
+
+ signal.data["command"] = nextmove
- user << browse(dat, "window=magnet;size=400x500")
- onclose(user, "magnet")
-
- Topic(href, href_list)
- if(stat & (BROKEN|NOPOWER))
- return
- usr.set_machine(src)
- src.add_fingerprint(usr)
-
- if(href_list["radio-op"])
-
- // Prepare signal beforehand, because this is a radio operation
- var/datum/signal/signal = new
- signal.transmission_method = 1 // radio transmission
- signal.source = src
- signal.frequency = frequency
- signal.data["code"] = code
-
- // Apply any necessary commands
- switch(href_list["radio-op"])
- if("togglepower")
- signal.data["command"] = "toggle-power"
-
- if("minuselec")
- signal.data["command"] = "sub-elec"
- if("pluselec")
- signal.data["command"] = "add-elec"
-
- if("minusmag")
- signal.data["command"] = "sub-mag"
- if("plusmag")
- signal.data["command"] = "add-mag"
-
-
- // Broadcast the signal
+ pathpos++ // increase iterator
+ // Broadcast the signal
+ spawn()
radio_connection.post_signal(src, signal, filter = RADIO_MAGNETS)
- spawn(1)
- updateUsrDialog() // pretty sure this increases responsiveness
+ if(speed == 10)
+ sleep(1)
+ else
+ sleep(12-speed)
- if(href_list["operation"])
- switch(href_list["operation"])
- if("plusspeed")
- speed++
- if(speed > 10)
- speed = 10
- if("minusspeed")
- speed --
- if(speed <= 0)
- speed = 1
- if("setpath")
- var/newpath = sanitize(copytext(input(usr, "Please define a new path!",,path) as text|null,1,MAX_MESSAGE_LEN))
- if(newpath && newpath != "")
- moving = 0 // stop moving
- path = newpath
- pathpos = 1 // reset position
- filter_path() // renders rpath
-
- if("togglemoving")
- moving = !moving
- if(moving)
- spawn() MagnetMove()
+ looping = 0
- updateUsrDialog()
+/obj/machinery/magnetic_controller/proc/filter_path()
+ // Generates the rpath variable using the path string, think of this as "string2list"
+ // Doesn't use params2list() because of the akward way it stacks entities
+ rpath = list() // clear rpath
+ var/maximum_character = min( 50, length(path) ) // chooses the maximum length of the iterator. 50 max length
- proc/MagnetMove()
- if(looping) return
+ for(var/i=1, i<=maximum_character, i++) // iterates through all characters in path
- while(moving && rpath.len >= 1)
+ var/nextchar = copytext(path, i, i+1) // find next character
- if(stat & (BROKEN|NOPOWER))
- break
+ if(!(nextchar in list(";", "&", "*", " "))) // if char is a separator, ignore
+ rpath += copytext(path, i, i+1) // else, add to list
- looping = 1
-
- // Prepare the radio signal
- var/datum/signal/signal = new
- signal.transmission_method = 1 // radio transmission
- signal.source = src
- signal.frequency = frequency
- signal.data["code"] = code
-
- if(pathpos > rpath.len) // if the position is greater than the length, we just loop through the list!
- pathpos = 1
-
- var/nextmove = uppertext(rpath[pathpos]) // makes it un-case-sensitive
-
- if(!(nextmove in list("N","S","E","W","C","R")))
- // N, S, E, W are directional
- // C is center
- // R is random (in magnetic field's bounds)
- qdel(signal)
- break // break the loop if the character located is invalid
-
- signal.data["command"] = nextmove
-
-
- pathpos++ // increase iterator
-
- // Broadcast the signal
- spawn()
- radio_connection.post_signal(src, signal, filter = RADIO_MAGNETS)
-
- if(speed == 10)
- sleep(1)
- else
- sleep(12-speed)
-
- looping = 0
-
-
- proc/filter_path()
- // Generates the rpath variable using the path string, think of this as "string2list"
- // Doesn't use params2list() because of the akward way it stacks entities
- rpath = list() // clear rpath
- var/maximum_character = min( 50, length(path) ) // chooses the maximum length of the iterator. 50 max length
-
- for(var/i=1, i<=maximum_character, i++) // iterates through all characters in path
-
- var/nextchar = copytext(path, i, i+1) // find next character
-
- if(!(nextchar in list(";", "&", "*", " "))) // if char is a separator, ignore
- rpath += copytext(path, i, i+1) // else, add to list
-
- // there doesn't HAVE to be separators but it makes paths syntatically visible
+ // there doesn't HAVE to be separators but it makes paths syntatically visible
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 378ebce8eb7..f278ee2adda 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -29,16 +29,16 @@
if(!codes || !codes.len)
log_runtime(EXCEPTION("Empty codes datum at ([x],[y],[z])"), src, list("codes_txt: '[codes_txt]'"))
if("patrol" in codes)
- if(!navbeacons["[z]"])
- navbeacons["[z]"] = list()
- navbeacons["[z]"] += src //Register with the patrol list!
+ if(!GLOB.navbeacons["[z]"])
+ GLOB.navbeacons["[z]"] = list()
+ GLOB.navbeacons["[z]"] += src //Register with the patrol list!
if("delivery" in codes)
- deliverybeacons += src
- deliverybeacontags += location
+ GLOB.deliverybeacons += src
+ GLOB.deliverybeacontags += location
/obj/machinery/navbeacon/Destroy()
- navbeacons["[z]"] -= src //Remove from beacon list, if in one.
- deliverybeacons -= src
+ GLOB.navbeacons["[z]"] -= src //Remove from beacon list, if in one.
+ GLOB.deliverybeacons -= src
return ..()
/obj/machinery/navbeacon/serialize()
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 491cb93018e..a712e033afd 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -241,8 +241,12 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
data["censored"] = viewing_channel.censored
var/list/messages = list()
data["messages"] = messages
+ var/message_number = 0
for(var/datum/feed_message/M in viewing_channel.messages)
- messages[++messages.len] = list("title" = M.title, "body" = M.body, "img" = M.img ? icon2base64(M.img) : null, "message_type" = M.message_type, "author" = M.author, "view_count" = M.view_count)
+ if(M.img)
+ user << browse_rsc(M.img, "tmp_photo[message_number].png")
+ messages[++messages.len] = list("title" = M.title, "body" = M.body, "img" = M.img ? M.img : null, "message_type" = M.message_type, "author" = M.author, "view_count" = M.view_count, "message_number" = message_number)
+ message_number += 1
if(8, 9)
data["channel_name"] = viewing_channel.channel_name
data["ref"] = "\ref[viewing_channel]"
@@ -273,7 +277,9 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
data["author"] = news_network.wanted_issue.backup_author
data["criminal"] = news_network.wanted_issue.author
data["description"] = news_network.wanted_issue.body
- data["photo"] = news_network.wanted_issue.img ? icon2base64(news_network.wanted_issue.img) : 0
+ if(news_network.wanted_issue.img)
+ user << browse_rsc(news_network.wanted_issue.img, "tmp_photow.png")
+ data["photo"] = news_network.wanted_issue.img ? news_network.wanted_issue.img : 0
if(12)
var/list/jobs = list()
data["jobs"] = jobs
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index e84d0778ef3..955d82309b1 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -256,7 +256,7 @@
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_PASV_VENT, PIPE_SCRUBBER, PIPE_HEAT_EXCHANGE, PIPE_INJECTOR)
- return dir
+ return dir|flip
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)
@@ -267,7 +267,7 @@
else
return flip|cw|acw
if(PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP)
- return dir
+ return dir|flip
return 0
/obj/item/pipe/proc/get_pdir() //endpoints for regular pipes
diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm
index 672402ac351..e5a43c523f5 100644
--- a/code/game/machinery/quantum_pad.dm
+++ b/code/game/machinery/quantum_pad.dm
@@ -18,7 +18,7 @@
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/quantumpad(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
+ component_parts += new /obj/item/stack/ore/bluespace_crystal/artificial(null)
component_parts += new /obj/item/stock_parts/capacitor(null)
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
@@ -94,9 +94,7 @@
doteleport(user)
/obj/machinery/quantumpad/proc/sparks()
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, get_turf(src))
- s.start()
+ do_sparks(5, 1, get_turf(src))
/obj/machinery/quantumpad/attack_ghost(mob/dead/observer/ghost)
if(linked_pad)
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index f0e23d6c7d4..1532eeaccbd 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -220,6 +220,14 @@
var/i = 1
for(1, i <= coeff, i++)
LR.Charge(occupant)
+ //Fire extinguisher
+ if(istype(O, /obj/item/extinguisher))
+ var/obj/item/extinguisher/ext = O
+ ext.reagents.check_and_add("water", ext.max_water, 5 * coeff)
+ //Welding tools
+ if(istype(O, /obj/item/weldingtool))
+ var/obj/item/weldingtool/weld = O
+ weld.reagents.check_and_add("fuel", weld.max_fuel, 2 * coeff)
if(R)
if(R.module)
R.module.respawn_consumable(R)
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 3aae4af4405..e3c51f9c375 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -150,7 +150,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
data["assist_dept"] = req_console_assistance
data["supply_dept"] = req_console_supplies
data["info_dept"] = req_console_information
- data["ship_dept"] = TAGGERLOCATIONS
+ data["ship_dept"] = GLOB.TAGGERLOCATIONS
data["message"] = message
data["recipient"] = recipient
@@ -243,7 +243,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(href_list["shipSelect"])
ship_tag_name = href_list["shipSelect"]
- ship_tag_index = TAGGERLOCATIONS.Find(ship_tag_name)
+ ship_tag_index = GLOB.TAGGERLOCATIONS.Find(ship_tag_name)
//Handle Shipping Label Printing
if(href_list["printLabel"])
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 370cef73559..3cabbac3e75 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -1,128 +1,353 @@
-//////////////////////////////////////
// SUIT STORAGE UNIT /////////////////
-//////////////////////////////////////
-
-
/obj/machinery/suit_storage_unit
- name = "Suit Storage Unit"
+ name = "suit storage unit"
desc = "An industrial U-Stor-It Storage unit designed to accomodate all kinds of space suits. Its on-board equipment also allows the user to decontaminate the contents through a UV-ray purging cycle. There's a warning label dangling from the control pad, reading \"STRICTLY NO BIOLOGICALS IN THE CONFINES OF THE UNIT\"."
- icon = 'icons/obj/suitstorage.dmi'
- icon_state = "suitstorage000000100" //order is: [has helmet][has suit][has human][is open][is locked][is UV cycling][is powered][is dirty/broken] [is superUVcycling]
- anchored = 1
- density = 1
- var/mob/living/carbon/human/OCCUPANT = null
- var/obj/item/clothing/suit/space/SUIT = null
- var/SUIT_TYPE = null
- var/obj/item/clothing/head/helmet/space/HELMET = null
- var/HELMET_TYPE = null
- var/obj/item/clothing/mask/MASK = null //All the stuff that's gonna be stored insiiiiiiiiiiiiiiiiiiide, nyoro~n
- var/MASK_TYPE = null //Erro's idea on standarising SSUs whle keeping creation of other SSU types easy: Make a child SSU, name it something then set the TYPE vars to your desired suit output. New() should take it from there by itself.
- var/isopen = 0
- var/islocked = 0
- var/isUV = 0
- var/ispowered = 1 //starts powered
- var/isbroken = 0
- var/issuperUV = 0
- var/panelopen = 0
- var/safetieson = 1
- var/cycletime_left = 0
+ icon = 'icons/obj/machines/suit_storage.dmi'
+ icon_state = "close"
+ anchored = TRUE
+ density = TRUE
+ max_integrity = 250
+ var/obj/item/clothing/suit/space/suit = null
+ var/obj/item/clothing/head/helmet/space/helmet = null
+ var/obj/item/clothing/mask/mask = null
+ var/obj/item/storage = null
+
+ var/helmet_type = null
+ var/suit_type = null
+ var/mask_type = null
+ var/storage_type = null
+
+ var/locked = FALSE
+ var/safeties = TRUE
+ var/broken = FALSE
+
+ var/uv = FALSE
+ var/uv_super = FALSE
+ var/uv_cycles = 6
+ var/message_cooldown
+ var/breakout_time = 300
+
+ //abstract these onto machinery eventually
+ var/state_open = FALSE
+ var/list/occupant_typecache //if set, turned into typecache in Initialize, other wise, defaults to mob/living typecache
+ var/atom/movable/occupant = null
-//The units themselves/////////////////
/obj/machinery/suit_storage_unit/standard_unit
- SUIT_TYPE = /obj/item/clothing/suit/space/eva
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/eva
- MASK_TYPE = /obj/item/clothing/mask/breath
+ suit_type = /obj/item/clothing/suit/space/eva
+ helmet_type = /obj/item/clothing/head/helmet/space/eva
+ mask_type = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/captain
- SUIT_TYPE = /obj/item/clothing/suit/space/captain
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/capspace
- MASK_TYPE = /obj/item/clothing/mask/gas
+ suit_type = /obj/item/clothing/suit/space/captain
+ helmet_type = /obj/item/clothing/head/helmet/space/capspace
+ mask_type = /obj/item/clothing/mask/gas
+ storage_type = /obj/item/tank/jetpack/oxygen/captain
/obj/machinery/suit_storage_unit/engine
- SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/engineering
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/engineering
- MASK_TYPE = /obj/item/clothing/mask/breath
+ suit_type = /obj/item/clothing/suit/space/hardsuit/engineering
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/engineering
+ mask_type = /obj/item/clothing/mask/breath
+ storage_type = /obj/item/clothing/shoes/magboots
/obj/machinery/suit_storage_unit/ce
- SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/elite
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/elite
- MASK_TYPE = /obj/item/clothing/mask/breath
+ suit_type = /obj/item/clothing/suit/space/hardsuit/elite
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/elite
+ mask_type = /obj/item/clothing/mask/gas
+ storage_type = /obj/item/clothing/shoes/magboots/advance
/obj/machinery/suit_storage_unit/security
- SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/security
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/security
- MASK_TYPE = /obj/item/clothing/mask/gas/sechailer
+ suit_type = /obj/item/clothing/suit/space/hardsuit/security
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/security
+ mask_type = /obj/item/clothing/mask/gas/sechailer
/obj/machinery/suit_storage_unit/atmos
- SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/atmos
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/atmos
- MASK_TYPE = /obj/item/clothing/mask/gas
+ suit_type = /obj/item/clothing/suit/space/hardsuit/atmos
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/atmos
+ mask_type = /obj/item/clothing/mask/gas
+ storage_type = /obj/item/clothing/shoes/magboots
/obj/machinery/suit_storage_unit/mining
- SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/mining
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/mining
- MASK_TYPE = /obj/item/clothing/mask/breath
+ suit_type = /obj/item/clothing/suit/space/hardsuit/mining
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/mining
+ mask_type = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/cmo
- SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/medical
- HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/medical
- MASK_TYPE = /obj/item/clothing/mask/breath
+ suit_type = /obj/item/clothing/suit/space/hardsuit/medical
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/medical
+ mask_type = /obj/item/clothing/mask/breath
-/obj/machinery/suit_storage_unit/New()
- src.update_icon()
- if(SUIT_TYPE)
- SUIT = new SUIT_TYPE(src)
- if(HELMET_TYPE)
- HELMET = new HELMET_TYPE(src)
- if(MASK_TYPE)
- MASK = new MASK_TYPE(src)
+/obj/machinery/suit_storage_unit/syndicate
+ suit_type = /obj/item/clothing/suit/space/hardsuit/syndi
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/syndi
+ mask_type = /obj/item/clothing/mask/gas/syndicate
+ storage_type = /obj/item/tank/jetpack/oxygen/harness
+
+/obj/machinery/suit_storage_unit/ert/command
+ suit_type = /obj/item/clothing/suit/space/hardsuit/ert/commander
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/ert/commander
+ mask_type = /obj/item/clothing/mask/breath
+ storage_type = /obj/item/tank/emergency_oxygen/double
+
+/obj/machinery/suit_storage_unit/ert/security
+ suit_type = /obj/item/clothing/suit/space/hardsuit/ert/security
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/ert/security
+ mask_type = /obj/item/clothing/mask/breath
+ storage_type = /obj/item/tank/emergency_oxygen/double
+
+/obj/machinery/suit_storage_unit/ert/engineer
+ suit_type = /obj/item/clothing/suit/space/hardsuit/ert/engineer
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer
+ mask_type = /obj/item/clothing/mask/breath
+ storage_type = /obj/item/tank/emergency_oxygen/double
+
+/obj/machinery/suit_storage_unit/ert/medical
+ suit_type = /obj/item/clothing/suit/space/hardsuit/ert/medical
+ helmet_type = /obj/item/clothing/head/helmet/space/hardsuit/ert/medical
+ mask_type = /obj/item/clothing/mask/breath
+ storage_type = /obj/item/tank/emergency_oxygen/double
+
+
+
+/obj/machinery/suit_storage_unit/Initialize()
+ . = ..()
+ if(suit_type)
+ suit = new suit_type(src)
+ if(helmet_type)
+ helmet = new helmet_type(src)
+ if(mask_type)
+ mask = new mask_type(src)
+ if(storage_type)
+ storage = new storage_type(src)
+ update_icon()
+
+ //move this into machinery eventually...
+ if(occupant_typecache)
+ occupant_typecache = typecacheof(occupant_typecache)
+
+/obj/machinery/suit_storage_unit/Destroy()
+ QDEL_NULL(suit)
+ QDEL_NULL(helmet)
+ QDEL_NULL(mask)
+ QDEL_NULL(storage)
+ return ..()
/obj/machinery/suit_storage_unit/update_icon()
- var/hashelmet = 0
- var/hassuit = 0
- var/hashuman = 0
- if(HELMET)
- hashelmet = 1
- if(SUIT)
- hassuit = 1
- if(OCCUPANT)
- hashuman = 1
- icon_state = text("suitstorage[][][][][][][][][]",hashelmet,hassuit,hashuman,src.isopen,src.islocked,src.isUV,src.ispowered,src.isbroken,src.issuperUV)
+ cut_overlays()
+ if(uv)
+ if(uv_super)
+ add_overlay("super")
+ else if(occupant)
+ add_overlay("uvhuman")
+ else
+ add_overlay("uv")
+ else if(state_open)
+ if(stat & BROKEN)
+ add_overlay("broken")
+ else
+ add_overlay("open")
+ if(suit)
+ add_overlay("suit")
+ if(helmet)
+ add_overlay("helm")
+ if(storage)
+ add_overlay("storage")
+ else if(occupant)
+ add_overlay("human")
+
+/obj/machinery/suit_storage_unit/attackby(obj/item/I as obj, mob/user as mob, params)
+ if(!is_operational())
+ return
+ if(isscrewdriver(I))
+ panel_open = !panel_open
+ playsound(loc, I.usesound, 100, 1)
+ to_chat(user, text("You [panel_open ? "open up" : "close"] the unit's maintenance panel. "))
+ updateUsrDialog()
/obj/machinery/suit_storage_unit/power_change()
- if( powered() )
- src.ispowered = 1
- stat &= ~NOPOWER
- src.update_icon()
+ ..()
+ if(!is_operational() && state_open)
+ open_machine()
+ dump_contents()
+ update_icon()
+
+
+/obj/machinery/suit_storage_unit/proc/dump_contents()
+ dropContents()
+ helmet = null
+ suit = null
+ mask = null
+ storage = null
+ occupant = null
+
+/obj/machinery/suit_storage_unit/deconstruct(disassembled = TRUE)
+ open_machine()
+ dump_contents()
+ new /obj/item/stack/sheet/metal (loc, 2)
+ qdel(src)
+
+/obj/machinery/suit_storage_unit/MouseDrop_T(atom/A, mob/user)
+ if(user.stat || user.lying || !Adjacent(user) || !Adjacent(A) || !isliving(A))
+ return
+ var/mob/living/target = A
+ if(!state_open)
+ to_chat(user, "The [src]'s doors are shut! ")
+ return
+ if(!is_operational())
+ to_chat(user, "The [src] is not operational! ")
+ return
+ if(occupant || helmet || suit || storage)
+ to_chat(user, "It's too cluttered inside to fit in! ")
+ return
+
+ if(target == user)
+ user.visible_message("[user] starts squeezing into [src]! ", "You start working your way into [src]... ")
else
- spawn(rand(0, 15))
- src.ispowered = 0
- stat |= NOPOWER
- src.islocked = 0
- src.isopen = 1
- src.dump_everything()
- src.update_icon()
+ target.visible_message("[user] starts shoving [target] into [src]! ", "[user] starts shoving you into [src]! ")
-
-/obj/machinery/suit_storage_unit/ex_act(severity)
- switch(severity)
- if(1.0)
- if(prob(50))
- src.dump_everything() //So suits dont survive all the time
- qdel(src)
- return
- if(2.0)
- if(prob(50))
- src.dump_everything()
- qdel(src)
+ if(do_mob(user, target, 30))
+ if(occupant || helmet || suit || storage)
return
+ if(target == user)
+ user.visible_message("[user] slips into [src] and closes the door behind [user.p_them()]! ", "You slip into [src]'s cramped space and shut its door. ")
else
- return
- return
+ target.visible_message("[user] pushes [target] into [src] and shuts its door!", "[user] shoves you into [src] and shuts the door! ")
+ close_machine(target)
+ add_fingerprint(user)
+/obj/machinery/suit_storage_unit/proc/cook()
+ if(uv_cycles)
+ uv_cycles--
+ uv = TRUE
+ locked = TRUE
+ update_icon()
+ if(occupant)
+ var/mob/living/mob_occupant = occupant
+ if(uv_super)
+ mob_occupant.adjustFireLoss(rand(20, 36))
+ else
+ mob_occupant.adjustFireLoss(rand(10, 16))
+ mob_occupant.emote("scream")
+ addtimer(CALLBACK(src, .proc/cook), 50)
+ else
+ uv_cycles = initial(uv_cycles)
+ uv = FALSE
+ locked = FALSE
+ if(uv_super)
+ visible_message("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber. ")
+ playsound(src, 'sound/machines/airlock_alien_prying.ogg', 50, 1)
+ helmet = null
+ qdel(helmet)
+ suit = null
+ qdel(suit) // Delete everything but the occupant.
+ mask = null
+ qdel(mask)
+ storage = null
+ qdel(storage)
+ else
+ if(!occupant)
+ visible_message("[src]'s door slides open. The glowing yellow lights dim to a gentle green. ")
+ else
+ visible_message("[src]'s door slides open, barraging you with the nauseating smell of charred flesh. ")
+ playsound(src, 'sound/machines/airlock_close.ogg', 25, 1)
+ open_machine(FALSE)
+ if(occupant)
+ dump_contents()
+
+/obj/machinery/suit_storage_unit/shock(mob/user, prb)
+ if(!prob(prb))
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
+ s.set_up(5, 1, src)
+ s.start()
+ if(electrocute_mob(user, src, src, 1, TRUE))
+ return 1
+
+/obj/machinery/suit_storage_unit/relaymove(mob/user)
+ if(locked)
+ if(message_cooldown <= world.time)
+ message_cooldown = world.time + 50
+ to_chat(user, "[src]'s door won't budge! ")
+ return
+ open_machine()
+ dump_contents()
+
+/obj/machinery/suit_storage_unit/container_resist(mob/living/user)
+ if(!locked)
+ open_machine()
+ dump_contents()
+ return
+ user.changeNext_move(CLICK_CD_BREAKOUT)
+ user.last_special = world.time + CLICK_CD_BREAKOUT
+ user.visible_message("You see [user] kicking against the doors of [src]! ", \
+ "You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].) ", \
+ "You hear a thump from [src]. ")
+ if(do_after(user,(breakout_time), target = src))
+ if(!user || user.stat != CONSCIOUS || user.loc != src )
+ return
+ user.visible_message("[user] successfully broke out of [src]! ", \
+ "You successfully break out of [src]! ")
+ open_machine()
+ dump_contents()
+
+ add_fingerprint(user)
+ if(locked)
+ visible_message("You see [user] kicking against the doors of [src]! ", \
+ "You start kicking against the doors... ")
+ addtimer(CALLBACK(src, .proc/resist_open, user), 300)
+ else
+ open_machine()
+ dump_contents()
+
+/obj/machinery/suit_storage_unit/proc/resist_open(mob/user)
+ if(!state_open && occupant && (user in src) && !user.stat) // Check they're still here.
+ visible_message("You see [user] burst out of [src]! ", \
+ "You escape the cramped confines of [src]! ")
+ open_machine()
+
+//eventually move these onto the parent....
+
+/obj/machinery/suit_storage_unit/proc/open_machine(drop = TRUE)
+ state_open = TRUE
+ if(drop)
+ dropContents()
+ update_icon()
+ updateUsrDialog()
+
+/obj/machinery/suit_storage_unit/dropContents()
+ var/turf/T = get_turf(src)
+ for(var/atom/movable/A in contents)
+ A.forceMove(T)
+ if(isliving(A))
+ var/mob/living/L = A
+ L.update_canmove()
+ occupant = null
+
+/obj/machinery/suit_storage_unit/proc/close_machine(atom/movable/target = null)
+ state_open = FALSE
+ if(!target)
+ for(var/am in loc)
+ if(!(occupant_typecache ? is_type_in_typecache(am, occupant_typecache) : isliving(am)))
+ continue
+ var/atom/movable/AM = am
+ if(AM.has_buckled_mobs())
+ continue
+ if(isliving(AM))
+ var/mob/living/L = am
+ if(L.buckled || L.mob_size >= MOB_SIZE_LARGE)
+ continue
+ target = am
+
+ var/mob/living/mobtarget = target
+ if(target && !target.has_buckled_mobs() && (!isliving(target) || !mobtarget.buckled))
+ occupant = target
+ target.forceMove(src)
+ updateUsrDialog()
+ update_icon()
+
+
+////////
/obj/machinery/suit_storage_unit/attack_hand(mob/user as mob)
var/dat
@@ -131,54 +356,49 @@
if(stat & NOPOWER)
return
if(!user.IsAdvancedToolUser())
- return 0
- if(src.panelopen) //The maintenance panel is open. Time for some shady stuff
+ return FALSE
+ if(panel_open) //The maintenance panel is open. Time for some shady stuff
dat+= "Suit storage unit: Maintenance panel "
dat+= "Maintenance panel controls "
dat+= "The panel is ridden with controls, button and meters, labeled in strange signs and symbols that you cannot understand. Probably the manufactoring world's language. Among other things, a few controls catch your eye. "
- dat+= text("A small dial with a \"�\" symbol embroidded on it. It's pointing towards a gauge that reads []. Turn towards [] ",(src.issuperUV ? "15nm" : "185nm"),(src.issuperUV ? "185nm" : "15nm") )
- dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.Press button ",(src.safetieson? "GREEN " : "RED "))
+ dat+= text("A small dial with an arrow embroidered on it. It's pointing towards a gauge that reads []. Turn towards [] ",(uv_super ? "15nm" : "185nm"),(uv_super ? "185nm" : "15nm") )
+ dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.Press button ",(safeties ? "GREEN " : "RED "))
dat+= "Close panel "
- //user << browse(dat, "window=ssu_m_panel;size=400x500")
- //onclose(user, "ssu_m_panel")
- else if(src.isUV) //The thing is running its cauterisation cycle. You have to wait.
+ else if(uv) //The thing is running its cauterisation cycle. You have to wait.
dat += "Suit storage unit "
dat+= "Unit is cauterising contents with selected UV ray intensity. Please wait. "
- //dat+= "Cycle end in: [src.cycletimeleft()] seconds. "
- //user << browse(dat, "window=ssu_cycling_panel;size=400x500")
- //onclose(user, "ssu_cycling_panel")
else
- if(!src.isbroken)
+ if(!broken)
dat+= "Welcome to the Unit control panel. "
- dat+= text("Helmet storage compartment: [] ",(src.HELMET ? HELMET.name : "No helmet detected.") )
- if(HELMET && src.isopen)
+ dat+= text("Helmet storage compartment: [] ",(helmet ? helmet.name : " No helmet detected.") )
+ if(helmet && state_open)
dat+="Dispense helmet "
- dat+= text("Suit storage compartment: [] ",(src.SUIT ? SUIT.name : " No exosuit detected.") )
- if(SUIT && src.isopen)
+ dat+= text("Suit storage compartment: [] ",(suit ? suit.name : " No exosuit detected.") )
+ if(suit && state_open)
dat+="Dispense suit "
- dat+= text("Breathmask storage compartment: [] ",(src.MASK ? MASK.name : " No breathmask detected.") )
- if(MASK && src.isopen)
+ dat+= text("Breathmask storage compartment: [] ",(mask ? mask.name : " No breathmask detected.") )
+ if(mask && state_open)
dat+="Dispense mask "
- if(src.OCCUPANT)
+ dat+= text("Breathmask storage compartment: [] ",(storage ? storage.name : " No storage item detected.") )
+ if(storage && state_open)
+ dat+="Dispense storage item "
+ if(occupant)
dat+= "WARNING: Biological entity detected inside the Unit's storage. Please remove. "
dat+= "Eject extra load "
- dat+= text(" Unit is: [] - [] Unit ",(src.isopen ? "Open" : "Closed"),(src.isopen ? "Close" : "Open"))
- if(src.isopen)
+ dat+= text(" Unit is: [] - [] Unit ",(state_open ? "Open" : "Closed"),(state_open ? "Close" : "Open"))
+ if(state_open)
dat+=" "
else
- dat+= text(" - *[] Unit* ",(src.islocked ? "Unlock" : "Lock") )
- dat+= text("Unit status: []",(src.islocked? "**LOCKED** " : "**UNLOCKED** ") )
- dat+= "Start Disinfection cycle "
+ dat+= text(" - *[] Unit* ",(locked ? "Unlock" : "Lock") )
+ dat+= text("Unit status: []",(locked? "**LOCKED** " : "**UNLOCKED** ") )
+ dat+= "Start Disinfection cycle "
dat += "Close control panel "
- //user << browse(dat, "window=Suit Storage Unit;size=400x500")
- //onclose(user, "Suit Storage Unit")
else //Ohhhh shit it's dirty or broken! Let's inform the guy.
dat+= "Suit storage unit "
dat+= "Unit chamber is too contaminated to continue usage. Please call for a qualified individual to perform maintenance. "
dat+= "Close control panel "
- //user << browse(dat, "window=suit_storage_unit;size=400x500")
- //onclose(user, "suit_storage_unit")
+
var/datum/browser/popup = new(user, "suit_storage_unit", name, 400, 500)
popup.set_content(dat)
@@ -187,263 +407,134 @@
return
-/obj/machinery/suit_storage_unit/Topic(href, href_list) //I fucking HATE this proc
+/obj/machinery/suit_storage_unit/Topic(href, href_list)
if(..())
return 1
if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
usr.set_machine(src)
if(href_list["toggleUV"])
- src.toggleUV(usr)
- src.updateUsrDialog()
- src.update_icon()
+ toggleUV(usr)
+ updateUsrDialog()
+ update_icon()
if(href_list["togglesafeties"])
- src.togglesafeties(usr)
- src.updateUsrDialog()
- src.update_icon()
+ togglesafeties(usr)
+ updateUsrDialog()
+ update_icon()
if(href_list["dispense_helmet"])
- src.dispense_helmet(usr)
- src.updateUsrDialog()
- src.update_icon()
+ dispense_helmet(usr)
+ updateUsrDialog()
+ update_icon()
if(href_list["dispense_suit"])
- src.dispense_suit(usr)
- src.updateUsrDialog()
- src.update_icon()
+ dispense_suit(usr)
+ updateUsrDialog()
+ update_icon()
if(href_list["dispense_mask"])
- src.dispense_mask(usr)
- src.updateUsrDialog()
- src.update_icon()
+ dispense_mask(usr)
+ updateUsrDialog()
+ update_icon()
+ if(href_list["dispense_storage"])
+ dispense_storage(usr)
+ updateUsrDialog()
+ update_icon()
if(href_list["toggle_open"])
- src.toggle_open(usr)
- src.updateUsrDialog()
- src.update_icon()
+ toggle_open(usr)
+ updateUsrDialog()
+ update_icon()
if(href_list["toggle_lock"])
- src.toggle_lock(usr)
- src.updateUsrDialog()
- src.update_icon()
- if(href_list["start_UV"])
- src.start_UV(usr)
- src.updateUsrDialog()
- src.update_icon()
+ toggle_lock(usr)
+ updateUsrDialog()
+ update_icon()
+ if(href_list["cook"])
+ cook(usr)
+ updateUsrDialog()
+ update_icon()
if(href_list["eject_guy"])
- src.eject_occupant(usr)
- src.updateUsrDialog()
- src.update_icon()
- /*if(href_list["refresh"])
- src.updateUsrDialog()*/
- src.add_fingerprint(usr)
+ eject_occupant(usr)
+ updateUsrDialog()
+ update_icon()
+ add_fingerprint(usr)
return
/obj/machinery/suit_storage_unit/proc/toggleUV(mob/user as mob)
-// var/protected = 0
-// var/mob/living/carbon/human/H = user
- if(!src.panelopen)
+
+ if(!panel_open)
return
-
- /*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
- if(H.gloves)
- var/obj/item/clothing/gloves/G = H.gloves
- if(istype(G,/obj/item/clothing/gloves/color/yellow))
- protected = 1
-
- if(!protected)
- playsound(src.loc, "sparks", 75, 1, -1)
- to_chat(user, "You try to touch the controls but you get zapped. There must be a short circuit somewhere. ")
- return*/
- else //welp, the guy is protected, we can continue
- if(src.issuperUV)
- to_chat(user, "You slide the dial back towards \"185nm\".")
- src.issuperUV = 0
+ else
+ if(uv_super)
+ to_chat(user, "You slide the dial back towards \"185nm\". ")
+ uv_super = FALSE
else
- to_chat(user, "You crank the dial all the way up to \"15nm\".")
- src.issuperUV = 1
- return
-
+ to_chat(user, "You crank the dial all the way up to \"15nm\". ")
+ uv_super = TRUE
/obj/machinery/suit_storage_unit/proc/togglesafeties(mob/user as mob)
-// var/protected = 0
-// var/mob/living/carbon/human/H = user
- if(!src.panelopen) //Needed check due to bugs
+ if(!panel_open)
return
-
- /*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
- if(H.gloves)
- var/obj/item/clothing/gloves/G = H.gloves
- if(istype(G,/obj/item/clothing/gloves/color/yellow) )
- protected = 1
-
- if(!protected)
- playsound(src.loc, "sparks", 75, 1, -1)
- to_chat(user, "You try to touch the controls but you get zapped. There must be a short circuit somewhere. ")
- return*/
else
- to_chat(user, "You push the button. The coloured LED next to it changes.")
- src.safetieson = !src.safetieson
-
+ to_chat(user, "You push the button. The coloured LED next to it changes. ")
+ safeties = !safeties
/obj/machinery/suit_storage_unit/proc/dispense_helmet(mob/user as mob)
- if(!src.HELMET)
- return //Do I even need this sanity check? Nyoro~n
- else
- src.HELMET.loc = src.loc
- src.HELMET = null
+ if(!helmet)
return
-
+ else
+ helmet.forceMove(loc)
+ helmet = null
/obj/machinery/suit_storage_unit/proc/dispense_suit(mob/user as mob)
- if(!src.SUIT)
+ if(!suit)
return
else
- src.SUIT.loc = src.loc
- src.SUIT = null
- return
-
+ suit.forceMove(loc)
+ suit = null
/obj/machinery/suit_storage_unit/proc/dispense_mask(mob/user as mob)
- if(!src.MASK)
+ if(!mask)
return
else
- src.MASK.loc = src.loc
- src.MASK = null
+ mask.forceMove(loc)
+ mask = null
+
+/obj/machinery/suit_storage_unit/proc/dispense_storage(mob/user as mob)
+ if(!storage)
return
-
-
-/obj/machinery/suit_storage_unit/proc/dump_everything()
- src.islocked = 0 //locks go free
- if(src.SUIT)
- src.SUIT.loc = src.loc
- src.SUIT = null
- if(src.HELMET)
- src.HELMET.loc = src.loc
- src.HELMET = null
- if(src.MASK)
- src.MASK.loc = src.loc
- src.MASK = null
- if(src.OCCUPANT)
- src.eject_occupant(OCCUPANT)
- return
-
+ else
+ storage.forceMove(loc)
+ storage = null
/obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob)
- if(src.islocked || src.isUV)
- to_chat(user, "Unable to open unit. ")
+ if(locked || uv)
+ to_chat(user, "Unable to open unit. ")
return
- if(src.OCCUPANT)
- src.eject_occupant(user)
- return // eject_occupant opens the door, so we need to return
- src.isopen = !src.isopen
- return
-
+ if(occupant)
+ eject_occupant(user)
+ return
+ state_open = !state_open
/obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob)
- if(src.OCCUPANT && src.safetieson)
- to_chat(user, "The Unit's safety protocols disallow locking when a biological form is detected inside its compartments. ")
+ if(occupant && safeties)
+ to_chat(user, "The unit's safety protocols disallow locking when a biological form is detected inside its compartments. ")
return
- if(src.isopen)
+ if(state_open)
return
- src.islocked = !src.islocked
- return
-
-
-/obj/machinery/suit_storage_unit/proc/start_UV(mob/user as mob)
- if(src.isUV || src.isopen) //I'm bored of all these sanity checks
- return
- if(src.OCCUPANT && src.safetieson)
- to_chat(user, "WARNING: Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle. ")
- return
- if(!src.HELMET && !src.MASK && !src.SUIT && !src.OCCUPANT ) //shit's empty yo
- to_chat(user, "Unit storage bays empty. Nothing to disinfect -- Aborting. ")
- return
- to_chat(user, "You start the Unit's cauterisation cycle.")
- src.cycletime_left = 20
- src.isUV = 1
- if(src.OCCUPANT && !src.islocked)
- src.islocked = 1 //Let's lock it for good measure
- src.update_icon()
- src.updateUsrDialog()
-
- var/i //our counter
- for(i=0,i<4,i++)
- sleep(50)
- if(src.OCCUPANT)
- if(src.issuperUV)
- var/burndamage = rand(35,45)
- OCCUPANT.take_organ_damage(0,burndamage)
- OCCUPANT.emote("scream")
- else
- var/burndamage = rand(10,15)
- OCCUPANT.take_organ_damage(0,burndamage)
- OCCUPANT.emote("scream")
- if(i==3) //End of the cycle
- if(!src.issuperUV)
- if(src.HELMET)
- HELMET.clean_blood()
- if(src.SUIT)
- SUIT.clean_blood()
- if(src.MASK)
- MASK.clean_blood()
- else //It was supercycling, destroy everything
- if(src.HELMET)
- src.HELMET = null
- if(src.SUIT)
- src.SUIT = null
- if(src.MASK)
- src.MASK = null
- visible_message("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber. ")
- src.isbroken = 1
- src.isopen = 1
- src.islocked = 0
- src.eject_occupant(OCCUPANT) //Mixing up these two lines causes bug. DO NOT DO IT.
- src.isUV = 0 //Cycle ends
- src.update_icon()
- src.updateUsrDialog()
- return
-
-/* spawn(200) //Let's clean dat shit after 20 secs //Eh, this doesn't work
- if(src.HELMET)
- HELMET.clean_blood()
- if(src.SUIT)
- SUIT.clean_blood()
- if(src.MASK)
- MASK.clean_blood()
- src.isUV = 0 //Cycle ends
- src.update_icon()
- src.updateUsrDialog()
-
- var/i
- for(i=0,i<4,i++) //Gradually give the guy inside some damaged based on the intensity
- spawn(50)
- if(OCCUPANT)
- if(issuperUV)
- OCCUPANT.take_organ_damage(0,40)
- to_chat(user, "Test. You gave [OCCUPANT.p_them()] 40 damage")
- else
- OCCUPANT.take_organ_damage(0,8)
- to_chat(user, "Test. You gave [OCCUPANT.p_them()] 8 damage")
- return*/
-
-
-/obj/machinery/suit_storage_unit/proc/cycletimeleft()
- if(src.cycletime_left >= 1)
- src.cycletime_left--
- return src.cycletime_left
-
+ locked = !locked
/obj/machinery/suit_storage_unit/proc/eject_occupant(mob/user as mob)
- if(islocked)
+ if(locked)
return
- if(!OCCUPANT)
+ if(!occupant)
return
- if(user != OCCUPANT)
- to_chat(OCCUPANT, "The machine kicks you out! ")
+ if(user != occupant)
+ to_chat(occupant, "The machine kicks you out! ")
if(user.loc != loc)
- to_chat(OCCUPANT, "You leave the not-so-cozy confines of the SSU. ")
- OCCUPANT.forceMove(loc)
- OCCUPANT = null
- if(!isopen)
- isopen = 1
+ to_chat(occupant, "You leave the not-so-cozy confines of the SSU. ")
+ occupant.forceMove(loc)
+ occupant = null
+ if(!state_open)
+ state_open = 1
update_icon()
return
@@ -455,13 +546,12 @@
if(usr.stat != 0)
return
- src.eject_occupant(usr)
+ eject_occupant(usr)
add_fingerprint(usr)
- src.updateUsrDialog()
- src.update_icon()
+ updateUsrDialog()
+ update_icon()
return
-
/obj/machinery/suit_storage_unit/verb/move_inside()
set name = "Hide in Suit Storage Unit"
set category = "Object"
@@ -469,640 +559,28 @@
if(usr.stat != 0)
return
- if(!src.isopen)
- to_chat(usr, "The unit's doors are shut. ")
+ if(!state_open)
+ to_chat(usr, "The unit's doors are shut. ")
return
- if(!src.ispowered || src.isbroken)
- to_chat(usr, "The unit is not operational. ")
+ if(broken)
+ to_chat(usr, "The unit is not operational. ")
return
- if( (src.OCCUPANT) || (src.HELMET) || (src.SUIT) )
- to_chat(usr, "It's too cluttered inside for you to fit in! ")
+ if((occupant) || (helmet) || (suit) || (storage))
+ to_chat(usr, "It's too cluttered inside for you to fit in! ")
return
visible_message("[usr] starts squeezing into the suit storage unit!")
if(do_after(usr, 10, target = usr))
usr.stop_pulling()
usr.forceMove(src)
-// usr.metabslow = 1
- src.OCCUPANT = usr
- src.isopen = 0 //Close the thing after the guy gets inside
- src.update_icon()
+ occupant = usr
+ state_open = FALSE //Close the thing after the guy gets inside
+ update_icon()
-// for(var/obj/O in src)
-// qdel(O)
-
- src.add_fingerprint(usr)
- src.updateUsrDialog()
+ add_fingerprint(usr)
+ updateUsrDialog()
return
else
- src.OCCUPANT = null //Testing this as a backup sanity test
- return
-
-
-/obj/machinery/suit_storage_unit/attackby(obj/item/I as obj, mob/user as mob, params)
- if(!src.ispowered)
- return
- if(istype(I, /obj/item/screwdriver))
- src.panelopen = !src.panelopen
- playsound(src.loc, I.usesound, 100, 1)
- to_chat(user, text("You [] the unit's maintenance panel. ",(src.panelopen ? "open up" : "close") ))
- src.updateUsrDialog()
- return
- if( istype(I, /obj/item/grab) )
- var/obj/item/grab/G = I
- if( !(ismob(G.affecting)) )
- return
- if(!src.isopen)
- to_chat(usr, "The unit's doors are shut. ")
- return
- if(!src.ispowered || src.isbroken)
- to_chat(usr, "The unit is not operational. ")
- return
- if( (src.OCCUPANT) || (src.HELMET) || (src.SUIT) ) //Unit needs to be absolutely empty
- to_chat(user, "The unit's storage area is too cluttered. ")
- return
- visible_message("[user] starts putting [G.affecting.name] into the Suit Storage Unit.")
- if(do_after(user, 20, target = G:affecting))
- if(!G || !G.affecting) return //derpcheck
- var/mob/M = G.affecting
- M.forceMove(src)
- src.OCCUPANT = M
- src.isopen = 0 //close ittt
-
- //for(var/obj/O in src)
- // O.loc = src.loc
- src.add_fingerprint(user)
- qdel(G)
- src.updateUsrDialog()
- src.update_icon()
- return
- return
- if( istype(I,/obj/item/clothing/suit/space) )
- if(!src.isopen)
- return
- var/obj/item/clothing/suit/space/S = I
- if(src.SUIT)
- to_chat(user, "The unit already contains a suit. ")
- return
- to_chat(user, "You load the [S.name] into the storage compartment.")
- user.drop_item()
- S.loc = src
- src.SUIT = S
- src.update_icon()
- src.updateUsrDialog()
- return
- if( istype(I,/obj/item/clothing/head/helmet) )
- if(!src.isopen)
- return
- var/obj/item/clothing/head/helmet/H = I
- if(src.HELMET)
- to_chat(user, "The unit already contains a helmet. ")
- return
- to_chat(user, "You load the [H.name] into the storage compartment.")
- user.drop_item()
- H.loc = src
- src.HELMET = H
- src.update_icon()
- src.updateUsrDialog()
- return
- if( istype(I,/obj/item/clothing/mask) )
- if(!src.isopen)
- return
- var/obj/item/clothing/mask/M = I
- if(src.MASK)
- to_chat(user, "The unit already contains a mask. ")
- return
- to_chat(user, "You load the [M.name] into the storage compartment.")
- user.drop_item()
- M.loc = src
- src.MASK = M
- src.update_icon()
- src.updateUsrDialog()
- return
- src.update_icon()
- src.updateUsrDialog()
- return
-
+ occupant = null
/obj/machinery/suit_storage_unit/attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
-
-
-//////////////////////////////REMINDER: Make it lock once you place some fucker inside.
-
-//God this entire file is fucking awful
-//Suit painter for Bay's special snowflake aliums.
-
-/obj/machinery/suit_cycler
-
- name = "suit cycler"
- desc = "An industrial machine for repairing, painting and equipping hardsuits."
- anchored = 1
- density = 1
-
- icon = 'icons/obj/suitstorage.dmi'
- icon_state = "suitstorage000000100"
-
- req_access = list(access_captain,access_heads)
-
- var/active = 0 // PLEASE HOLD.
- var/safeties = 1 // The cycler won't start with a living thing inside it unless safeties are off.
- var/irradiating = 0 // If this is > 0, the cycler is decontaminating whatever is inside it.
- var/radiation_level = 2 // 1 is removing germs, 2 is removing blood, 3 is removing plasma.
- var/model_text = "" // Some flavour text for the topic box.
- var/locked = 1 // If locked, nothing can be taken from or added to the cycler.
-
- // Wiring bollocks.
- var/wires = 15
- var/electrified = 0
- var/const/WIRE_EXTEND = 1 // Safeties
- var/const/WIRE_SCANID = 2 // Locked status
- var/const/WIRE_SHOCK = 3 // What it says on the tin.
-
- //Departments that the cycler can paint suits to look like.
- var/list/departments = list("Engineering","Mining","Medical","Security","Atmos")
- //Species that the suits can be configured to fit.
- var/list/species = list("Human","Skrell","Unathi","Tajaran")
-
- var/target_department = "Engineering"
- var/target_species = "Human"
-
- var/mob/living/carbon/human/occupant = null
- var/obj/item/clothing/suit/space/hardsuit/suit = null
- var/obj/item/clothing/head/helmet/space/helmet = null
-
-/obj/machinery/suit_cycler/engineering
- name = "Engineering suit cycler"
- model_text = "Engineering"
- req_access = list(access_construction)
- departments = list("Engineering","Atmos")
- species = list("Human","Unathi","Tajaran")
-
-/obj/machinery/suit_cycler/mining
- name = "Mining suit cycler"
- model_text = "Mining"
- req_access = list(access_mining)
- departments = list("Mining")
- species = list("Human","Unathi","Tajaran")
-
-/obj/machinery/suit_cycler/attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/suit_cycler/attackby(obj/item/I as obj, mob/user as mob, params)
-
- if(electrified != 0)
- if(src.shock(user, 100))
- return
-
- //Hacking init.
- if(istype(I, /obj/item/multitool) || istype(I, /obj/item/wirecutters))
- if(panel_open)
- attack_hand(user)
- return
- //Other interface stuff.
- if(istype(I, /obj/item/grab))
- var/obj/item/grab/G = I
-
- if(!(ismob(G.affecting)))
- return
-
- if(locked)
- to_chat(user, "The suit cycler is locked. ")
- return
-
- if(src.contents.len > 0)
- to_chat(user, "There is no room inside the cycler for [G.affecting.name]. ")
- return
-
- visible_message("[user] starts putting [G.affecting.name] into the suit cycler.")
-
- if(do_after(user, 20, target = G:affecting))
- if(!G || !G.affecting) return
- var/mob/M = G.affecting
- M.forceMove(src)
- src.occupant = M
-
- src.add_fingerprint(user)
- qdel(G)
-
- src.updateUsrDialog()
-
- return
- else if(istype(I,/obj/item/screwdriver))
-
- panel_open = !panel_open
- to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.")
- src.updateUsrDialog()
- return
-
- else if(istype(I,/obj/item/clothing/head/helmet/space))
-
- if(locked)
- to_chat(user, "The suit cycler is locked. ")
- return
-
- if(helmet)
- to_chat(user, "The cycler already contains a helmet.")
- return
-
- to_chat(user, "You fit \the [I] into the suit cycler.")
- user.drop_item()
- I.loc = src
- helmet = I
-
- src.update_icon()
- src.updateUsrDialog()
- return
-
- else if(istype(I,/obj/item/clothing/suit/space/hardsuit))
-
- if(locked)
- to_chat(user, "The suit cycler is locked. ")
- return
-
- if(suit)
- to_chat(user, "The cycler already contains a hardsuit.")
- return
-
- var/obj/item/clothing/suit/space/hardsuit/S = I
-
- if(S.helmet)
- to_chat(user, "\The [S] will not fit into the cycler with a helmet attached.")
- return
-
- if(S.boots)
- to_chat(user, "\The [S] will not fit into the cycler with boots attached.")
- return
-
- to_chat(user, "You fit \the [I] into the suit cycler.")
- user.drop_item()
- I.loc = src
- suit = I
-
- src.update_icon()
- src.updateUsrDialog()
- return
-
- ..()
-
-/obj/machinery/suit_cycler/emag_act(user as mob)
- if(emagged)
- to_chat(user, "The cycler has already been subverted. ")
- return
-
- //Clear the access reqs, disable the safeties, and open up all paintjobs.
- to_chat(user, "You run the sequencer across the interface, corrupting the operating protocols. ")
- departments = list("Engineering","Mining","Medical","Security","Atmos","^%###^%$")
- emagged = 1
- safeties = 0
- req_access = list()
- return
-
-/obj/machinery/suit_cycler/attack_hand(mob/user as mob)
-
- add_fingerprint(user)
-
- if(..() || stat & (BROKEN|NOPOWER))
- return
-
- if(!user.IsAdvancedToolUser())
- return 0
-
- if(electrified != 0)
- if(src.shock(user, 100))
- return
-
- usr.set_machine(src)
-
- var/dat = "Suit Cycler Interface "
-
- if(src.active)
- dat+= "The [model_text ? "[model_text] " : ""]suit cycler is currently in use. Please wait... "
-
- else if(locked)
- dat += "The [model_text ? "[model_text] " : ""]suit cycler is currently locked. Please contact your system administrator. "
- if(src.allowed(usr))
- dat += "\[unlock unit\] "
- else
- dat += "Suit cycler "
- dat += "Welcome to the [model_text ? "[model_text] " : ""]suit cycler control panel. \[lock unit\] "
-
- dat += "Maintenance "
- dat += "Helmet: [helmet ? "\the [helmet]" : "no helmet stored" ]. \[eject\] "
- dat += "Suit: [suit ? "\the [suit]" : "no suit stored" ]. \[eject\] "
-
- if(suit && istype(suit))
- dat += "[(suit.damage ? " \[repair\] " : "")]"
-
- dat += "UV decontamination systems: SYSTEM ERROR" : "green'>READY"] "
- dat += "Output level: [radiation_level] "
- dat += "\[select power level\] \[begin decontamination cycle\] "
-
- dat += "Customisation "
- dat += "Target product: [target_department] , [target_species] ."
- dat += " \[apply customisation routine\] "
-
-/* if(panel_open)
- var/list/vendwires = list(
- "Violet" = 1,
- "Orange" = 2,
- "Goldenrod" = 3,
- )
- dat += "Access Panel "
- for(var/wiredesc in vendwires)
- var/is_uncut = src.wires & APCWireColorToFlag[vendwires[wiredesc]]
- dat += "[wiredesc] wire: "
- if(!is_uncut)
- dat += "Mend "
- else
- dat += "Cut "
- dat += "Pulse "
- dat += " "
-
- dat += " "
- dat += "The orange light is [(electrified == 0) ? "off" : "on"]. "
- dat += "The red light is [safeties ? "blinking" : "off"]. "
- dat += "The yellow light is [locked ? "on" : "off"]. " */
-
- var/datum/browser/popup = new(user, "suit_cycler", name, 400, 400)
- popup.set_content(dat)
- popup.open(0)
- onclose(user, "suit_cycler")
- return
-
-/obj/machinery/suit_cycler/Topic(href, href_list)
- if(href_list["eject_suit"])
- if(!suit) return
- suit.loc = get_turf(src)
- suit = null
- else if(href_list["eject_helmet"])
- if(!helmet) return
- helmet.loc = get_turf(src)
- helmet = null
- else if(href_list["select_department"])
- var/choice = input("Please select the target department paintjob.","Suit cycler",null) as null|anything in departments
- if(choice) target_department = choice
- else if(href_list["select_species"])
- var/choice = input("Please select the target species configuration.","Suit cycler",null) as null|anything in species
- if(choice) target_species = choice
- else if(href_list["select_rad_level"])
- var/choices = list(1,2,3)
- if(emagged)
- choices = list(1,2,3,4,5)
- radiation_level = input("Please select the desired radiation level.","Suit cycler",null) as null|anything in choices
- else if(href_list["repair_suit"])
-
- if(!suit) return
- active = 1
- spawn(100)
- repair_suit()
- finished_job()
-
- else if(href_list["apply_paintjob"])
-
- if(!suit && !helmet) return
- active = 1
- spawn(100)
- apply_paintjob()
- finished_job()
-
- else if(href_list["toggle_safties"])
- safeties = !safeties
-
- else if(href_list["toggle_lock"])
-
- if(src.allowed(usr))
- locked = !locked
- to_chat(usr, "You [locked ? "" : "un"]lock \the [src].")
- else
- to_chat(usr, "Access denied. ")
-
- else if(href_list["begin_decontamination"])
-
- if(safeties && occupant)
- to_chat(usr, "The cycler has detected an occupant. Please remove the occupant before commencing the decontamination cycle. ")
- return
-
- active = 1
- irradiating = 10
- src.updateUsrDialog()
-
- sleep(10)
-
- if(helmet)
- if(radiation_level > 1)
- helmet.clean_blood()
-
- if(suit)
- if(radiation_level > 1)
- suit.clean_blood()
-
-/* else if((href_list["cutwire"]) && (src.panel_open))
- var/twire = text2num(href_list["cutwire"])
- if(!( istype(usr.get_active_hand(), /obj/item/wirecutters) ))
- to_chat(usr, "You need wirecutters!")
- return
- if(src.isWireColorCut(twire))
- src.mend(twire)
- else
- src.cut(twire)
-
- else if((href_list["pulsewire"]) && (src.panel_open))
- var/twire = text2num(href_list["pulsewire"])
- if(!istype(usr.get_active_hand(), /obj/item/multitool))
- to_chat(usr, "You need a multitool!")
- return
- if(src.isWireColorCut(twire))
- to_chat(usr, "You can't pulse a cut wire.")
- return
- else
- src.pulse(twire)*/
-
- src.updateUsrDialog()
- return
-
-/obj/machinery/suit_cycler/process()
-
- if(electrified > 0)
- electrified--
-
- if(!active)
- return
-
- if(active && stat & (BROKEN|NOPOWER))
- active = 0
- irradiating = 0
- electrified = 0
- return
-
- if(irradiating == 1)
- finished_job()
- irradiating = 0
- return
-
- irradiating--
-
- if(occupant)
- if(prob(radiation_level*2)) occupant.emote("scream")
- if(radiation_level > 2)
- occupant.take_organ_damage(0,radiation_level*2 + rand(1,3))
- if(radiation_level > 1)
- occupant.take_organ_damage(0,radiation_level + rand(1,3))
- occupant.apply_effect(radiation_level*10, IRRADIATE)
-
-/obj/machinery/suit_cycler/proc/finished_job()
- var/turf/T = get_turf(src)
- T.visible_message("\The [src] pings loudly.")
- icon_state = initial(icon_state)
- active = 0
- src.updateUsrDialog()
-
-/obj/machinery/suit_cycler/proc/repair_suit()
- if(!suit || !suit.damage || !suit.can_breach)
- return
-
- suit.breaches = list()
- suit.calc_breach_damage()
-
- return
-
-/obj/machinery/suit_cycler/verb/leave()
- set name = "Eject Cycler"
- set category = "Object"
- set src in oview(1)
-
- if(usr.stat != 0)
- return
-
- eject_occupant(usr)
-
-/obj/machinery/suit_cycler/proc/eject_occupant(mob/user as mob)
-
- if(locked || active)
- to_chat(user, "The cycler is locked. ")
- return
-
- if(!occupant)
- return
-
- occupant.forceMove(loc)
- occupant = null
-
- add_fingerprint(usr)
- updateUsrDialog()
- update_icon()
-
- return
-/*
-//HACKING PROCS, MOSTLY COPIED FROM VENDING MACHINES
-/obj/machinery/suit_cycler/proc/isWireColorCut(var/wireColor)
- var/wireFlag = APCWireColorToFlag[wireColor]
- return ((src.wires & wireFlag) == 0)
-
-/obj/machinery/suit_cycler/proc/isWireCut(var/wireIndex)
- var/wireFlag = APCIndexToFlag[wireIndex]
- return ((src.wires & wireFlag) == 0)
-
-/obj/machinery/suit_cycler/proc/cut(var/wireColor)
- var/wireFlag = APCWireColorToFlag[wireColor]
- var/wireIndex = APCWireColorToIndex[wireColor]
- src.wires &= ~wireFlag
- switch(wireIndex)
-
- if(WIRE_EXTEND)
- safeties = 0
- if(WIRE_SHOCK)
- electrified = -1
- if(WIRE_SCANID)
- locked = 0
-
-/obj/machinery/suit_cycler/proc/mend(var/wireColor)
- var/wireFlag = APCWireColorToFlag[wireColor]
- var/wireIndex = APCWireColorToIndex[wireColor] //not used in this function
- src.wires |= wireFlag
- switch(wireIndex)
- if(WIRE_SHOCK)
- src.electrified = 0
-
-/obj/machinery/suit_cycler/proc/pulse(var/wireColor)
- var/wireIndex = APCWireColorToIndex[wireColor]
- switch(wireIndex)
- if(WIRE_EXTEND)
- safeties = !locked
- if(WIRE_SHOCK)
- electrified = 30
- if(WIRE_SCANID)
- locked = !locked
-*/
-
-//There HAS to be a less bloated way to do this. TODO: some kind of table/icon name coding? ~Z
-/obj/machinery/suit_cycler/proc/apply_paintjob()
-
- if(!target_species || !target_department)
- return
-
- if(target_species)
- if(helmet) helmet.refit_for_species(target_species)
- if(suit) suit.refit_for_species(target_species)
-
- switch(target_department)
- if("Engineering")
- if(helmet)
- helmet.name = "engineering hardsuit helmet"
- helmet.icon_state = "hardsuit0-engineering"
- helmet.item_state = "eng_helm"
- helmet.item_color = "engineering"
- if(suit)
- suit.name = "engineering hardsuit"
- suit.icon_state = "hardsuit-engineering"
- suit.item_state = "eng_hardsuit"
- if("Mining")
- if(helmet)
- helmet.name = "mining hardsuit helmet"
- helmet.icon_state = "hardsuit0-mining"
- helmet.item_state = "mining_helm"
- helmet.item_color = "mining"
- if(suit)
- suit.name = "mining hardsuit"
- suit.icon_state = "hardsuit-mining"
- suit.item_state = "mining_hardsuit"
- if("Medical")
- if(helmet)
- helmet.name = "medical hardsuit helmet"
- helmet.icon_state = "hardsuit0-medical"
- helmet.item_state = "medical_helm"
- helmet.item_color = "medical"
- if(suit)
- suit.name = "medical hardsuit"
- suit.icon_state = "hardsuit-medical"
- suit.item_state = "medical_hardsuit"
- if("Security")
- if(helmet)
- helmet.name = "security hardsuit helmet"
- helmet.icon_state = "hardsuit0-sec"
- helmet.item_state = "sec_helm"
- helmet.item_color = "sec"
- if(suit)
- suit.name = "security hardsuit"
- suit.icon_state = "hardsuit-sec"
- suit.item_state = "sec_hardsuit"
- if("Atmos")
- if(helmet)
- helmet.name = "atmospherics hardsuit helmet"
- helmet.icon_state = "hardsuit0-atmos"
- helmet.item_state = "atmos_helm"
- helmet.item_color = "atmos"
- if(suit)
- suit.name = "atmospherics hardsuit"
- suit.icon_state = "hardsuit-atmos"
- suit.item_state = "atmos_hardsuit"
- if("^%###^%$")
- if(helmet)
- helmet.name = "blood-red hardsuit helmet"
- helmet.icon_state = "hardsuit0-syndie"
- helmet.item_state = "syndie_helm"
- helmet.item_color = "syndie"
- if(suit)
- suit.name = "blood-red hardsuit"
- suit.item_state = "syndie_hardsuit"
- suit.icon_state = "hardsuit-syndie"
+ return attack_hand(user)
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index 37d1c3ae93c..304dc7dc639 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -17,89 +17,89 @@
var/selfdestructing = 0
var/charges = 1
- attack_hand(var/mob/user as mob)
- usr.set_machine(src)
- var/dat = "Scanning [pick("retina pattern", "voice print", "fingerprints", "dna sequence")]... Identity confirmed, "
- if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
- if(is_special_character(user))
- dat += "Operative record found. Greetings, Agent [user.name]. "
- else if(charges < 1)
- dat += "Connection severed. "
- else
- var/honorific = "Mr."
- if(user.gender == FEMALE)
- honorific = "Ms."
- dat += "Identity not found in operative database. What can the Syndicate do for you today, [honorific] [user.name]? "
- if(!selfdestructing)
- dat += "\"[pick("I want to switch teams.", "I want to work for you.", "Let me join you.", "I can be of use to you.", "You want me working for you, and here's why...", "Give me an objective.", "How's the 401k over at the Syndicate?")]\" "
- dat += temptext
- user << browse(dat, "window=syndbeacon")
- onclose(user, "syndbeacon")
+/obj/machinery/syndicate_beacon/attack_hand(var/mob/user as mob)
+ usr.set_machine(src)
+ var/dat = "Scanning [pick("retina pattern", "voice print", "fingerprints", "dna sequence")]... Identity confirmed, "
+ if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
+ if(is_special_character(user))
+ dat += "Operative record found. Greetings, Agent [user.name]. "
+ else if(charges < 1)
+ dat += "Connection severed. "
+ else
+ var/honorific = "Mr."
+ if(user.gender == FEMALE)
+ honorific = "Ms."
+ dat += "Identity not found in operative database. What can the Syndicate do for you today, [honorific] [user.name]? "
+ if(!selfdestructing)
+ dat += "\"[pick("I want to switch teams.", "I want to work for you.", "Let me join you.", "I can be of use to you.", "You want me working for you, and here's why...", "Give me an objective.", "How's the 401k over at the Syndicate?")]\" "
+ dat += temptext
+ user << browse(dat, "window=syndbeacon")
+ onclose(user, "syndbeacon")
- Topic(href, href_list)
- if(..())
- return 1
- if(href_list["betraitor"])
- if(charges < 1)
+/obj/machinery/syndicate_beacon/Topic(href, href_list)
+ if(..())
+ return 1
+ if(href_list["betraitor"])
+ if(charges < 1)
+ src.updateUsrDialog()
+ return
+ var/mob/M = locate(href_list["traitormob"])
+ if(M.mind.special_role)
+ temptext = "We have no need for you at this time. Have a pleasant day. "
+ src.updateUsrDialog()
+ return
+ charges -= 1
+ switch(rand(1,2))
+ if(1)
+ temptext = "Double-crosser. You planned to betray us from the start. Allow us to repay the favor in kind. "
src.updateUsrDialog()
+ spawn(rand(50,200)) selfdestruct()
return
- var/mob/M = locate(href_list["traitormob"])
- if(M.mind.special_role)
- temptext = "We have no need for you at this time. Have a pleasant day. "
- src.updateUsrDialog()
- return
- charges -= 1
- switch(rand(1,2))
- if(1)
- temptext = "Double-crosser. You planned to betray us from the start. Allow us to repay the favor in kind. "
- src.updateUsrDialog()
- spawn(rand(50,200)) selfdestruct()
- return
- if(istype(M, /mob/living/carbon/human))
- var/mob/living/carbon/human/N = M
- ticker.mode.equip_traitor(N)
- ticker.mode.traitors += N.mind
- N.mind.special_role = SPECIAL_ROLE_TRAITOR
- var/objective = "Free Objective"
- switch(rand(1,100))
- if(1 to 50)
- objective = "Steal [pick("a hand teleporter", "the Captain's antique laser gun", "a jetpack", "the Captain's ID", "the Captain's jumpsuit")]."
- if(51 to 60)
- objective = "Destroy 70% or more of the station's plasma tanks."
- if(61 to 70)
- objective = "Cut power to 80% or more of the station's tiles."
- if(71 to 80)
- objective = "Destroy the AI."
- if(81 to 90)
- objective = "Kill all monkeys aboard the station."
- else
- objective = "Make certain at least 80% of the station evacuates on the shuttle."
- var/datum/objective/custom_objective = new(objective)
- custom_objective.owner = N.mind
- N.mind.objectives += custom_objective
+ if(istype(M, /mob/living/carbon/human))
+ var/mob/living/carbon/human/N = M
+ ticker.mode.equip_traitor(N)
+ ticker.mode.traitors += N.mind
+ N.mind.special_role = SPECIAL_ROLE_TRAITOR
+ var/objective = "Free Objective"
+ switch(rand(1,100))
+ if(1 to 50)
+ objective = "Steal [pick("a hand teleporter", "the Captain's antique laser gun", "a jetpack", "the Captain's ID", "the Captain's jumpsuit")]."
+ if(51 to 60)
+ objective = "Destroy 70% or more of the station's plasma tanks."
+ if(61 to 70)
+ objective = "Cut power to 80% or more of the station's tiles."
+ if(71 to 80)
+ objective = "Destroy the AI."
+ if(81 to 90)
+ objective = "Kill all monkeys aboard the station."
+ else
+ objective = "Make certain at least 80% of the station evacuates on the shuttle."
+ var/datum/objective/custom_objective = new(objective)
+ custom_objective.owner = N.mind
+ N.mind.objectives += custom_objective
- var/datum/objective/escape/escape_objective = new
- escape_objective.owner = N.mind
- N.mind.objectives += escape_objective
+ var/datum/objective/escape/escape_objective = new
+ escape_objective.owner = N.mind
+ N.mind.objectives += escape_objective
- to_chat(M, "You have joined the ranks of the Syndicate and become a traitor to the station! ")
+ to_chat(M, "You have joined the ranks of the Syndicate and become a traitor to the station! ")
- message_admins("[key_name_admin(N)] has accepted a traitor objective from a syndicate beacon.")
+ message_admins("[key_name_admin(N)] has accepted a traitor objective from a syndicate beacon.")
- var/obj_count = 1
- for(var/datum/objective/OBJ in M.mind.objectives)
- to_chat(M, "Objective #[obj_count] : [OBJ.explanation_text]")
- obj_count++
+ var/obj_count = 1
+ for(var/datum/objective/OBJ in M.mind.objectives)
+ to_chat(M, "Objective #[obj_count] : [OBJ.explanation_text]")
+ obj_count++
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
+ src.add_fingerprint(usr)
+ src.updateUsrDialog()
+ return
- proc/selfdestruct()
- selfdestructing = 1
- spawn() explosion(src.loc, rand(3,8), rand(1,3), 1, 10)
+/obj/machinery/syndicate_beacon/proc/selfdestruct()
+ selfdestructing = 1
+ spawn() explosion(src.loc, rand(3,8), rand(1,3), 1, 10)
@@ -126,7 +126,7 @@
if(user)
to_chat(user, "The connected wire doesn't have enough current. ")
return
- for(var/obj/singularity/singulo in singularities)
+ for(var/obj/singularity/singulo in GLOB.singularities)
if(singulo.z == z)
singulo.target = src
icon_state = "[icontype]1"
@@ -196,4 +196,4 @@
/obj/machinery/power/singularity_beacon/syndicate
icontype = "beaconsynd"
- icon_state = "beaconsynd0"
\ No newline at end of file
+ icon_state = "beaconsynd0"
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index b5806d1472e..fda550217ad 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -39,7 +39,7 @@
/obj/machinery/syndicatebomb/process()
if(!active)
- fast_processing -= src
+ GLOB.fast_processing -= src
detonation_timer = null
next_beep = null
countdown.stop()
@@ -73,7 +73,7 @@
if(defused && payload in src)
payload.defuse()
countdown.stop()
- fast_processing -= src
+ GLOB.fast_processing -= src
/obj/machinery/syndicatebomb/New()
wires = new(src)
@@ -86,7 +86,7 @@
/obj/machinery/syndicatebomb/Destroy()
QDEL_NULL(wires)
QDEL_NULL(countdown)
- fast_processing -= src
+ GLOB.fast_processing -= src
return ..()
/obj/machinery/syndicatebomb/examine(mob/user)
@@ -205,7 +205,7 @@
/obj/machinery/syndicatebomb/proc/activate()
active = TRUE
- fast_processing += src
+ GLOB.fast_processing += src
countdown.start()
next_beep = world.time + 10
detonation_timer = world.time + (timer_set * 10)
@@ -546,7 +546,7 @@
/obj/item/syndicatedetonator/attack_self(mob/user)
if(timer < world.time)
- for(var/obj/machinery/syndicatebomb/B in machines)
+ for(var/obj/machinery/syndicatebomb/B in GLOB.machines)
if(B.active)
B.detonation_timer = world.time + BUTTON_DELAY
detonated++
diff --git a/code/game/machinery/telecomms/presets.dm b/code/game/machinery/telecomms/presets.dm
index 0a12b637a39..539e4565d66 100644
--- a/code/game/machinery/telecomms/presets.dm
+++ b/code/game/machinery/telecomms/presets.dm
@@ -75,10 +75,10 @@
freq_listening = list(AI_FREQ, COMM_FREQ, ENG_FREQ, SEC_FREQ)
//Common and other radio frequencies for people to freely use
- New()
- for(var/i = PUBLIC_LOW_FREQ, i < PUBLIC_HIGH_FREQ, i += 2)
- freq_listening |= i
- ..()
+/obj/machinery/telecomms/receiver/preset_right/New()
+ for(var/i = PUBLIC_LOW_FREQ, i < PUBLIC_HIGH_FREQ, i += 2)
+ freq_listening |= i
+ ..()
/obj/machinery/telecomms/receiver/preset_cent
id = "CentComm Receiver"
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index 53148d9de6d..d7bf8f1b329 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -178,7 +178,7 @@
var/list/L = list()
var/list/areaindex = list()
- for(var/obj/item/radio/beacon/R in beacons)
+ for(var/obj/item/radio/beacon/R in GLOB.beacons)
var/turf/T = get_turf(R)
if(!T)
continue
@@ -193,7 +193,7 @@
areaindex[tmpname] = 1
L[tmpname] = R
- for(var/obj/item/implant/tracking/I in tracked_implants)
+ for(var/obj/item/implant/tracking/I in GLOB.tracked_implants)
if(!I.implanted || !ismob(I.loc))
continue
else
@@ -281,9 +281,7 @@
link_power_station()
component_parts = list()
component_parts += new /obj/item/circuitboard/teleporter_hub(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
+ component_parts += new /obj/item/stack/ore/bluespace_crystal/artificial(null, 3)
component_parts += new /obj/item/stock_parts/matter_bin(null)
RefreshParts()
@@ -291,9 +289,7 @@
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/teleporter_hub(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
+ component_parts += new /obj/item/stack/ore/bluespace_crystal/artificial(null, 3)
component_parts += new /obj/item/stock_parts/matter_bin/super(null)
RefreshParts()
@@ -478,8 +474,7 @@
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/teleporter_station(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
- component_parts += new /obj/item/ore/bluespace_crystal/artificial(null)
+ component_parts += new /obj/item/stack/ore/bluespace_crystal/artificial(null, 2)
component_parts += new /obj/item/stock_parts/capacitor(null)
component_parts += new /obj/item/stock_parts/capacitor(null)
component_parts += new /obj/item/stock_parts/console_screen(null)
diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm
index 62928c95be5..743b8a097e6 100644
--- a/code/game/mecha/equipment/mecha_equipment.dm
+++ b/code/game/mecha/equipment/mecha_equipment.dm
@@ -31,19 +31,13 @@
/obj/item/mecha_parts/mecha_equipment/Destroy()//missiles detonating, teleporter creating singularity?
if(chassis)
- detach(chassis)
- chassis.equipment -= src
- listclearnulls(chassis.equipment)
- if(chassis.selected == src)
- chassis.selected = null
- src.update_chassis_page()
chassis.occupant_message("The [src] is destroyed! ")
chassis.log_append_to_last("[src] is destroyed.",1)
if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon))
chassis.occupant << sound('sound/mecha/weapdestr.ogg', volume = 50)
else
chassis.occupant << sound('sound/mecha/critdestr.ogg', volume = 50)
- chassis = null
+ detach(chassis)
return ..()
/obj/item/mecha_parts/mecha_equipment/proc/critfail()
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index a8e854467a2..9dc6c8e6f11 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -519,3 +519,50 @@
for(var/reagent in processed_reagents)
reagents.add_reagent(reagent,amount)
chassis.use_power(energy_drain)
+
+/obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw
+ name = "rescue jaw"
+ desc = "Emergency rescue jaws, designed to help first responders reach their patients. Opens doors and removes obstacles."
+ icon_state = "mecha_clamp" //can work, might use a blue resprite later but I think it works for now
+ origin_tech = "materials=2;engineering=2" //kind of sad, but identical to jaws of life
+ equip_cooldown = 15
+ energy_drain = 10
+ var/dam_force = 20
+
+
+/obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw/action(atom/target)
+ if(!action_checks(target))
+ return
+ if(istype(target, /obj))
+ if(!istype(target, /obj/machinery/door))//early return if we're not trying to open a door
+ return
+ var/obj/machinery/door/D = target //the door we want to open
+ D.try_to_crowbar(src, chassis.occupant)//use the door's crowbar function
+ if(isliving(target)) //interact with living beings
+ var/mob/living/M = target
+ if(chassis.occupant.a_intent == INTENT_HARM)//the patented, medical rescue claw is incapable of doing harm. Worry not.
+ target.visible_message("[chassis] gently boops [target] on the nose, its hydraulics hissing as safety overrides slow a brutal punch down at the last second. ", \
+ "")
+ else
+ push_aside(chassis, M)//out of the way, I have people to save!
+ occupant_message("You gently push [target] out of the way. ")
+ chassis.visible_message("[chassis] gently pushes [target] out of the way. ")
+
+/obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw/proc/push_aside(obj/mecha/M, mob/living/L)
+ switch(get_dir(M, L))
+ if(NORTH, SOUTH)
+ if(prob(50))
+ step(L, WEST)
+ else
+ step(L, EAST)
+ if(WEST, EAST)
+ if(prob(50))
+ step(L, NORTH)
+ else
+ step(L, SOUTH)
+
+/obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw/can_attach(obj/mecha/M)
+ if(istype(M, /obj/mecha/medical) || istype(M, /obj/mecha/working/ripley/firefighter)) //Odys or firefighters
+ if(M.equipment.len < M.max_equip)
+ return TRUE
+ return FALSE
diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm
index 546bb6ae269..63e70626a8d 100644
--- a/code/game/mecha/equipment/tools/mining_tools.dm
+++ b/code/game/mecha/equipment/tools/mining_tools.dm
@@ -73,7 +73,7 @@
if(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment)
var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo
if(ore_box)
- for(var/obj/item/ore/ore in range(1, chassis))
+ for(var/obj/item/stack/ore/ore in range(1, chassis))
if(get_dir(chassis, ore) & chassis.dir)
ore.Move(ore_box)
diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm
index 501b41be4cb..a42e76015c1 100644
--- a/code/game/mecha/equipment/tools/other_tools.dm
+++ b/code/game/mecha/equipment/tools/other_tools.dm
@@ -69,7 +69,7 @@
P.failchance = 0
P.icon_state = "anom"
P.name = "wormhole"
- message_admins("[key_name_admin(chassis.occupant, chassis.occupant.client)](? ) (FLW ) used a Wormhole Generator in ([loc.x],[loc.y],[loc.z] - JMP )",0,1)
+ message_admins("[key_name_admin(chassis.occupant, chassis.occupant.client)]([ADMIN_QUE(chassis.occupant,"?")]) ([ADMIN_FLW(chassis.occupant,"FLW")]) used a Wormhole Generator in ([loc.x],[loc.y],[loc.z] - JMP )",0,1)
log_game("[key_name(chassis.occupant)] used a Wormhole Generator in ([loc.x],[loc.y],[loc.z])")
src = null
spawn(rand(150,300))
diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm
index ca327fe6ef7..d119469d55a 100644
--- a/code/game/mecha/equipment/tools/work_tools.dm
+++ b/code/game/mecha/equipment/tools/work_tools.dm
@@ -63,8 +63,8 @@
start_cooldown()
else
step_away(M,chassis)
- occupant_message("You push [target] out of the way.")
- chassis.visible_message("[chassis] pushes [target] out of the way.")
+ occupant_message("You push [target] out of the way. ")
+ chassis.visible_message("[chassis] pushes [target] out of the way. ")
return 1
@@ -198,11 +198,11 @@
usesound = 'sound/items/Deconstruct.ogg'
/obj/item/mecha_parts/mecha_equipment/rcd/New()
- rcd_list += src
+ GLOB.rcd_list += src
..()
/obj/item/mecha_parts/mecha_equipment/rcd/Destroy()
- rcd_list -= src
+ GLOB.rcd_list -= src
return ..()
/obj/item/mecha_parts/mecha_equipment/rcd/action(atom/target)
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 65118f8c491..86640958a72 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -39,7 +39,7 @@
/obj/machinery/mecha_part_fabricator/New()
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container,
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE), 0,
- FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
+ FALSE, list(/obj/item/stack, /obj/item/stack/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
materials.precise_insertion = TRUE
..()
component_parts = list()
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index dd7993247b1..64874762050 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -41,7 +41,7 @@
var/datum/effect_system/spark_spread/spark_system = new
var/lights = 0
var/lights_power = 6
- var/emagged = 0
+ var/emagged = FALSE
//inner atmos
var/use_internal_tank = 0
@@ -95,9 +95,9 @@
processing_objects.Add(src)
removeVerb(/obj/mecha/verb/disconnect_from_port)
- poi_list |= src
+ GLOB.poi_list |= src
log_message("[src] created.")
- mechas_list += src //global mech list
+ GLOB.mechas_list += src //global mech list
prepare_huds()
for(var/datum/atom_hud/data/diagnostic/diag_hud in huds)
diag_hud.add_to_hud(src)
@@ -497,8 +497,8 @@
log_message("Attack by simple animal. Attacker - [user].",1)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
- if(user.melee_damage_upper == 0)
- user.custom_emote(1, "[user.friendly] [src]")
+ if((user.a_intent == INTENT_HELP && user.ckey) || user.melee_damage_upper == 0)
+ user.custom_emote(1, "[user.friendly] [src].")
else
user.do_attack_animation(src)
if(!prob(deflect_chance))
@@ -616,7 +616,7 @@
QDEL_NULL(internal_tank)
processing_objects.Remove(src)
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
equipment.Cut()
cell = null
internal_tank = null
@@ -628,7 +628,7 @@
cabin_air = null
QDEL_NULL(spark_system)
- mechas_list -= src //global mech list
+ GLOB.mechas_list -= src //global mech list
return ..()
/obj/mecha/ex_act(severity)
@@ -851,14 +851,8 @@
check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
-/obj/mecha/emag_act(user as mob)
- if(istype(src, /obj/mecha/working/ripley) && emagged == 0)
- emagged = 1
- to_chat(usr, "You slide the card through the [src]'s ID slot. ")
- playsound(loc, "sparks", 100, 1)
- desc += "The mech's equipment slots spark dangerously! "
- else
- to_chat(usr, "The [src]'s ID slot rejects the card. ")
+/obj/mecha/emag_act(mob/user)
+ to_chat(user, "[src]'s ID slot rejects the card. ")
return
diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm
index d3b88c2b24c..59de4cc45b4 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -1,3 +1,5 @@
+#define STANDARD_STACK_AMOUNT 5
+
////////////////////////////////
///// Construction datums //////
////////////////////////////////
@@ -30,11 +32,11 @@
return 0
else if(istype(used_atom, /obj/item/stack))
var/obj/item/stack/S = used_atom
- if(S.amount < 5)
+ if(S.amount < STANDARD_STACK_AMOUNT)
to_chat(user, ("There's not enough material in this stack."))
return 0
else
- S.use(5)
+ S.use(STANDARD_STACK_AMOUNT)
return 1
/datum/construction/reversible/mecha/custom_action(index as num, diff as num, atom/used_atom, mob/user as mob)
@@ -65,11 +67,11 @@
return 0
else if(istype(used_atom, /obj/item/stack))
var/obj/item/stack/S = used_atom
- if(S.amount < 5)
+ if(S.amount < STANDARD_STACK_AMOUNT)
to_chat(user, ("There's not enough material in this stack."))
return 0
else
- S.use(5)
+ S.use(STANDARD_STACK_AMOUNT)
return 1
@@ -1289,7 +1291,7 @@
"backkey"=/obj/item/crowbar,
"desc"="The bluespace crystal is installed."),
//10
- list("key"=/obj/item/ore/bluespace_crystal,
+ list("key"=/obj/item/stack/ore/bluespace_crystal,
"backkey"=/obj/item/screwdriver,
"desc"="Super capacitor is secured."),
//11
@@ -1467,23 +1469,22 @@
holder.icon_state = "phazon12"
if(10)
if(diff==FORWARD)
- user.visible_message("[user] installs the bluespace crystal.", "You install the bluespace crystal.")
- qdel(used_atom)
+ user.visible_message("[user] installs the bluespace crystal.", "You install the bluespace crystals.")
holder.icon_state = "phazon15"
else
user.visible_message("[user] unsecures the super capacitor from the [holder].", "You unsecure the super capacitor from the [holder].")
holder.icon_state = "phazon13"
if(9)
if(diff==FORWARD)
- user.visible_message("[user] connects the bluespace crystal.", "You connect the bluespace crystal.")
+ user.visible_message("[user] connects the bluespace crystal.", "You connect the bluespace crystals.")
holder.icon_state = "phazon16"
else
user.visible_message("[user] removes the bluespace crystal from the [holder].", "You remove the bluespace crystal from the [holder].")
- new /obj/item/ore/bluespace_crystal(get_turf(holder))
+ new /obj/item/stack/ore/bluespace_crystal(get_turf(holder), new_amount = 5)
holder.icon_state = "phazon14"
if(8)
if(diff==FORWARD)
- user.visible_message("[user] engages the bluespace crystal.", "You engage the bluespace crystal.")
+ user.visible_message("[user] engages the bluespace crystal.", "You engage the bluespace crystals.")
holder.icon_state = "phazon17"
else
user.visible_message("[user] disconnects the bluespace crystal from the [holder].", "You disconnect the bluespace crystal from the [holder].")
@@ -1493,7 +1494,7 @@
user.visible_message("[user] installs the phase armor layer to the [holder].", "You install the phase armor layer to the [holder].")
holder.icon_state = "phazon18"
else
- user.visible_message("[user] disengages the bluespace crystal.", "You disengage the bluespace crystal.")
+ user.visible_message("[user] disengages the bluespace crystal.", "You disengage the bluespace crystals.")
holder.icon_state = "phazon16"
if(6)
if(diff==FORWARD)
diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm
index a5a1bb95bc1..75b9fc6b1b8 100644
--- a/code/game/mecha/mecha_parts.dm
+++ b/code/game/mecha/mecha_parts.dm
@@ -33,9 +33,9 @@
/obj/item/mecha_parts/chassis/ripley
name = "Ripley Chassis"
- New()
- ..()
- construct = new /datum/construction/mecha/ripley_chassis(src)
+/obj/item/mecha_parts/chassis/ripley/New()
+ ..()
+ construct = new /datum/construction/mecha/ripley_chassis(src)
/obj/item/mecha_parts/part/ripley_torso
name="Ripley Torso"
@@ -68,9 +68,9 @@
/obj/item/mecha_parts/chassis/gygax
name = "Gygax Chassis"
- New()
- ..()
- construct = new /datum/construction/mecha/gygax_chassis(src)
+/obj/item/mecha_parts/chassis/gygax/New()
+ ..()
+ construct = new /datum/construction/mecha/gygax_chassis(src)
/obj/item/mecha_parts/part/gygax_torso
name="Gygax Torso"
@@ -117,9 +117,9 @@
/obj/item/mecha_parts/chassis/durand
name = "Durand Chassis"
- New()
- ..()
- construct = new /datum/construction/mecha/durand_chassis(src)
+/obj/item/mecha_parts/chassis/durand/New()
+ ..()
+ construct = new /datum/construction/mecha/durand_chassis(src)
/obj/item/mecha_parts/part/durand_torso
name="Durand Torso"
@@ -163,39 +163,18 @@
/obj/item/mecha_parts/chassis/firefighter
name = "Firefighter Chassis"
- New()
- ..()
- construct = new /datum/construction/mecha/firefighter_chassis(src)
-/*
-/obj/item/mecha_parts/part/firefighter_torso
- name="Ripley-on-Fire Torso"
- icon_state = "ripley_harness"
-
-/obj/item/mecha_parts/part/firefighter_left_arm
- name="Ripley-on-Fire Left Arm"
- icon_state = "ripley_l_arm"
-
-/obj/item/mecha_parts/part/firefighter_right_arm
- name="Ripley-on-Fire Right Arm"
- icon_state = "ripley_r_arm"
-
-/obj/item/mecha_parts/part/firefighter_left_leg
- name="Ripley-on-Fire Left Leg"
- icon_state = "ripley_l_leg"
-
-/obj/item/mecha_parts/part/firefighter_right_leg
- name="Ripley-on-Fire Right Leg"
- icon_state = "ripley_r_leg"
-*/
+/obj/item/mecha_parts/chassis/firefighter/New()
+ ..()
+ construct = new /datum/construction/mecha/firefighter_chassis(src)
////////// HONK
/obj/item/mecha_parts/chassis/honker
name = "H.O.N.K Chassis"
- New()
- ..()
- construct = new /datum/construction/mecha/honker_chassis(src)
+/obj/item/mecha_parts/chassis/honker/New()
+ ..()
+ construct = new /datum/construction/mecha/honker_chassis(src)
/obj/item/mecha_parts/part/honker_torso
name="H.O.N.K Torso"
@@ -275,9 +254,9 @@
/obj/item/mecha_parts/chassis/phazon
name = "Phazon Chassis"
- New()
- ..()
- construct = new /datum/construction/mecha/phazon_chassis(src)
+/obj/item/mecha_parts/chassis/phazon/New()
+ ..()
+ construct = new /datum/construction/mecha/phazon_chassis(src)
/obj/item/mecha_parts/part/phazon_torso
name="Phazon Torso"
@@ -319,9 +298,9 @@
/obj/item/mecha_parts/chassis/odysseus
name = "Odysseus Chassis"
- New()
- ..()
- construct = new /datum/construction/mecha/odysseus_chassis(src)
+/obj/item/mecha_parts/chassis/odysseus/New()
+ ..()
+ construct = new /datum/construction/mecha/odysseus_chassis(src)
/obj/item/mecha_parts/part/odysseus_head
name="Odysseus Head"
diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm
index 204fcfc67f2..d108311b99d 100644
--- a/code/game/mecha/mecha_wreckage.dm
+++ b/code/game/mecha/mecha_wreckage.dm
@@ -15,10 +15,10 @@
var/list/crowbar_salvage
var/salvage_num = 5
- New()
- ..()
- crowbar_salvage = new
- return
+/obj/effect/decal/mecha_wreckage/New()
+ ..()
+ crowbar_salvage = new
+ return
/obj/effect/decal/mecha_wreckage/ex_act(severity)
if(severity < 2)
@@ -86,20 +86,20 @@
name = "Gygax wreckage"
icon_state = "gygax-broken"
- New()
- ..()
- var/list/parts = list(/obj/item/mecha_parts/part/gygax_torso,
- /obj/item/mecha_parts/part/gygax_head,
- /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)
- for(var/i=0;i<2;i++)
- if(!isemptylist(parts) && prob(40))
- var/part = pick(parts)
- welder_salvage += part
- parts -= part
- return
+/obj/effect/decal/mecha_wreckage/gygax/New()
+ ..()
+ var/list/parts = list(/obj/item/mecha_parts/part/gygax_torso,
+ /obj/item/mecha_parts/part/gygax_head,
+ /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)
+ for(var/i=0;i<2;i++)
+ if(!isemptylist(parts) && prob(40))
+ var/part = pick(parts)
+ welder_salvage += part
+ parts -= part
+ return
/obj/effect/decal/mecha_wreckage/gygax/dark
name = "Dark Gygax wreckage"
@@ -126,38 +126,38 @@
name = "Ripley wreckage"
icon_state = "ripley-broken"
- New()
- ..()
- var/list/parts = list(/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)
- for(var/i=0;i<2;i++)
- if(!isemptylist(parts) && prob(40))
- var/part = pick(parts)
- welder_salvage += part
- parts -= part
- return
+/obj/effect/decal/mecha_wreckage/ripley/New()
+ ..()
+ var/list/parts = list(/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)
+ for(var/i=0;i<2;i++)
+ if(!isemptylist(parts) && prob(40))
+ var/part = pick(parts)
+ welder_salvage += part
+ parts -= part
+ return
/obj/effect/decal/mecha_wreckage/ripley/firefighter
name = "Firefighter wreckage"
icon_state = "firefighter-broken"
- New()
- ..()
- var/list/parts = list(/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/clothing/suit/fire)
- for(var/i=0;i<2;i++)
- if(!isemptylist(parts) && prob(40))
- var/part = pick(parts)
- welder_salvage += part
- parts -= part
- return
+/obj/effect/decal/mecha_wreckage/ripley/firefighter/New()
+ ..()
+ var/list/parts = list(/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/clothing/suit/fire)
+ for(var/i=0;i<2;i++)
+ if(!isemptylist(parts) && prob(40))
+ var/part = pick(parts)
+ welder_salvage += part
+ parts -= part
+ return
/obj/effect/decal/mecha_wreckage/ripley/deathripley
name = "Death-Ripley wreckage"
@@ -167,42 +167,42 @@
name = "Honker wreckage"
icon_state = "honker-broken"
- New()
- ..()
- var/list/parts = list(
- /obj/item/mecha_parts/chassis/honker,
- /obj/item/mecha_parts/part/honker_torso,
- /obj/item/mecha_parts/part/honker_head,
- /obj/item/mecha_parts/part/honker_left_arm,
- /obj/item/mecha_parts/part/honker_right_arm,
- /obj/item/mecha_parts/part/honker_left_leg,
- /obj/item/mecha_parts/part/honker_right_leg)
- for(var/i=0;i<2;i++)
- if(!isemptylist(parts) && prob(40))
- var/part = pick(parts)
- welder_salvage += part
- parts -= part
- return
+/obj/effect/decal/mecha_wreckage/honker/New()
+ ..()
+ var/list/parts = list(
+ /obj/item/mecha_parts/chassis/honker,
+ /obj/item/mecha_parts/part/honker_torso,
+ /obj/item/mecha_parts/part/honker_head,
+ /obj/item/mecha_parts/part/honker_left_arm,
+ /obj/item/mecha_parts/part/honker_right_arm,
+ /obj/item/mecha_parts/part/honker_left_leg,
+ /obj/item/mecha_parts/part/honker_right_leg)
+ for(var/i=0;i<2;i++)
+ if(!isemptylist(parts) && prob(40))
+ var/part = pick(parts)
+ welder_salvage += part
+ parts -= part
+ return
/obj/effect/decal/mecha_wreckage/durand
name = "Durand wreckage"
icon_state = "durand-broken"
- New()
- ..()
- var/list/parts = list(
- /obj/item/mecha_parts/part/durand_torso,
- /obj/item/mecha_parts/part/durand_head,
- /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)
- for(var/i=0;i<2;i++)
- if(!isemptylist(parts) && prob(40))
- var/part = pick(parts)
- welder_salvage += part
- parts -= part
- return
+/obj/effect/decal/mecha_wreckage/durand/New()
+ ..()
+ var/list/parts = list(
+ /obj/item/mecha_parts/part/durand_torso,
+ /obj/item/mecha_parts/part/durand_head,
+ /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)
+ for(var/i=0;i<2;i++)
+ if(!isemptylist(parts) && prob(40))
+ var/part = pick(parts)
+ welder_salvage += part
+ parts -= part
+ return
/obj/effect/decal/mecha_wreckage/durand/old
@@ -218,18 +218,18 @@
name = "Odysseus wreckage"
icon_state = "odysseus-broken"
- New()
- ..()
- var/list/parts = list(
- /obj/item/mecha_parts/part/odysseus_torso,
- /obj/item/mecha_parts/part/odysseus_head,
- /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)
- for(var/i=0;i<2;i++)
- if(!isemptylist(parts) && prob(40))
- var/part = pick(parts)
- welder_salvage += part
- parts -= part
- return
+/obj/effect/decal/mecha_wreckage/odysseus/New()
+ ..()
+ var/list/parts = list(
+ /obj/item/mecha_parts/part/odysseus_torso,
+ /obj/item/mecha_parts/part/odysseus_head,
+ /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)
+ for(var/i=0;i<2;i++)
+ if(!isemptylist(parts) && prob(40))
+ var/part = pick(parts)
+ welder_salvage += part
+ parts -= part
+ return
diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm
index 333c05fdd5d..d0fcb0f99be 100644
--- a/code/game/mecha/medical/odysseus.dm
+++ b/code/game/mecha/medical/odysseus.dm
@@ -42,5 +42,4 @@
A.remove_hud_from(H)
builtin_hud_user = 0
- . = ..()
-
+ . = ..()
\ No newline at end of file
diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm
index d29bf2ae460..407c9cd63dc 100644
--- a/code/game/mecha/working/ripley.dm
+++ b/code/game/mecha/working/ripley.dm
@@ -180,4 +180,13 @@
else
step_in = 5
for(var/obj/item/mecha_parts/mecha_equipment/drill/drill in equipment)
- drill.equip_cooldown = initial(drill.equip_cooldown)
\ No newline at end of file
+ drill.equip_cooldown = initial(drill.equip_cooldown)
+
+/obj/mecha/working/ripley/emag_act(mob/user)
+ if(!emagged)
+ emagged = TRUE
+ to_chat(user, "You slide the card through [src]'s ID slot. ")
+ playsound(loc, "sparks", 100, 1)
+ desc += "The mech's equipment slots spark dangerously! "
+ else
+ to_chat(user, "[src]'s ID slot rejects the card. ")
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index 90e40052e23..41d2c256c2b 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -18,11 +18,11 @@
var/new_frequency = sanitize_frequency(rand(PUBLIC_LOW_FREQ, PUBLIC_HIGH_FREQ))
aSignal.set_frequency(new_frequency)
- poi_list |= src
+ GLOB.poi_list |= src
/obj/effect/anomaly/Destroy()
QDEL_NULL(aSignal)
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
return ..()
/obj/effect/anomaly/proc/anomalyEffect()
diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm
index f9ac4e6ae36..aef1999ff69 100644
--- a/code/game/objects/effects/decals/Cleanable/misc.dm
+++ b/code/game/objects/effects/decals/Cleanable/misc.dm
@@ -1,197 +1,203 @@
-/obj/effect/decal/cleanable/generic
- name = "clutter"
- desc = "Someone should clean that up."
- gender = PLURAL
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/obj/objects.dmi'
- icon_state = "shards"
-
-/obj/effect/decal/cleanable/ash
- name = "ashes"
- desc = "Ashes to ashes, dust to dust, and into space."
- gender = PLURAL
- icon = 'icons/obj/objects.dmi'
- icon_state = "ash"
- anchored = TRUE
-
-/obj/effect/decal/cleanable/ash/Initialize()
- . = ..()
- reagents.add_reagent("ash", 10)
-
-/obj/effect/decal/cleanable/dirt
- name = "dirt"
- desc = "Someone should clean that up."
- gender = PLURAL
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/effects/effects.dmi'
- icon_state = "dirt"
- mouse_opacity = MOUSE_OPACITY_TRANSPARENT
-
-/obj/effect/decal/cleanable/dirt/blackpowder
- name = "black powder"
- mouse_opacity = MOUSE_OPACITY_ICON
- noscoop = TRUE
-
-/obj/effect/decal/cleanable/dirt/blackpowder/Initialize()
- . = ..()
- reagents.add_reagent("blackpowder", 40) // size 2 explosion when activated
-
-/obj/effect/decal/cleanable/flour
- name = "flour"
- desc = "It's still good. Four second rule!"
- gender = PLURAL
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/effects/effects.dmi'
- icon_state = "flour"
-
-/obj/effect/decal/cleanable/flour/foam
- name = "Fire fighting foam"
- desc = "It's foam."
- color = "#EBEBEB"
-
-/obj/effect/decal/cleanable/flour/foam/Initialize()
- . = ..()
- QDEL_IN(src, 15 SECONDS)
-
-/obj/effect/decal/cleanable/greenglow
- name = "glowing goo"
- desc = "Jeez. I hope that's not for lunch."
- gender = PLURAL
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- light_range = 1
- icon = 'icons/effects/effects.dmi'
- icon_state = "greenglow"
-
-/obj/effect/decal/cleanable/greenglow/Initialize(mapload)
- . = ..()
- QDEL_IN(src, 2 MINUTES)
-
-/obj/effect/decal/cleanable/cobweb
- name = "cobweb"
- desc = "Somebody should remove that."
- density = FALSE
- anchored = TRUE
- layer = OBJ_LAYER
- icon = 'icons/effects/effects.dmi'
- icon_state = "cobweb1"
- burntime = 1
-
-/obj/effect/decal/cleanable/cobweb/fire_act()
- qdel(src)
-
-/obj/effect/decal/cleanable/molten_object
- name = "gooey grey mass"
- desc = "It looks like a melted... something."
- density = FALSE
- anchored = TRUE
- layer = OBJ_LAYER
- gender = NEUTER
- icon = 'icons/effects/effects.dmi'
- icon_state = "molten"
-
-/obj/effect/decal/cleanable/molten_object/large
- name = "big gooey grey mass"
- icon_state = "big_molten"
-
-/obj/effect/decal/cleanable/cobweb2
- name = "cobweb"
- desc = "Somebody should remove that."
- density = FALSE
- anchored = TRUE
- layer = OBJ_LAYER
- icon = 'icons/effects/effects.dmi'
- icon_state = "cobweb2"
-
-/obj/effect/decal/cleanable/vomit
- name = "vomit"
- desc = "Gosh, how unpleasant."
- gender = PLURAL
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/effects/blood.dmi'
- icon_state = "vomit_1"
- random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4")
- noclear = TRUE
-
-/obj/effect/decal/cleanable/vomit/Initialize()
- . = ..()
- reagents.add_reagent("vomit", 5)
-
-/obj/effect/decal/cleanable/vomit/green
- name = "green vomit"
- desc = "It's all gummy. Ew."
- icon_state = "gvomit_1"
- random_icon_states = list("gvomit_1", "gvomit_2", "gvomit_3", "gvomit_4")
-
-/obj/effect/decal/cleanable/vomit/green/Initialize()
- . = ..()
- reagents.remove_reagent("vomit", 5)
- reagents.add_reagent("green_vomit", 5)
-
-/obj/effect/decal/cleanable/tomato_smudge
- name = "tomato smudge"
- desc = "It's red."
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/effects/tomatodecal.dmi'
- random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3")
-
-/obj/effect/decal/cleanable/plant_smudge
- name = "plant smudge"
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- gender = NEUTER
- icon = 'icons/effects/tomatodecal.dmi'
- random_icon_states = list("smashed_plant")
-
-/obj/effect/decal/cleanable/egg_smudge
- name = "smashed egg"
- desc = "Seems like this one won't hatch."
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/effects/tomatodecal.dmi'
- random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3")
-
-/obj/effect/decal/cleanable/pie_smudge //honk
- name = "smashed pie"
- desc = "It's pie cream from a cream pie."
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/effects/tomatodecal.dmi'
- random_icon_states = list("smashed_pie")
-
-/obj/effect/decal/cleanable/fungus
- name = "space fungus"
- desc = "A fungal growth. Looks pretty nasty."
- density = FALSE
- anchored = TRUE
- layer = TURF_LAYER
- icon = 'icons/effects/effects.dmi'
- icon_state = "flour"
- color = "#D5820B"
-
-/obj/effect/decal/cleanable/fungus/Initialize()
- . = ..()
- reagents.add_reagent("fungus", 10)
-
-/obj/effect/decal/cleanable/confetti //PARTY TIME!
- name = "confetti"
- desc = "Party time!"
- gender = PLURAL
- icon = 'icons/obj/objects.dmi'
- icon_state = "confetti1"
- random_icon_states = list("confetti1", "confetti2", "confetti3")
- anchored = TRUE
+/obj/effect/decal/cleanable/generic
+ name = "clutter"
+ desc = "Someone should clean that up."
+ gender = PLURAL
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "shards"
+
+/obj/effect/decal/cleanable/ash
+ name = "ashes"
+ desc = "Ashes to ashes, dust to dust, and into space."
+ gender = PLURAL
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "ash"
+ anchored = TRUE
+
+/obj/effect/decal/cleanable/ash/Initialize()
+ . = ..()
+ reagents.add_reagent("ash", 10)
+
+/obj/effect/decal/cleanable/dirt
+ name = "dirt"
+ desc = "Someone should clean that up."
+ gender = PLURAL
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/effects/dirt.dmi'
+ icon_state = "dirt"
+ canSmoothWith = list(/obj/effect/decal/cleanable/dirt, /turf/simulated/wall, /obj/structure/falsewall)
+ smooth = SMOOTH_MORE
+ mouse_opacity = FALSE
+
+/obj/effect/decal/cleanable/dirt/Initialize()
+ ..()
+ icon_state = ""
+
+/obj/effect/decal/cleanable/dirt/blackpowder
+ name = "black powder"
+ mouse_opacity = TRUE
+ noscoop = TRUE
+
+/obj/effect/decal/cleanable/dirt/blackpowder/Initialize()
+ . = ..()
+ reagents.add_reagent("blackpowder", 40) // size 2 explosion when activated
+
+/obj/effect/decal/cleanable/flour
+ name = "flour"
+ desc = "It's still good. Four second rule!"
+ gender = PLURAL
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "flour"
+
+/obj/effect/decal/cleanable/flour/foam
+ name = "Fire fighting foam"
+ desc = "It's foam."
+ color = "#EBEBEB"
+
+/obj/effect/decal/cleanable/flour/foam/Initialize()
+ . = ..()
+ QDEL_IN(src, 15 SECONDS)
+
+/obj/effect/decal/cleanable/greenglow
+ name = "glowing goo"
+ desc = "Jeez. I hope that's not for lunch."
+ gender = PLURAL
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ light_range = 1
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "greenglow"
+
+/obj/effect/decal/cleanable/greenglow/Initialize(mapload)
+ . = ..()
+ QDEL_IN(src, 2 MINUTES)
+
+/obj/effect/decal/cleanable/cobweb
+ name = "cobweb"
+ desc = "Somebody should remove that."
+ density = FALSE
+ anchored = TRUE
+ layer = OBJ_LAYER
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "cobweb1"
+ burntime = 1
+
+/obj/effect/decal/cleanable/cobweb/fire_act()
+ qdel(src)
+
+/obj/effect/decal/cleanable/molten_object
+ name = "gooey grey mass"
+ desc = "It looks like a melted... something."
+ density = FALSE
+ anchored = TRUE
+ layer = OBJ_LAYER
+ gender = NEUTER
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "molten"
+
+/obj/effect/decal/cleanable/molten_object/large
+ name = "big gooey grey mass"
+ icon_state = "big_molten"
+
+/obj/effect/decal/cleanable/cobweb2
+ name = "cobweb"
+ desc = "Somebody should remove that."
+ density = FALSE
+ anchored = TRUE
+ layer = OBJ_LAYER
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "cobweb2"
+
+/obj/effect/decal/cleanable/vomit
+ name = "vomit"
+ desc = "Gosh, how unpleasant."
+ gender = PLURAL
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/effects/blood.dmi'
+ icon_state = "vomit_1"
+ random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4")
+ noclear = TRUE
+
+/obj/effect/decal/cleanable/vomit/Initialize()
+ . = ..()
+ reagents.add_reagent("vomit", 5)
+
+/obj/effect/decal/cleanable/vomit/green
+ name = "green vomit"
+ desc = "It's all gummy. Ew."
+ icon_state = "gvomit_1"
+ random_icon_states = list("gvomit_1", "gvomit_2", "gvomit_3", "gvomit_4")
+
+/obj/effect/decal/cleanable/vomit/green/Initialize()
+ . = ..()
+ reagents.remove_reagent("vomit", 5)
+ reagents.add_reagent("green_vomit", 5)
+
+/obj/effect/decal/cleanable/tomato_smudge
+ name = "tomato smudge"
+ desc = "It's red."
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/effects/tomatodecal.dmi'
+ random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3")
+
+/obj/effect/decal/cleanable/plant_smudge
+ name = "plant smudge"
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ gender = NEUTER
+ icon = 'icons/effects/tomatodecal.dmi'
+ random_icon_states = list("smashed_plant")
+
+/obj/effect/decal/cleanable/egg_smudge
+ name = "smashed egg"
+ desc = "Seems like this one won't hatch."
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/effects/tomatodecal.dmi'
+ random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3")
+
+/obj/effect/decal/cleanable/pie_smudge //honk
+ name = "smashed pie"
+ desc = "It's pie cream from a cream pie."
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/effects/tomatodecal.dmi'
+ random_icon_states = list("smashed_pie")
+
+/obj/effect/decal/cleanable/fungus
+ name = "space fungus"
+ desc = "A fungal growth. Looks pretty nasty."
+ density = FALSE
+ anchored = TRUE
+ layer = TURF_LAYER
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "flour"
+ color = "#D5820B"
+
+/obj/effect/decal/cleanable/fungus/Initialize()
+ . = ..()
+ reagents.add_reagent("fungus", 10)
+
+/obj/effect/decal/cleanable/confetti //PARTY TIME!
+ name = "confetti"
+ desc = "Party time!"
+ gender = PLURAL
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "confetti1"
+ random_icon_states = list("confetti1", "confetti2", "confetti3")
+ anchored = TRUE
diff --git a/code/game/objects/effects/decals/Cleanable/robots.dm b/code/game/objects/effects/decals/Cleanable/robots.dm
index 16a9bf5a711..1c8ad706dc8 100644
--- a/code/game/objects/effects/decals/Cleanable/robots.dm
+++ b/code/game/objects/effects/decals/Cleanable/robots.dm
@@ -29,9 +29,7 @@
var/obj/effect/decal/cleanable/blood/oil/streak = new(src.loc)
streak.update_icon()
else if(prob(10))
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, src)
- s.start()
+ do_sparks(3, 1, src)
if(step_to(src, get_step(src, direction), 0))
break
diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm
index 09b13845879..130a50cac89 100644
--- a/code/game/objects/effects/decals/cleanable.dm
+++ b/code/game/objects/effects/decals/cleanable.dm
@@ -11,8 +11,16 @@
if(random_icon_states && length(src.random_icon_states) > 0)
src.icon_state = pick(src.random_icon_states)
create_reagents(100)
+ if(smooth)
+ queue_smooth(src)
+ queue_smooth_neighbors(src)
..()
+/obj/effect/decal/cleanable/Destroy()
+ if(smooth)
+ queue_smooth_neighbors(src)
+ return ..()
+
/obj/effect/decal/cleanable/attackby(obj/item/W as obj, mob/user as mob,)
if(istype(W, /obj/item/reagent_containers/glass) || istype(W, /obj/item/reagent_containers/food/drinks))
if(src.reagents && W.reagents && !noscoop)
diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm
index b97b149991b..77a51b4d975 100644
--- a/code/game/objects/effects/decals/remains.dm
+++ b/code/game/objects/effects/decals/remains.dm
@@ -22,12 +22,6 @@
icon_state = "remainsrobot"
anchored = TRUE
-/obj/effect/decal/remains/robot/New()
- ..()
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, src)
- s.start()
-
/obj/effect/decal/remains/slime
name = "You shouldn't see this"
desc = "Noooooooooooooooooooooo"
diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm
index d71e7631565..1231c8136fa 100644
--- a/code/game/objects/effects/effect_system/effect_system.dm
+++ b/code/game/objects/effects/effect_system/effect_system.dm
@@ -8,8 +8,9 @@ would spawn and follow the beaker, even if it is carried or thrown.
/obj/effect/particle_effect
name = "particle effect"
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
- unacidable = 1//So effects are not targeted by alien acid.
+ unacidable = TRUE //So effects are not targeted by alien acid.
pass_flags = PASSTABLE | PASSGRILLE
+ anchored = TRUE
/obj/effect/particle_effect/New()
..()
@@ -28,6 +29,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
var/atom/holder
var/effect_type
var/total_effects = 0
+ var/autocleanup = FALSE //will delete itself after use
/datum/effect_system/Destroy()
holder = null
@@ -71,3 +73,5 @@ would spawn and follow the beaker, even if it is carried or thrown.
/datum/effect_system/proc/decrement_total_effect()
total_effects--
+ if(autocleanup && total_effects <= 0)
+ qdel(src)
\ No newline at end of file
diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm
index ef9ed8ac11a..194a37c860f 100644
--- a/code/game/objects/effects/effect_system/effects_other.dm
+++ b/code/game/objects/effects/effect_system/effects_other.dm
@@ -155,9 +155,7 @@
/datum/effect_system/reagents_explosion/start()
if(amount <= 2)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, location)
- s.start()
+ do_sparks(2, 1, location)
for(var/mob/M in viewers(5, location))
to_chat(M, "The solution violently explodes. ")
diff --git a/code/game/objects/effects/effect_system/effects_sparks.dm b/code/game/objects/effects/effect_system/effects_sparks.dm
index 77925b3170a..f59f44ca1db 100644
--- a/code/game/objects/effects/effect_system/effects_sparks.dm
+++ b/code/game/objects/effects/effect_system/effects_sparks.dm
@@ -5,15 +5,26 @@
// will always spawn at the items location.
/////////////////////////////////////////////
+/proc/do_sparks(n, c, source)
+ // n - number of sparks
+ // c - cardinals, bool, do the sparks only move in cardinal directions?
+ // source - source of the sparks.
+
+ var/datum/effect_system/spark_spread/sparks = new
+ sparks.set_up(n, c, source)
+ sparks.autocleanup = TRUE
+ sparks.start()
+
/obj/effect/particle_effect/sparks
name = "sparks"
desc = "it's a spark what do you need to know?"
icon_state = "sparks"
- anchored = 1
+ anchored = TRUE
var/hotspottemp = 1000
/obj/effect/particle_effect/sparks/New()
..()
+ flick("sparks", src) // replay the animation
playsound(loc, "sparks", 100, 1)
var/turf/T = loc
if(isturf(T))
diff --git a/code/game/objects/effects/gibs.dm b/code/game/objects/effects/gibs.dm
index 3cffb3f7eaf..9248134b0a7 100644
--- a/code/game/objects/effects/gibs.dm
+++ b/code/game/objects/effects/gibs.dm
@@ -16,40 +16,38 @@
var/list/gibamounts = list()
var/list/gibdirections = list() //of lists
- New(location, datum/dna/MobDNA)
- ..()
+/obj/effect/gibspawner/New(location, datum/dna/MobDNA)
+ ..()
- if(istype(loc,/turf)) //basically if a badmin spawns it
- Gib(loc, MobDNA)
+ if(istype(loc,/turf)) //basically if a badmin spawns it
+ Gib(loc, MobDNA)
- proc/Gib(atom/location, datum/dna/MobDNA = null)
- if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len)
- to_chat(world, "Gib list length mismatch! ")
- return
+/obj/effect/gibspawner/proc/Gib(atom/location, datum/dna/MobDNA = null)
+ if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len)
+ to_chat(world, "Gib list length mismatch! ")
+ return
- var/obj/effect/decal/cleanable/blood/gibs/gib = null
+ var/obj/effect/decal/cleanable/blood/gibs/gib = null
- if(sparks)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, location)
- s.start()
+ if(sparks)
+ do_sparks(2, 1, location)
- for(var/i = 1, i<= gibtypes.len, i++)
- if(gibamounts[i])
- for(var/j = 1, j<= gibamounts[i], j++)
- var/gibType = gibtypes[i]
- gib = new gibType(location)
+ for(var/i = 1, i<= gibtypes.len, i++)
+ if(gibamounts[i])
+ for(var/j = 1, j<= gibamounts[i], j++)
+ var/gibType = gibtypes[i]
+ gib = new gibType(location)
- gib.blood_DNA = list()
- if(MobDNA)
- gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.b_type
- else if(istype(src, /obj/effect/gibspawner/xeno))
- gib.blood_DNA["UNKNOWN DNA"] = "X*"
- else if(istype(src, /obj/effect/gibspawner/human)) // Probably a monkey
- gib.blood_DNA["Non-human DNA"] = "A+"
- var/list/directions = gibdirections[i]
- if(directions.len)
- gib.streak(directions)
+ gib.blood_DNA = list()
+ if(MobDNA)
+ gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.b_type
+ else if(istype(src, /obj/effect/gibspawner/xeno))
+ gib.blood_DNA["UNKNOWN DNA"] = "X*"
+ else if(istype(src, /obj/effect/gibspawner/human)) // Probably a monkey
+ gib.blood_DNA["Non-human DNA"] = "A+"
+ var/list/directions = gibdirections[i]
+ if(directions.len)
+ gib.streak(directions)
- qdel(src)
+ qdel(src)
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index 932a1786ae6..e164039a76d 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -88,11 +88,11 @@
emergencyresponseteamspawn += loc
qdel(src)
- landmarks_list += src
+ GLOB.landmarks_list += src
return 1
/obj/effect/landmark/Destroy()
- landmarks_list -= src
+ GLOB.landmarks_list -= src
..()
return QDEL_HINT_HARDDEL_NOW
@@ -259,13 +259,13 @@
var/datum/map_template/ruin/ruin_template
/obj/effect/landmark/ruin/New(loc, my_ruin_template)
- name = "ruin_[ruin_landmarks.len + 1]"
+ name = "ruin_[GLOB.ruin_landmarks.len + 1]"
..(loc)
ruin_template = my_ruin_template
- ruin_landmarks |= src
+ GLOB.ruin_landmarks |= src
/obj/effect/landmark/ruin/Destroy()
- ruin_landmarks -= src
+ GLOB.ruin_landmarks -= src
ruin_template = null
. = ..()
@@ -276,7 +276,8 @@
/obj/effect/landmark/damageturf/New()
..()
var/turf/simulated/T = get_turf(src)
- T.break_tile()
+ if(istype(T))
+ T.break_tile()
/obj/effect/landmark/burnturf
icon_state = "burned"
diff --git a/code/game/objects/effects/manifest.dm b/code/game/objects/effects/manifest.dm
index 939156725c4..9b4814237fe 100644
--- a/code/game/objects/effects/manifest.dm
+++ b/code/game/objects/effects/manifest.dm
@@ -11,7 +11,7 @@
/obj/effect/manifest/proc/manifest()
var/dat = "Crew Manifest : "
- for(var/mob/living/carbon/human/M in mob_list)
+ for(var/mob/living/carbon/human/M in GLOB.mob_list)
dat += text(" [] - [] ", M.name, M.get_assignment())
var/obj/item/paper/P = new /obj/item/paper( src.loc )
P.info = dat
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index 8323641c899..1b619faa41b 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -25,9 +25,7 @@
if(triggered)
return
visible_message("[victim] sets off [bicon(src)] [src]! ")
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, src)
- s.start()
+ do_sparks(3, 1, src)
mineEffect(victim)
triggered = 1
qdel(src)
diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm
index a048ca1ebff..793d7265c27 100644
--- a/code/game/objects/effects/portals.dm
+++ b/code/game/objects/effects/portals.dm
@@ -17,7 +17,7 @@
teleport(M)
/obj/effect/portal/New(loc, turf/target, creator=null, lifespan=300)
- portals += src
+ GLOB.portals += src
src.loc = loc
src.target = target
src.creator = creator
@@ -26,7 +26,7 @@
qdel(src)
/obj/effect/portal/Destroy()
- portals -= src
+ GLOB.portals -= src
if(istype(creator, /obj))
var/obj/O = creator
O.portal_destroyed(src)
@@ -57,9 +57,7 @@
/obj/effect/portal/proc/invalid_teleport()
visible_message("[src] flickers and fails due to bluespace interference! ")
- var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
- spark_system.set_up(5, 0, loc)
- spark_system.start()
+ do_sparks(5, 0, loc)
qdel(src)
diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm
index 5446ba348e6..b75df275659 100644
--- a/code/game/objects/effects/spawners/gibspawner.dm
+++ b/code/game/objects/effects/spawners/gibspawner.dm
@@ -1,36 +1,35 @@
-/obj/effect/gibspawner
- generic
- gibtypes = list(/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/core)
- gibamounts = list(2,2,1)
+/obj/effect/gibspawner/generic
+ gibtypes = list(/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/core)
+ gibamounts = list(2,2,1)
- New()
- gibdirections = list(list(WEST, NORTHWEST, SOUTHWEST, NORTH),list(EAST, NORTHEAST, SOUTHEAST, SOUTH), list())
- ..()
+/obj/effect/gibspawner/generic/New()
+ gibdirections = list(list(WEST, NORTHWEST, SOUTHWEST, NORTH),list(EAST, NORTHEAST, SOUTHEAST, SOUTH), list())
+ ..()
- human
- gibtypes = list(/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/down,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/core)
- gibamounts = list(1,1,1,1,1,1,1)
+/obj/effect/gibspawner/human
+ gibtypes = list(/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/down,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/core)
+ gibamounts = list(1,1,1,1,1,1,1)
- New()
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs, list())
- gibamounts[6] = pick(0,1,2)
- ..()
+/obj/effect/gibspawner/human/New()
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs, list())
+ gibamounts[6] = pick(0,1,2)
+ ..()
- xeno
- gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/xeno/up,/obj/effect/decal/cleanable/blood/gibs/xeno/down,/obj/effect/decal/cleanable/blood/gibs/xeno,/obj/effect/decal/cleanable/blood/gibs/xeno,/obj/effect/decal/cleanable/blood/gibs/xeno/body,/obj/effect/decal/cleanable/blood/gibs/xeno/limb,/obj/effect/decal/cleanable/blood/gibs/xeno/core)
- gibamounts = list(1,1,1,1,1,1,1)
+/obj/effect/gibspawner/xeno
+ gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/xeno/up,/obj/effect/decal/cleanable/blood/gibs/xeno/down,/obj/effect/decal/cleanable/blood/gibs/xeno,/obj/effect/decal/cleanable/blood/gibs/xeno,/obj/effect/decal/cleanable/blood/gibs/xeno/body,/obj/effect/decal/cleanable/blood/gibs/xeno/limb,/obj/effect/decal/cleanable/blood/gibs/xeno/core)
+ gibamounts = list(1,1,1,1,1,1,1)
- New()
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs, list())
- gibamounts[6] = pick(0,1,2)
- ..()
+/obj/effect/gibspawner/xeno/New()
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs, list())
+ gibamounts[6] = pick(0,1,2)
+ ..()
- robot
- sparks = 1
- gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/robot/up,/obj/effect/decal/cleanable/blood/gibs/robot/down,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot/limb)
- gibamounts = list(1,1,1,1,1,1)
+/obj/effect/gibspawner/robot
+ sparks = 1
+ gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/robot/up,/obj/effect/decal/cleanable/blood/gibs/robot/down,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/gibs/robot/limb)
+ gibamounts = list(1,1,1,1,1,1)
- New()
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs)
- gibamounts[6] = pick(0,1,2)
- ..()
\ No newline at end of file
+/obj/effect/gibspawner/robot/New()
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs)
+ gibamounts[6] = pick(0,1,2)
+ ..()
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 48ebad7ea5d..13583310630 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -43,7 +43,7 @@
var/sound/explosion_sound = sound(get_sfx("explosion"))
var/sound/global_boom = sound('sound/effects/explosionfar.ogg')
- for(var/P in player_list)
+ for(var/P in GLOB.player_list)
var/mob/M = P
// Double check for client
if(M && M.client)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 6957f70d2b2..9af8b04580a 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -341,6 +341,10 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
/obj/item/proc/on_found(mob/finder as mob)
return
+// called when the giver gives it to the receiver
+/obj/item/proc/on_give(mob/living/carbon/giver, mob/living/carbon/receiver)
+ 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
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index cf698f439f5..286bd315b61 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -17,15 +17,16 @@
name = "body bags"
desc = "This box contains body bags."
icon_state = "bodybags"
- New()
- ..()
- new /obj/item/bodybag(src)
- new /obj/item/bodybag(src)
- new /obj/item/bodybag(src)
- new /obj/item/bodybag(src)
- new /obj/item/bodybag(src)
- new /obj/item/bodybag(src)
- new /obj/item/bodybag(src)
+
+/obj/item/storage/box/bodybags/New()
+ ..()
+ new /obj/item/bodybag(src)
+ new /obj/item/bodybag(src)
+ new /obj/item/bodybag(src)
+ new /obj/item/bodybag(src)
+ new /obj/item/bodybag(src)
+ new /obj/item/bodybag(src)
+ new /obj/item/bodybag(src)
/obj/structure/closet/body_bag
@@ -40,47 +41,47 @@
density = 0
- attackby(W as obj, mob/user as mob, params)
- if(istype(W, /obj/item/pen))
- var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
- if(user.get_active_hand() != W)
- return
- if(!in_range(src, user) && src.loc != user)
- return
- t = sanitize(copytext(t,1,MAX_MESSAGE_LEN))
- if(t)
- src.name = "body bag - "
- src.name += t
- src.overlays += image(src.icon, "bodybag_label")
- else
- src.name = "body bag"
- //..() //Doesn't need to run the parent. Since when can fucking bodybags be welded shut? -Agouri
+/obj/structure/closet/body_bag/attackby(W as obj, mob/user as mob, params)
+ if(istype(W, /obj/item/pen))
+ var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
+ if(user.get_active_hand() != W)
return
- else if(istype(W, /obj/item/wirecutters))
- to_chat(user, "You cut the tag off the bodybag")
+ if(!in_range(src, user) && src.loc != user)
+ return
+ t = sanitize(copytext(t,1,MAX_MESSAGE_LEN))
+ if(t)
+ src.name = "body bag - "
+ src.name += t
+ src.overlays += image(src.icon, "bodybag_label")
+ else
src.name = "body bag"
- src.overlays.Cut()
- return
+ //..() //Doesn't need to run the parent. Since when can fucking bodybags be welded shut? -Agouri
+ return
+ else if(istype(W, /obj/item/wirecutters))
+ to_chat(user, "You cut the tag off the bodybag")
+ src.name = "body bag"
+ src.overlays.Cut()
+ return
- close()
- if(..())
- density = 0
- return 1
- return 0
+/obj/structure/closet/body_bag/close()
+ if(..())
+ density = 0
+ return 1
+ return 0
- MouseDrop(over_object, src_location, over_location)
- ..()
- if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src))))
- if(!ishuman(usr)) return
- if(opened) return 0
- if(contents.len) return 0
- visible_message("[usr] folds up the [src.name]")
- new item_path(get_turf(src))
- spawn(0)
- qdel(src)
- return
+/obj/structure/closet/body_bag/MouseDrop(over_object, src_location, over_location)
+ ..()
+ if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src))))
+ if(!ishuman(usr)) return
+ if(opened) return 0
+ if(contents.len) return 0
+ visible_message("[usr] folds up the [src.name]")
+ new item_path(get_turf(src))
+ spawn(0)
+ qdel(src)
+ return
/obj/structure/closet/body_bag/relaymove(mob/user as mob)
if(user.stat)
@@ -89,4 +90,4 @@
// Make it possible to escape from bodybags in morgues and crematoriums
if(loc && (isturf(loc) || istype(loc, /obj/structure/morgue) || istype(loc, /obj/structure/crematorium)))
if(!open())
- to_chat(user, "It won't budge! ")
\ No newline at end of file
+ to_chat(user, "It won't budge! ")
diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm
index b076b7be43c..0d19057ae4b 100644
--- a/code/game/objects/items/cardboard_cutouts.dm
+++ b/code/game/objects/items/cardboard_cutouts.dm
@@ -91,15 +91,15 @@
color = "#FFD7A7"
switch(new_appearance)
if("Assistant")
- name = "[pick(first_names_male)] [pick(last_names)]"
+ name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]"
desc = "A cardboard cutout of an assistant."
icon_state = "cutout_greytide"
if("Clown")
- name = pick(clown_names)
+ name = pick(GLOB.clown_names)
desc = "A cardboard cutout of a clown. You get the feeling that it should be in a corner."
icon_state = "cutout_clown"
if("Mime")
- name = pick(mime_names)
+ name = pick(GLOB.mime_names)
desc = "...(A cardboard cutout of a mime.)"
icon_state = "cutout_mime"
if("Traitor")
@@ -123,7 +123,7 @@
desc = "A cardboard cutout of a revolutionary."
icon_state = "cutout_viva"
if("Wizard")
- name = "[pick(wizard_first)], [pick(wizard_second)]"
+ name = "[pick(GLOB.wizard_first)], [pick(GLOB.wizard_second)]"
desc = "A cardboard cutout of a wizard."
icon_state = "cutout_wizard"
if("Shadowling")
@@ -145,7 +145,7 @@
// desc = "A cardboard cutout of an ash walker."
// icon_state = "cutout_free_antag"
if("Deathsquad Officer")
- name = pick(commando_names)
+ name = pick(GLOB.commando_names)
desc = "A cardboard cutout of a death commando."
icon_state = "cutout_deathsquad"
if("Ian")
diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm
index c3c8c1f3407..74d15c37da3 100644
--- a/code/game/objects/items/control_wand.dm
+++ b/code/game/objects/items/control_wand.dm
@@ -11,13 +11,17 @@
w_class = WEIGHT_CLASS_TINY
flags = NOBLUDGEON
var/mode = WAND_OPEN
- var/region_access = 1 //See access.dm
+ var/region_access = list()
+ var/additional_access = list()
var/obj/item/card/id/ID
/obj/item/door_remote/New()
..()
ID = new /obj/item/card/id
- ID.access = get_region_accesses(region_access)
+ for(var/region in region_access)
+ ID.access += get_region_accesses(region)
+ ID.access += additional_access
+ ID.access = uniquelist(ID.access) //remove duplicates
/obj/item/door_remote/Destroy()
QDEL_NULL(ID)
@@ -70,48 +74,49 @@
name = "omni door remote"
desc = "This control wand can access any door on the station."
icon_state = "gangtool-yellow"
- region_access = REGION_ALL
+ region_access = list(REGION_ALL)
/obj/item/door_remote/captain
name = "command door remote"
icon_state = "gangtool-yellow"
- region_access = REGION_COMMAND
+ region_access = list(REGION_COMMAND)
/obj/item/door_remote/chief_engineer
name = "engineering door remote"
icon_state = "gangtool-orange"
- region_access = REGION_ENGINEERING
+ region_access = list(REGION_ENGINEERING)
/obj/item/door_remote/research_director
name = "research door remote"
icon_state = "gangtool-purple"
- region_access = REGION_RESEARCH
+ region_access = list(REGION_RESEARCH)
/obj/item/door_remote/head_of_security
name = "security door remote"
icon_state = "gangtool-red"
- region_access = REGION_SECURITY
+ region_access = list(REGION_SECURITY)
/obj/item/door_remote/quartermaster
name = "supply door remote"
icon_state = "gangtool-green"
- region_access = REGION_SUPPLY
+ region_access = list(REGION_SUPPLY)
/obj/item/door_remote/chief_medical_officer
name = "medical door remote"
icon_state = "gangtool-blue"
- region_access = REGION_MEDBAY
+ region_access = list(REGION_MEDBAY)
/obj/item/door_remote/civillian
name = "civillian door remote"
icon_state = "gangtool-white"
- region_access = REGION_GENERAL
+ region_access = list(REGION_GENERAL, REGION_SUPPLY)
+ additional_access = list(access_hop)
/obj/item/door_remote/centcomm
name = "centcomm door remote"
desc = "High-ranking NT officials only."
icon_state = "gangtool-blue"
- region_access = REGION_CENTCOMM
+ region_access = list(REGION_CENTCOMM)
#undef WAND_OPEN
#undef WAND_BOLT
diff --git a/code/game/objects/items/devices/autopsy.dm b/code/game/objects/items/devices/autopsy.dm
index f5aa02d6eb4..65afc0f64ef 100644
--- a/code/game/objects/items/devices/autopsy.dm
+++ b/code/game/objects/items/devices/autopsy.dm
@@ -27,7 +27,6 @@
/datum/autopsy_data
var/weapon = null
- var/pretend_weapon = null
var/damage = 0
var/hits = 0
var/time_inflicted = 0
@@ -35,44 +34,35 @@
/datum/autopsy_data/proc/copy()
var/datum/autopsy_data/W = new()
W.weapon = weapon
- W.pretend_weapon = pretend_weapon
W.damage = damage
W.hits = hits
W.time_inflicted = time_inflicted
return W
-/obj/item/autopsy_scanner/proc/add_data(obj/item/organ/external/O)
- if(!O.autopsy_data.len && !O.trace_chemicals.len)
- return
+/obj/item/autopsy_scanner/proc/add_data(obj/item/organ/O)
+ if(O.autopsy_data.len)
+ for(var/V in O.autopsy_data)
+ var/datum/autopsy_data/W = O.autopsy_data[V]
- for(var/V in O.autopsy_data)
- var/datum/autopsy_data/W = O.autopsy_data[V]
+ var/datum/autopsy_data_scanner/D = wdata[V]
+ if(!D)
+ D = new()
+ D.weapon = W.weapon
+ wdata[V] = D
- if(!W.pretend_weapon)
- if(1)
- W.pretend_weapon = W.weapon
- else
- W.pretend_weapon = pick("mechanical toolbox", "wirecutters", "revolver", "crowbar", "fire extinguisher", "tomato soup", "oxygen tank", "emergency oxygen tank", "laser", "bullet")
+ if(!D.organs_scanned[O.name])
+ if(D.organ_names == "")
+ D.organ_names = O.name
+ else
+ D.organ_names += ", [O.name]"
+ qdel(D.organs_scanned[O.name])
+ D.organs_scanned[O.name] = W.copy()
- var/datum/autopsy_data_scanner/D = wdata[V]
- if(!D)
- D = new()
- D.weapon = W.weapon
- wdata[V] = D
-
- if(!D.organs_scanned[O.name])
- if(D.organ_names == "")
- D.organ_names = O.name
- else
- D.organ_names += ", [O.name]"
-
- qdel(D.organs_scanned[O.name])
- D.organs_scanned[O.name] = W.copy()
-
- for(var/V in O.trace_chemicals)
- if(O.trace_chemicals[V] > 0 && !chemtraces.Find(V))
- chemtraces += V
+ if(O.trace_chemicals.len)
+ for(var/V in O.trace_chemicals)
+ if(O.trace_chemicals[V] > 0 && !chemtraces.Find(V))
+ chemtraces += V
/obj/item/autopsy_scanner/attackby(obj/item/P, mob/user)
if(istype(P, /obj/item/pen))
@@ -90,71 +80,55 @@
user.put_in_hands(R)
/obj/item/autopsy_scanner/attack_self(mob/user)
- if(!wdata.len && !chemtraces.len)
- return
-
var/scan_data = ""
if(timeofdeath)
scan_data += "Time of death: [station_time_timestamp("hh:mm:ss", timeofdeath)] "
+ else
+ scan_data += "Time of death: Unknown / Still alive "
- var/n = 1
- for(var/wdata_idx in wdata)
- var/datum/autopsy_data_scanner/D = wdata[wdata_idx]
- var/total_hits = 0
- var/total_score = 0
- var/list/weapon_chances = list() // maps weapon names to a score
- var/age = 0
+ if(wdata.len)
+ var/n = 1
+ for(var/wdata_idx in wdata)
+ var/datum/autopsy_data_scanner/D = wdata[wdata_idx]
+ var/total_hits = 0
+ var/total_score = 0
+ var/age = 0
- for(var/wound_idx in D.organs_scanned)
- var/datum/autopsy_data/W = D.organs_scanned[wound_idx]
- total_hits += W.hits
-
- var/wname = W.pretend_weapon
-
- if(wname in weapon_chances)
- weapon_chances[wname] += W.damage
- else
- weapon_chances[wname] = max(W.damage, 1)
- total_score+=W.damage
+ for(var/wound_idx in D.organs_scanned)
+ var/datum/autopsy_data/W = D.organs_scanned[wound_idx]
+ total_hits += W.hits
+ total_score+=W.damage
- var/wound_age = W.time_inflicted
- age = max(age, wound_age)
+ var/wound_age = W.time_inflicted
+ age = max(age, wound_age)
- var/damage_desc
+ var/damage_desc
+ // total score happens to be the total damage
+ switch(total_score)
+ if(1 to 5)
+ damage_desc = "negligible "
+ if(5 to 15)
+ damage_desc = "light "
+ if(15 to 30)
+ damage_desc = "moderate "
+ if(30 to 1000)
+ damage_desc = "severe "
+ else
+ damage_desc = "Unknown"
- var/damaging_weapon = (total_score != 0)
+ var/damaging_weapon = (total_score != 0)
+ scan_data += "Weapon #[n] "
+ if(damaging_weapon)
+ scan_data += "Severity: [damage_desc] "
+ scan_data += "Hits by weapon: [total_hits] "
+ scan_data += "Approximate time of wound infliction: [station_time_timestamp("hh:mm", age)] "
+ scan_data += "Affected limbs: [D.organ_names] "
+ scan_data += "Weapon: [D.weapon] "
+ scan_data += " "
- // total score happens to be the total damage
- switch(total_score)
- if(0)
- damage_desc = "Unknown"
- if(1 to 5)
- damage_desc = "negligible "
- if(5 to 15)
- damage_desc = "light "
- if(15 to 30)
- damage_desc = "moderate "
- if(30 to 1000)
- damage_desc = "severe "
-
- if(!total_score)
- total_score = D.organs_scanned.len
-
- scan_data += "Weapon #[n] "
- if(damaging_weapon)
- scan_data += "Severity: [damage_desc] "
- scan_data += "Hits by weapon: [total_hits] "
- scan_data += "Approximate time of wound infliction: [station_time_timestamp("hh:mm", age)] "
- scan_data += "Affected limbs: [D.organ_names] "
- scan_data += "Possible weapons: "
- for(var/weapon_name in weapon_chances)
- scan_data += "\t[100*weapon_chances[weapon_name]/total_score]% [weapon_name] "
-
- scan_data += " "
-
- n++
+ n++
if(chemtraces.len)
scan_data += "Trace Chemicals: "
diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm
index b587c650c4c..7a25f4ece1b 100644
--- a/code/game/objects/items/devices/chameleonproj.dm
+++ b/code/game/objects/items/devices/chameleonproj.dm
@@ -67,10 +67,7 @@
/obj/item/chameleon/proc/disrupt(var/delete_dummy = 1)
if(active_dummy)
- var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
- spark_system.set_up(5, 0, src)
- spark_system.attach(src)
- spark_system.start()
+ do_sparks(5, 0, src)
eject_all()
if(delete_dummy)
qdel(active_dummy)
diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm
index 175ca0886ad..43515ed5241 100644
--- a/code/game/objects/items/devices/megaphone.dm
+++ b/code/game/objects/items/devices/megaphone.dm
@@ -35,7 +35,7 @@
return
if(H.mind)
span = H.mind.speech_span
- if((COMIC in H.mutations) || H.get_int_organ(/obj/item/organ/internal/cyberimp/brain/clown_voice))
+ if((COMIC in H.mutations) || H.get_int_organ(/obj/item/organ/internal/cyberimp/brain/clown_voice) || istype(H.get_item_by_slot(slot_wear_mask), /obj/item/clothing/mask/gas/voice/clown))
span = "sans"
if(spamcheck)
to_chat(user, "\The [src] needs to recharge! ")
@@ -47,6 +47,7 @@
message = sanitize(copytext(message, 1, MAX_MESSAGE_LEN))
if(!message)
return
+ message = user.handle_speech_problems(message)[1]
message = capitalize(message)
if((loc == user && !user.incapacitated()))
if(emagged)
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index e99c3ca73ff..0d0475df8ee 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -27,7 +27,7 @@
/obj/item/powersink/Destroy()
processing_objects.Remove(src)
- processing_power_items.Remove(src)
+ GLOB.processing_power_items.Remove(src)
PN = null
attached = null
return ..()
@@ -54,7 +54,7 @@
else
if(mode == 2)
processing_objects.Remove(src) // Now the power sink actually stops draining the station's power if you unhook it. --NeoFite
- processing_power_items.Remove(src)
+ GLOB.processing_power_items.Remove(src)
anchored = 0
mode = 0
src.visible_message("[user] detaches [src] from the cable! ")
@@ -77,14 +77,14 @@
mode = 2
icon_state = "powersink1"
processing_objects.Add(src)
- processing_power_items.Add(src)
+ GLOB.processing_power_items.Add(src)
if(2) //This switch option wasn't originally included. It exists now. --NeoFite
src.visible_message("[user] deactivates [src]! ")
mode = 1
set_light(0)
icon_state = "powersink0"
processing_objects.Remove(src)
- processing_power_items.Remove(src)
+ GLOB.processing_power_items.Remove(src)
/obj/item/powersink/pwr_drain()
if(!attached)
diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm
index 19e26f06bf5..26b0e8c915e 100644
--- a/code/game/objects/items/devices/radio/beacon.dm
+++ b/code/game/objects/items/devices/radio/beacon.dm
@@ -11,11 +11,11 @@
/obj/item/radio/beacon/New()
..()
- code = "[code] ([beacons.len + 1])"
- beacons += src
+ code = "[code] ([GLOB.beacons.len + 1])"
+ GLOB.beacons += src
/obj/item/radio/beacon/Destroy()
- beacons -= src
+ GLOB.beacons -= src
return ..()
/obj/item/radio/beacon/emag_act(user as mob)
@@ -46,9 +46,10 @@
return
/obj/item/radio/beacon/bacon //Probably a better way of doing this, I'm lazy.
- proc/digest_delay()
+
+/obj/item/radio/beacon/bacon/proc/digest_delay()
spawn(600)
- qdel(src)
+ qdel(src)
// SINGULO BEACON SPAWNER
/obj/item/radio/beacon/syndicate
@@ -82,4 +83,4 @@
new /obj/machinery/syndicatebomb( user.loc )
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
qdel(src)
- return
\ No newline at end of file
+ return
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 9aa30053983..71fc397a2c4 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -87,9 +87,7 @@
if(M)
M.moved_recently = 0
to_chat(M, "You feel a sharp shock! ")
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, M)
- s.start()
+ do_sparks(3, 1, M)
M.Weaken(5)
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index c26469dcc6d..fb5e41ec663 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -7,33 +7,44 @@
item_state = ""
w_class = WEIGHT_CLASS_TINY
origin_tech = "engineering=2;bluespace=1"
- var/translate_binary = 0
- var/translate_hive = 0
- var/syndie = 0
+ var/translate_binary = FALSE
+ var/translate_hive = FALSE
+ var/syndie = FALSE
var/list/channels = list()
-/obj/item/encryptionkey/New()
-
/obj/item/encryptionkey/attackby(obj/item/W as obj, mob/user as mob, params)
/obj/item/encryptionkey/syndicate
icon_state = "cypherkey"
channels = list("Syndicate" = 1)
origin_tech = "syndicate=1;engineering=3;bluespace=2"
- syndie = 1 //Signifies that it de-crypts Syndicate transmissions
+ syndie = TRUE //Signifies that it de-crypts Syndicate transmissions
+ var/change_voice = TRUE
+ var/fake_name = "Agent ALERT_A_CODER"
+ var/static/list/fakename_list
+
+/obj/item/encryptionkey/syndicate/Initialize()
+ if(!LAZYLEN(fakename_list))
+ fakename_list = GLOB.html_colors.Copy()
+ . = ..()
+ if(change_voice)
+ fake_name = "Agent [pick_n_take(fakename_list)]"
+
+/obj/item/encryptionkey/syndicate/nukeops
+ change_voice = FALSE
/obj/item/encryptionkey/syndteam
icon_state = "cypherkey"
channels = list("SyndTeam" = 1, "Syndicate" = 1)
origin_tech = "syndicate=4"
- syndie = 1 //Signifies that it de-crypts Syndicate transmissions
+ syndie = TRUE //Signifies that it de-crypts Syndicate transmissions
/obj/item/encryptionkey/binary
name = "binary translator key"
desc = "An encryption key for a radio headset. To access the binary channel, use :b."
icon_state = "cypherkey"
- translate_binary = 1
+ translate_binary = TRUE
origin_tech = "syndicate=3;engineering=4;bluespace=3"
/obj/item/encryptionkey/headset_sec
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 51aa645a139..4bd3896c7a5 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -5,12 +5,12 @@
icon_state = "headset"
item_state = "headset"
materials = list(MAT_METAL=75)
- subspace_transmission = 1
+ subspace_transmission = TRUE
canhear_range = 0 // can't hear headsets from very far away
slot_flags = SLOT_EARS
- var/translate_binary = 0
- var/translate_hive = 0
+ var/translate_binary = FALSE
+ var/translate_hive = FALSE
var/obj/item/encryptionkey/keyslot1 = null
var/obj/item/encryptionkey/keyslot2 = null
@@ -26,10 +26,14 @@
if(ks1type)
keyslot1 = new ks1type(src)
+ if(keyslot1.syndie)
+ syndiekey = keyslot1
if(ks2type)
keyslot2 = new ks2type(src)
+ if(keyslot2.syndie)
+ syndiekey = keyslot2
- recalculateChannels(1)
+ recalculateChannels(TRUE)
/obj/item/radio/headset/Destroy()
QDEL_NULL(keyslot1)
@@ -49,11 +53,11 @@
/obj/item/radio/headset/handle_message_mode(mob/living/M as mob, message, channel)
if(channel == "special")
if(translate_binary)
- var/datum/language/binary = all_languages["Robot Talk"]
+ var/datum/language/binary = GLOB.all_languages["Robot Talk"]
binary.broadcast(M, message)
return RADIO_CONNECTION_NON_SUBSPACE
if(translate_hive)
- var/datum/language/hivemind = all_languages["Hivemind"]
+ var/datum/language/hivemind = GLOB.all_languages["Hivemind"]
hivemind.broadcast(M, message)
return RADIO_CONNECTION_NON_SUBSPACE
return RADIO_CONNECTION_FAIL
@@ -79,8 +83,7 @@
/obj/item/radio/headset/syndicate
origin_tech = "syndicate=3"
- syndie = 1
- ks1type = /obj/item/encryptionkey/syndicate
+ ks1type = /obj/item/encryptionkey/syndicate/nukeops
/obj/item/radio/headset/syndicate/alt //undisguised bowman with flash protection
name = "syndicate headset"
@@ -349,48 +352,48 @@
return
-/obj/item/radio/headset/proc/recalculateChannels(var/setDescription = 0)
- src.channels = list()
- src.translate_binary = 0
- src.translate_hive = 0
- src.syndie = 0
+/obj/item/radio/headset/proc/recalculateChannels(var/setDescription = FALSE)
+ channels = list()
+ translate_binary = FALSE
+ translate_hive = FALSE
+ syndiekey = null
if(keyslot1)
for(var/ch_name in keyslot1.channels)
- if(ch_name in src.channels)
+ if(ch_name in channels)
continue
- src.channels += ch_name
- src.channels[ch_name] = keyslot1.channels[ch_name]
+ channels += ch_name
+ channels[ch_name] = keyslot1.channels[ch_name]
if(keyslot1.translate_binary)
- src.translate_binary = 1
+ translate_binary = TRUE
if(keyslot1.translate_hive)
- src.translate_hive = 1
+ translate_hive = TRUE
if(keyslot1.syndie)
- src.syndie = 1
+ syndiekey = keyslot1
if(keyslot2)
for(var/ch_name in keyslot2.channels)
- if(ch_name in src.channels)
+ if(ch_name in channels)
continue
- src.channels += ch_name
- src.channels[ch_name] = keyslot2.channels[ch_name]
+ channels += ch_name
+ channels[ch_name] = keyslot2.channels[ch_name]
if(keyslot2.translate_binary)
- src.translate_binary = 1
+ translate_binary = TRUE
if(keyslot2.translate_hive)
- src.translate_hive = 1
+ translate_hive = TRUE
if(keyslot2.syndie)
- src.syndie = 1
+ syndiekey = keyslot2
for(var/ch_name in channels)
if(!radio_controller)
- src.name = "broken radio headset"
+ name = "broken radio headset"
return
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
@@ -414,5 +417,5 @@
/obj/item/radio/headset/proc/make_syndie() // Turns normal radios into Syndicate radios!
qdel(keyslot1)
keyslot1 = new /obj/item/encryptionkey/syndicate
- syndie = 1
+ syndiekey = keyslot1
recalculateChannels()
\ No newline at end of file
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 8128e1f44d4..97855409536 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -57,7 +57,7 @@
dir=ndir
b_stat=1
on = 0
- global_intercoms.Add(src)
+ GLOB.global_intercoms.Add(src)
update_icon()
/obj/item/radio/intercom/department/medbay/New()
@@ -75,8 +75,8 @@
name = "illicit intercom"
desc = "Talk through this. Evilly"
frequency = SYND_FREQ
- subspace_transmission = 1
- syndie = 1
+ subspace_transmission = TRUE
+ syndiekey = new /obj/item/encryptionkey/syndicate/nukeops
/obj/item/radio/intercom/syndicate/New()
..()
@@ -106,7 +106,7 @@
/obj/item/radio/intercom/Destroy()
processing_objects.Remove(src)
- global_intercoms.Remove(src)
+ GLOB.global_intercoms.Remove(src)
return ..()
/obj/item/radio/intercom/attack_ai(mob/user as mob)
@@ -129,7 +129,7 @@
if(isnull(position) || !(position.z in level))
return -1
if(freq in ANTAG_FREQS)
- if(!(src.syndie))
+ if(!(syndiekey))
return -1//Prevents broadcast of messages over devices lacking the encryption
return canhear_range
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 530156fbd99..6dae08febd3 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -36,7 +36,7 @@ var/global/list/default_medbay_channels = list(
var/listening = 1
var/list/channels = list() //see communications.dm for full list. First channes is a "default" for :h
var/subspace_transmission = 0
- var/syndie = 0//Holder to see if it's a syndicate encrpyed radio
+ var/obj/item/encryptionkey/syndicate/syndiekey = null //Holder for the syndicate encryption key if present
var/disable_timer = 0 //How many times this is disabled by EMPs
var/is_special = 0 //For electropacks mostly, skips Topic() checks
@@ -69,7 +69,7 @@ var/global/list/default_medbay_channels = list(
wires = new(src)
internal_channels = default_internal_channels.Copy()
- global_radios |= src
+ GLOB.global_radios |= src
/obj/item/radio/Destroy()
QDEL_NULL(wires)
@@ -78,7 +78,7 @@ var/global/list/default_medbay_channels = list(
for(var/ch_name in channels)
radio_controller.remove_object(src, radiochannels[ch_name])
radio_connection = null
- global_radios -= src
+ GLOB.global_radios -= src
follow_target = null
return ..()
@@ -131,7 +131,7 @@ var/global/list/default_medbay_channels = list(
data["chan_list"] = chanlist
data["chan_list_len"] = chanlist.len
- if(syndie)
+ if(syndiekey)
data["useSyndMode"] = 1
return data
@@ -250,7 +250,7 @@ var/global/list/default_medbay_channels = list(
A.role = role
A.message = message
var/jammed = FALSE
- for(var/obj/item/jammer/jammer in active_jammers)
+ for(var/obj/item/jammer/jammer in GLOB.active_jammers)
if(get_dist(get_turf(src), get_turf(jammer)) < jammer.range)
jammed = TRUE
break
@@ -342,7 +342,7 @@ var/global/list/default_medbay_channels = list(
var/turf/position = get_turf(src)
var/jammed = FALSE
- for(var/obj/item/jammer/jammer in active_jammers)
+ for(var/obj/item/jammer/jammer in GLOB.active_jammers)
if(get_dist(position, get_turf(jammer)) < jammer.range)
jammed = TRUE
break
@@ -395,8 +395,12 @@ var/global/list/default_medbay_channels = list(
if(ishuman(M) && M.GetVoice() != real_name)
displayname = M.GetVoice()
jobname = "Unknown"
- voicemask = 1
+ voicemask = TRUE
+ if(syndiekey && syndiekey.change_voice && connection.frequency == SYND_FREQ)
+ displayname = syndiekey.fake_name
+ jobname = "Unknown"
+ voicemask = TRUE
/* ###### Radio headsets can only broadcast through subspace ###### */
@@ -552,7 +556,7 @@ var/global/list/default_medbay_channels = list(
if(!position || !(position.z in level))
return -1
if(freq in ANTAG_FREQS)
- if(!(syndie))//Checks to see if it's allowed on that frequency, based on the encryption keys
+ if(!(syndiekey))//Checks to see if it's allowed on that frequency, based on the encryption keys
return -1
if(!freq) //recieved on main frequency
if(!listening)
@@ -652,7 +656,6 @@ var/global/list/default_medbay_channels = list(
subspace_transmission = 1
/obj/item/radio/borg/syndicate
- syndie = 1
keyslot = new /obj/item/encryptionkey/syndicate
/obj/item/radio/borg/syndicate/CanUseTopic(mob/user, datum/topic_state/state)
@@ -669,6 +672,7 @@ var/global/list/default_medbay_channels = list(
/obj/item/radio/borg/syndicate/New()
..()
+ syndiekey = keyslot
set_frequency(SYND_FREQ)
/obj/item/radio/borg/deathsquad
@@ -726,32 +730,32 @@ var/global/list/default_medbay_channels = list(
return
/obj/item/radio/borg/proc/recalculateChannels()
- src.channels = list()
- src.syndie = 0
+ channels = list()
+ syndiekey = null
- var/mob/living/silicon/robot/D = src.loc
+ var/mob/living/silicon/robot/D = loc
if(D.module)
for(var/ch_name in D.module.channels)
- if(ch_name in src.channels)
+ if(ch_name in channels)
continue
- src.channels += ch_name
- src.channels[ch_name] += D.module.channels[ch_name]
+ channels += ch_name
+ channels[ch_name] += D.module.channels[ch_name]
if(keyslot)
for(var/ch_name in keyslot.channels)
- if(ch_name in src.channels)
+ if(ch_name in channels)
continue
- src.channels += ch_name
- src.channels[ch_name] += keyslot.channels[ch_name]
+ channels += ch_name
+ channels[ch_name] += keyslot.channels[ch_name]
if(keyslot.syndie)
- src.syndie = 1
+ syndiekey = keyslot
- for(var/ch_name in src.channels)
+ for(var/ch_name in channels)
if(!radio_controller)
sleep(30) // Waiting for the radio_controller to be created.
if(!radio_controller)
- src.name = "broken radio"
+ name = "broken radio"
return
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
@@ -814,7 +818,7 @@ var/global/list/default_medbay_channels = list(
data["chan_list"] = chanlist
data["chan_list_len"] = chanlist.len
- if(syndie)
+ if(syndiekey)
data["useSyndMode"] = 1
data["has_loudspeaker"] = 1
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 98e217d25fa..aece125c657 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -228,7 +228,7 @@ REAGENT SCANNER
var/blood_percent = round((H.blood_volume / BLOOD_VOLUME_NORMAL)*100)
var/blood_type = H.b_type
if(blood_id != "blood")//special blood substance
- var/datum/reagent/R = chemical_reagents_list[blood_id]
+ var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id]
if(R)
blood_type = R.name
else
@@ -439,7 +439,8 @@ REAGENT SCANNER
icon_state = "spectrometer"
item_state = "analyzer"
w_class = WEIGHT_CLASS_SMALL
- flags = CONDUCT | OPENCONTAINER
+ flags = CONDUCT
+ container_type = OPENCONTAINER
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 71ef7b91bda..a738b6f03d4 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -158,13 +158,13 @@ effective or pretty fucking useless.
var/range = 12
/obj/item/jammer/Destroy()
- active_jammers -= src
+ GLOB.active_jammers -= src
return ..()
/obj/item/jammer/attack_self(mob/user)
to_chat(user,"You [active ? "deactivate" : "activate"] the [src]. ")
active = !active
if(active)
- active_jammers |= src
+ GLOB.active_jammers |= src
else
- active_jammers -= src
\ No newline at end of file
+ GLOB.active_jammers -= src
\ No newline at end of file
diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm
index ded05d6f795..e6e6fcfc8a0 100644
--- a/code/game/objects/items/random_items.dm
+++ b/code/game/objects/items/random_items.dm
@@ -50,10 +50,10 @@
/obj/item/reagent_containers/glass/bottle/random_reagent/New()
..()
- var/list/possible_chems = chemical_reagents_list.Copy()
- possible_chems -= blocked_chems.Copy()
+ var/list/possible_chems = GLOB.chemical_reagents_list.Copy()
+ possible_chems -= GLOB.blocked_chems.Copy()
var/datum/reagent/R = pick(possible_chems)
- if(rare_chemicals.Find(R))
+ if(GLOB.rare_chemicals.Find(R))
reagents.add_reagent(R, 10)
else
reagents.add_reagent(R, rand(2, 3)*10)
@@ -68,7 +68,7 @@
/obj/item/reagent_containers/glass/bottle/random_chem/New()
..()
var/R = get_random_reagent_id()
- if(rare_chemicals.Find(R))
+ if(GLOB.rare_chemicals.Find(R))
reagents.add_reagent(R, 10)
else
reagents.add_reagent(R, rand(2, 3)*10)
@@ -82,7 +82,7 @@
/obj/item/reagent_containers/glass/bottle/random_base_chem/New()
..()
- var/datum/reagent/R = pick(base_chemicals)
+ var/datum/reagent/R = pick(GLOB.base_chemicals)
reagents.add_reagent(R, rand(2, 6)*5)
name = "unlabelled bottle"
pixel_x = rand(-10, 10)
@@ -94,7 +94,7 @@
/obj/item/reagent_containers/food/drinks/bottle/random_drink/New()
..()
- var/list/possible_drinks = drinks.Copy()
+ var/list/possible_drinks = GLOB.drinks.Copy()
if(prob(50))
possible_drinks += list("pancuronium","lsd","omnizine","blood")
@@ -113,7 +113,7 @@
..()
var/R = get_random_reagent_id()
- if(rare_chemicals.Find(R))
+ if(GLOB.rare_chemicals.Find(R))
reagents.add_reagent(R, 10)
else
reagents.add_reagent(R, rand(3, 10)*10)
@@ -131,13 +131,13 @@
/obj/item/storage/pill_bottle/random_meds/New()
..()
for(var/i in 1 to storage_slots)
- var/list/possible_medicines = standard_medicines.Copy()
+ var/list/possible_medicines = GLOB.standard_medicines.Copy()
if(prob(50))
- possible_medicines += rare_medicines.Copy()
+ possible_medicines += GLOB.rare_medicines.Copy()
var/datum/reagent/R = pick(possible_medicines)
var/obj/item/reagent_containers/food/pill/P = new(src)
- if(rare_medicines.Find(R))
+ if(GLOB.rare_medicines.Find(R))
P.reagents.add_reagent(R, 10)
else
P.reagents.add_reagent(R, rand(2, 5)*10)
@@ -182,11 +182,11 @@
/obj/structure/closet/crate/secure/chemicals/New()
..()
- for(var/chem in standard_chemicals)
+ for(var/chem in GLOB.standard_chemicals)
var/obj/item/reagent_containers/glass/bottle/B = new(src)
B.reagents.add_reagent(chem, B.volume)
if(prob(85))
- var/datum/reagent/r = chemical_reagents_list[chem]
+ var/datum/reagent/r = GLOB.chemical_reagents_list[chem]
B.name = "[r.name] bottle"
// B.identify_probability = 100
else
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index 2e34c98e06b..65f504b4ae0 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -229,12 +229,12 @@
if(!M.brainmob.key)
var/ghost_can_reenter = 0
if(M.brainmob.mind)
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(G.can_reenter_corpse && G.mind == M.brainmob.mind)
ghost_can_reenter = 1
break
- for(var/mob/living/simple_animal/S in player_list)
- if(S in respawnable_list)
+ for(var/mob/living/simple_animal/S in GLOB.player_list)
+ if(S in GLOB.respawnable_list)
ghost_can_reenter = 1
break
if(!ghost_can_reenter)
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 2c0f3cb1e70..4bef1cbb324 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -90,13 +90,13 @@
return 0
if(!R.key)
- for(var/mob/dead/observer/ghost in player_list)
+ for(var/mob/dead/observer/ghost in GLOB.player_list)
if(ghost.mind && ghost.mind.current == R)
R.key = ghost.key
R.stat = CONSCIOUS
- dead_mob_list -= R //please never forget this ever kthx
- living_mob_list += R
+ GLOB.dead_mob_list -= R //please never forget this ever kthx
+ GLOB.living_mob_list += R
R.notify_ai(1)
return 1
diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index 2a4a5a3fab1..a91410c28fe 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -159,21 +159,21 @@
var/b2y1 = 0
var/b2y2 = 0
- New(var/obj/item/target/Target, var/pixel_x = 0, var/pixel_y = 0)
- if(!Target) return
+/datum/bullethole/New(obj/item/target/Target, pixel_x = 0, pixel_y = 0)
+ if(!Target) return
- // Randomize the first box
- b1x1 = pixel_x - pick(1,1,1,1,2,2,3,3,4)
- b1x2 = pixel_x + pick(1,1,1,1,2,2,3,3,4)
- b1y = pixel_y
- if(prob(35))
- b1y += rand(-4,4)
+ // Randomize the first box
+ b1x1 = pixel_x - pick(1,1,1,1,2,2,3,3,4)
+ b1x2 = pixel_x + pick(1,1,1,1,2,2,3,3,4)
+ b1y = pixel_y
+ if(prob(35))
+ b1y += rand(-4,4)
- // Randomize the second box
- b2x = pixel_x
- if(prob(35))
- b2x += rand(-4,4)
- b2y1 = pixel_y + pick(1,1,1,1,2,2,3,3,4)
- b2y2 = pixel_y - pick(1,1,1,1,2,2,3,3,4)
+ // Randomize the second box
+ b2x = pixel_x
+ if(prob(35))
+ b2x += rand(-4,4)
+ b2y1 = pixel_y + pick(1,1,1,1,2,2,3,3,4)
+ b2y2 = pixel_y - pick(1,1,1,1,2,2,3,3,4)
- Target.bulletholes.Add(src)
+ Target.bulletholes.Add(src)
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index f5d434a9811..41079dcb204 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -47,7 +47,6 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
if(WT.remove_fuel(0,user))
var/obj/item/stack/sheet/metal/new_item = new(user.loc)
- new_item.add_to_stacks(user)
if(new_item.get_amount() <= 0)
// stack was moved into another one on the pile
new_item = locate() in user.loc
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index ebc89cdca7a..5f9b7781f22 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -58,7 +58,6 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
var/obj/item/stack/rods/V = W
var/obj/item/stack/sheet/rglass/RG = new (user.loc)
RG.add_fingerprint(user)
- RG.add_to_stacks(user)
V.use(1)
var/obj/item/stack/sheet/glass/G = src
src = null
@@ -124,7 +123,6 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
var/obj/item/stack/rods/V = W
var/obj/item/stack/sheet/plasmarglass/RG = new (user.loc)
RG.add_fingerprint(user)
- RG.add_to_stacks(user)
V.use(1)
var/obj/item/stack/sheet/glass/G = src
src = null
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index de842402ba9..45bea3fedd8 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -19,7 +19,7 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
null, \
new/datum/stack_recipe("Assistant Statue", /obj/structure/statue/sandstone/assistant, 5, one_per_turf = 1, on_floor = 1), \
null, \
- new/datum/stack_recipe("Breakdown into sand", /obj/item/ore/glass, 1, one_per_turf = 0, on_floor = 1), \
+ new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = 0, on_floor = 1), \
)
var/global/list/datum/stack_recipe/silver_recipes = list ( \
@@ -166,7 +166,7 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
/obj/item/stack/sheet/mineral/plasma/attackby(obj/item/W, mob/user, params)
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
- message_admins("Plasma sheets ignited by [key_name_admin(user)](? ) (FLW ) in ([x],[y],[z] - JMP )",0,1)
+ message_admins("Plasma sheets ignited by [key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) in ([x],[y],[z] - JMP )",0,1)
log_game("Plasma sheets ignited by [key_name(user)] in ([x],[y],[z])")
investigate_log("was ignited by [key_name(user)]","atmos")
fire_act()
@@ -242,6 +242,7 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
var/global/list/datum/stack_recipe/titanium_recipes = list (
new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20),
+ new/datum/stack_recipe("surgical tray", /obj/structure/table/tray, 2, one_per_turf = 1, on_floor = 1),
)
/obj/item/stack/sheet/mineral/titanium/New(loc, amount=null)
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index b6b3021a08e..3c33d8f66a0 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -14,15 +14,34 @@
var/singular_name
var/amount = 1
var/to_transfer = 0
- var/max_amount //also see stack recipes initialisation, param "max_res_amount" must be equal to this max_amount
+ var/max_amount = 50 //also see stack recipes initialisation, param "max_res_amount" must be equal to this max_amount
var/merge_type = null // This path and its children should merge with this stack, defaults to src.type
-/obj/item/stack/New(var/loc, var/amt = null)
+/obj/item/stack/New(loc, new_amount, merge = TRUE)
..()
- if(amt != null) //Allow for stacks with the amount=0
- amount = amt
+ if(new_amount != null)
+ amount = new_amount
+ while(amount > max_amount)
+ amount -= max_amount
+ new type(loc, max_amount, FALSE)
if(!merge_type)
merge_type = type
+ if(merge && !(amount >= max_amount))
+ for(var/obj/item/stack/S in loc)
+ if(S.merge_type == merge_type)
+ merge(S)
+
+/obj/item/stack/Crossed(obj/O)
+ if(amount >= max_amount || ismob(loc)) // Prevents unnecessary call. Also prevents merging stack automatically in a mob's inventory
+ return
+ if(istype(O, merge_type) && !O.throwing)
+ merge(O)
+ ..()
+
+/obj/item/stack/hitby(atom/movable/AM, skipcatch, hitpush)
+ if(istype(AM, merge_type) && !(amount >= max_amount))
+ merge(AM)
+ ..()
/obj/item/stack/Destroy()
if(usr && usr.machine == src)
@@ -35,6 +54,11 @@
to_chat(user, "There are [amount] [singular_name]\s in the stack.")
else
to_chat(user, "There are [amount] [name]\s in the stack.")
+ to_chat(user,"Ctrl-Shift-click to take a custom amount. ")
+
+/obj/item/stack/proc/add(newamount)
+ amount += newamount
+ update_icon()
/obj/item/stack/attack_self(mob/user)
list_recipes(user)
@@ -141,7 +165,6 @@
var/datum/stack_recipe/R = recipes_list[text2num(href_list["make"])]
var/multiplier = text2num(href_list["multiplier"])
- var/atom/creation_loc = (loc == usr) ? usr.loc : loc
if(!multiplier)
multiplier = 1
@@ -156,11 +179,11 @@
to_chat(usr, "The [R.title] won't fit here! ")
return FALSE
- if(R.one_per_turf && (locate(R.result_type) in creation_loc))
+ if(R.one_per_turf && (locate(R.result_type) in usr.drop_location()))
to_chat(usr, "There is another [R.title] here! ")
return 0
- if(R.on_floor && !istype(creation_loc, /turf/simulated))
+ if(R.on_floor && !istype(usr.drop_location(), /turf/simulated))
to_chat(usr, "\The [R.title] must be constructed on the floor! ")
return 0
@@ -172,16 +195,16 @@
if(amount < R.req_amount * multiplier)
return
- var/atom/O = new R.result_type(creation_loc)
+ var/atom/O
+ if(R.max_res_amount > 1) //Is it a stack?
+ O = new R.result_type(usr.drop_location(), R.res_amount * multiplier)
+ else
+ O = new R.result_type(usr.drop_location())
O.setDir(usr.dir)
- if(R.max_res_amount > 1)
- var/obj/item/stack/new_item = O
- new_item.amount = R.res_amount * multiplier
- //new_item.add_to_stacks(usr)
+ use(R.req_amount * multiplier)
R.post_build(src, O)
- amount -= R.req_amount * multiplier
if(amount < 1) // Just in case a stack's amount ends up fractional somehow
var/oldsrc = src
src = null //dont kill proc after del()
@@ -202,37 +225,23 @@
interact(usr)
return
-/obj/item/stack/proc/use(used)
+/obj/item/stack/proc/use(used, check = TRUE)
+ if(check && zero_amount())
+ return FALSE
if(amount < used)
- return 0
+ return FALSE
amount -= used
- if(amount < 1) // Just in case a stack's amount ends up fractional somehow
+ if(amount < 1)
if(isrobot(loc))
- var/mob/living/silicon/robot/R = loc //Horrifying cyborg snowflake code that allows stacks to GC and cyborgs not to horrendously break
+ var/mob/living/silicon/robot/R = loc
if(locate(src) in R.module.modules)
R.module.modules -= src
- if(usr)
- usr.unEquip(src, TRUE) // this has to be unEquip() over drop_item() or something similar because of cyborgs
- qdel(src)
+ if(R)
+ R.unEquip(src, TRUE)
+ zero_amount()
update_icon()
return 1
-/obj/item/stack/proc/add_to_stacks(mob/usr)
- var/obj/item/stack/oldsrc = src
- src = null
- for(var/obj/item/stack/item in usr.loc)
- if(item == oldsrc)
- continue
- if(!istype(item, oldsrc.type))
- continue
- if(item.amount >= item.max_amount)
- continue
- oldsrc.attackby(item, usr)
- to_chat(usr, "You add new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s.")
- if(oldsrc.amount <= 0)
- break
- oldsrc.update_icon()
-
/obj/item/stack/proc/get_amount()
return amount
@@ -252,46 +261,69 @@
return F
/obj/item/stack/attack_hand(mob/user)
- if(user.is_in_inactive_hand(src))
- var/obj/item/stack/F = split(user, 1)
- user.put_in_hands(F)
+ if(user.is_in_inactive_hand(src) && amount > 1)
+ change_stack(user, 1)
if(src && usr.machine == src)
spawn(0)
interact(usr)
else
..()
+/obj/item/stack/CtrlShiftClick(mob/living/user)
+ if(!istype(user) || user.incapacitated())
+ to_chat(user, "You can't do that right now! ")
+ return
+ if(!in_range(src, user) || issilicon(usr))
+ return
+ if(amount < 1)
+ return
+ //get amount from user
+ var/min = 0
+ var/max = get_amount()
+ var/stackmaterial = round(input(user, "How many sheets do you wish to take out of this stack? (Maximum: [max])") as num)
+ if(stackmaterial == null || stackmaterial <= min || stackmaterial > get_amount())
+ return
+ change_stack(user,stackmaterial)
+ to_chat(user, "You take [stackmaterial] sheets out of the stack. ")
+
+/obj/item/stack/proc/change_stack(mob/user,amount)
+ var/obj/item/stack/F = new type(user, amount, FALSE)
+ . = F
+ F.copy_evidences(src)
+ user.put_in_hands(F)
+ add_fingerprint(user)
+ F.add_fingerprint(user)
+ use(amount)
+
/obj/item/stack/attackby(obj/item/W, mob/user, params)
- ..()
if(istype(W, merge_type))
var/obj/item/stack/S = W
- if(S.amount >= max_amount)
- return 1
-
- if(user.is_in_inactive_hand(src))
- var/desired = input("How much would you like to transfer from this stack?", "How much?", 1) as null|num
- if(!desired)
- return
- desired = round(desired)
- to_transfer = max(1,min(desired,S.max_amount-S.amount,src.amount))
- else
- to_transfer = min(src.amount, S.max_amount-S.amount)
-
- S.amount += to_transfer
- if(S && usr.machine == S)
- spawn(0)
- S.interact(usr)
- use(to_transfer)
- if(src && usr.machine == src)
- spawn(0)
- interact(usr)
- S.update_icon()
+ merge(S)
+ to_chat(user, "Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s. ")
else
return ..()
+/obj/item/stack/proc/zero_amount()
+ if(amount < 1)
+ qdel(src)
+ return TRUE
+ return FALSE
+
+/obj/item/stack/proc/merge(obj/item/stack/S) //Merge src into S, as much as possible
+ if(QDELETED(S) || QDELETED(src) || S == src) //amusingly this can cause a stack to consume itself, let's not allow that.
+ return FALSE
+ var/transfer = get_amount()
+ transfer = min(transfer, S.max_amount - S.amount)
+ if(transfer <= 0)
+ return
+ if(pulledby)
+ pulledby.start_pulling(S)
+ S.copy_evidences(src)
+ S.add(transfer)
+ use(transfer)
+
/obj/item/stack/proc/copy_evidences(obj/item/stack/from)
blood_DNA = from.blood_DNA
fingerprints = from.fingerprints
fingerprintshidden = from.fingerprintshidden
fingerprintslast = from.fingerprintslast
- //TODO bloody overlay
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index c1b88897bfd..e672ff14b10 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -250,9 +250,7 @@
/obj/item/toy/snappop/virus/throw_impact(atom/hit_atom)
..()
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, src)
- s.start()
+ do_sparks(3, 1, src)
new /obj/effect/decal/cleanable/ash(src.loc)
visible_message("The [name] explodes! ","You hear a bang! ")
playsound(src, 'sound/effects/snap.ogg', 50, 1)
@@ -270,9 +268,7 @@
var/ash_type = /obj/effect/decal/cleanable/ash
/obj/item/toy/snappop/proc/pop_burst(var/n=3, var/c=1)
- var/datum/effect_system/spark_spread/s = new()
- s.set_up(n, c, src)
- s.start()
+ do_sparks(n, c, src)
new ash_type(loc)
visible_message("[src] explodes! ",
"You hear a snap! ")
diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm
index 696c75eb0e1..a91cd3a01cb 100755
--- a/code/game/objects/items/weapons/AI_modules.dm
+++ b/code/game/objects/items/weapons/AI_modules.dm
@@ -43,7 +43,7 @@ AI MODULES
src.transmitInstructions(comp.current, usr)
to_chat(comp.current, "These are your laws now:")
comp.current.show_laws()
- for(var/mob/living/silicon/robot/R in mob_list)
+ for(var/mob/living/silicon/robot/R in GLOB.mob_list)
if(R.lawupdate && (R.connected_ai == comp.current))
to_chat(R, "These are your laws now:")
R.show_laws()
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 5cc7ee684af..d68922748d7 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -1,7 +1,34 @@
/*
CONTAINS:
-RCD
+RCD // no fucking shit sherlock
*/
+#define RCD_PAGE_MAIN 1
+#define RCD_PAGE_AIRLOCK 2
+
+#define RCD_MODE_TURF "Turf"
+#define RCD_MODE_AIRLOCK "Airlock"
+#define RCD_MODE_DECON "Deconstruct"
+#define RCD_MODE_WINDOW "Windows"
+
+GLOBAL_LIST_INIT(rcd_door_types, list(
+ /obj/machinery/door/airlock = "Standard", /obj/machinery/door/airlock/glass = "Standard (Glass)",
+ /obj/machinery/door/airlock/command = "Command", /obj/machinery/door/airlock/command/glass = "Command (Glass)",
+ /obj/machinery/door/airlock/security = "Security", /obj/machinery/door/airlock/security/glass = "Security (Glass)",
+ /obj/machinery/door/airlock/engineering = "Engineering", /obj/machinery/door/airlock/engineering/glass = "Engineering (Glass)",
+ /obj/machinery/door/airlock/medical = "Medical", /obj/machinery/door/airlock/medical/glass = "Medical (Glass)",
+ /obj/machinery/door/airlock/maintenance = "Maintenance", /obj/machinery/door/airlock/maintenance/glass = "Maintenance (Glass)",
+ /obj/machinery/door/airlock/external = "External", /obj/machinery/door/airlock/external/glass = "External (Glass)",
+ /obj/machinery/door/airlock/maintenance/external = "External Maintenance",
+ /obj/machinery/door/airlock/maintenance/external/glass = "External Maintenance (Glass)",
+ /obj/machinery/door/airlock/freezer = "Freezer",
+ /obj/machinery/door/airlock/mining = "Mining", /obj/machinery/door/airlock/mining/glass = "Mining (Glass)",
+ /obj/machinery/door/airlock/research = "Research", /obj/machinery/door/airlock/research/glass = "Research (Glass)",
+ /obj/machinery/door/airlock/atmos = "Atmospherics", /obj/machinery/door/airlock/atmos/glass = "Atmospherics (Glass)",
+ /obj/machinery/door/airlock/science = "Science", /obj/machinery/door/airlock/science/glass = "Science (Glass)",
+ /obj/machinery/door/airlock/hatch = "Airtight Hatch",
+ /obj/machinery/door/airlock/maintenance_hatch = "Maintenance Hatch"
+))
+
/obj/item/rcd
name = "rapid-construction-device (RCD)"
desc = "A device used to rapidly build and deconstruct walls, floors and airlocks."
@@ -21,76 +48,123 @@ RCD
toolspeed = 1
usesound = 'sound/items/Deconstruct.ogg'
flags_2 = NO_MAT_REDEMPTION_2
+ req_access = list(access_engine)
+
+ // Important shit
var/datum/effect_system/spark_spread/spark_system
- var/max_matter = 100
var/matter = 0
- var/working = 0
- var/mode = 1
+ var/max_matter = 100
+ var/mode = RCD_MODE_TURF
var/canRwall = 0
- var/menu = 1
+
+ // UI shit
+ var/menu = RCD_PAGE_MAIN
+ var/locked = TRUE
var/door_type = /obj/machinery/door/airlock
var/door_name = "Airlock"
- req_access = list(access_engine)
var/list/door_accesses = list()
var/list/door_accesses_list = list()
var/one_access
- var/locked = 1
- var/static/list/allowed_door_types = list(
- /obj/machinery/door/airlock = "Standard", /obj/machinery/door/airlock/glass = "Standard (Glass)",
- /obj/machinery/door/airlock/command = "Command", /obj/machinery/door/airlock/command/glass = "Command (Glass)",
- /obj/machinery/door/airlock/security = "Security", /obj/machinery/door/airlock/security/glass = "Security (Glass)",
- /obj/machinery/door/airlock/engineering = "Engineering", /obj/machinery/door/airlock/engineering/glass = "Engineering (Glass)",
- /obj/machinery/door/airlock/medical = "Medical", /obj/machinery/door/airlock/medical/glass = "Medical (Glass)",
- /obj/machinery/door/airlock/maintenance = "Maintenance", /obj/machinery/door/airlock/maintenance/glass = "Maintenance (Glass)",
- /obj/machinery/door/airlock/external = "External", /obj/machinery/door/airlock/external/glass = "External (Glass)",
- /obj/machinery/door/airlock/maintenance/external = "External Maintenance", /obj/machinery/door/airlock/maintenance/external/glass = "External Maintenance (Glass)",
- /obj/machinery/door/airlock/freezer = "Freezer",
- /obj/machinery/door/airlock/mining = "Mining", /obj/machinery/door/airlock/mining/glass = "Mining (Glass)",
- /obj/machinery/door/airlock/research = "Research", /obj/machinery/door/airlock/research/glass = "Research (Glass)",
- /obj/machinery/door/airlock/atmos = "Atmospherics", /obj/machinery/door/airlock/atmos/glass = "Atmospherics (Glass)",
- /obj/machinery/door/airlock/science = "Science", /obj/machinery/door/airlock/science/glass = "Science (Glass)",
- /obj/machinery/door/airlock/hatch = "Airtight Hatch",
- /obj/machinery/door/airlock/maintenance_hatch = "Maintenance Hatch")
-/obj/item/rcd/New()
- desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
+ // Stupid shit
+ var/static/allowed_targets = list(/turf, /obj/structure/grille, /obj/structure/window, /obj/structure/lattice, /obj/machinery/door/airlock)
+
+/obj/item/rcd/Initialize()
+ . = ..()
spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
- rcd_list += src
+ GLOB.rcd_list += src
+
door_accesses_list = list()
for(var/access in get_all_accesses())
door_accesses_list[++door_accesses_list.len] = list("name" = get_access_desc(access), "id" = access, "enabled" = (access in door_accesses))
- return
+
+/obj/item/rcd/examine(mob/user)
+ . = ..()
+ to_chat(user, "MATTER: [matter]/[max_matter] matter-units.")
+ to_chat(user, "MODE: [mode].")
/obj/item/rcd/Destroy()
QDEL_NULL(spark_system)
- rcd_list -= src
+ GLOB.rcd_list -= src
return ..()
+/obj/item/rcd/proc/get_airlock_image(airlock_type)
+ var/obj/machinery/door/airlock/proto = airlock_type
+ var/ic = initial(proto.icon)
+ var/mutable_appearance/MA = mutable_appearance(ic, "closed")
+ if(!initial(proto.glass))
+ MA.overlays += "fill_closed"
+ // Not scaling these down to button size because they look horrible then, instead just bumping up radius.
+ return MA
+
+/obj/item/rcd/proc/check_menu(mob/living/user)
+ if(!istype(user))
+ return FALSE
+ if(user.incapacitated() || !user.Adjacent(src))
+ return FALSE
+ return TRUE
+
/obj/item/rcd/attackby(obj/item/W, mob/user, params)
..()
+
if(istype(W, /obj/item/rcd_ammo))
var/obj/item/rcd_ammo/R = W
if((matter + R.ammoamt) > max_matter)
to_chat(user, "The RCD can't hold any more matter-units. ")
return
matter += R.ammoamt
- user.drop_item()
- qdel(W)
+ if(!user.unEquip(R))
+ to_chat(user, "[R] is stuck to your hand! ")
+ return
+ qdel(R)
playsound(loc, 'sound/machines/click.ogg', 50, 1)
to_chat(user, "The RCD now holds [matter]/[max_matter] matter-units. ")
- desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
SSnanoui.update_uis(src)
+
+/obj/item/rcd/proc/radial_menu(mob/user)
+ if(!check_menu(user))
return
+ var/list/choices = list(
+ RCD_MODE_AIRLOCK = image(icon = 'icons/obj/interface.dmi', icon_state = "airlock"),
+ RCD_MODE_DECON = image(icon = 'icons/obj/interface.dmi', icon_state = "delete"),
+ RCD_MODE_WINDOW = image(icon = 'icons/obj/interface.dmi', icon_state = "grillewindow"),
+ RCD_MODE_TURF = image(icon = 'icons/obj/interface.dmi', icon_state = "wallfloor"),
+ "UI" = image(icon = 'icons/obj/interface.dmi', icon_state = "ui_interact")
+ )
+ if(mode == RCD_MODE_AIRLOCK)
+ choices += list(
+ "Change Access" = image(icon = 'icons/obj/interface.dmi', icon_state = "access"),
+ "Change Airlock Type" = image(icon = 'icons/obj/interface.dmi', icon_state = "airlocktype")
+ )
+ choices -= mode // Get rid of the current mode, clicking it won't do anything.
+ var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user))
+ if(!check_menu(user))
+ return
+ switch(choice)
+ if(RCD_MODE_AIRLOCK, RCD_MODE_DECON, RCD_MODE_WINDOW, RCD_MODE_TURF)
+ mode = choice
+ if("UI")
+ menu = RCD_PAGE_MAIN
+ ui_interact(user)
+ return
+ if("Change Access", "Change Airlock Type")
+ menu = RCD_PAGE_AIRLOCK
+ ui_interact(user)
+ return
+ else
+ return
+ playsound(src, 'sound/effects/pop.ogg', 50, 0)
+ to_chat(user, "You change [src]'s mode to '[choice]'. ")
/obj/item/rcd/attack_self(mob/user)
- //Change the mode
- ui_interact(user)
+ //Change the mode // Oh I thought the UI was just for fucking staring at
+ radial_menu(user)
/obj/item/rcd/attack_self_tk(mob/user)
- ui_interact(user)
+ radial_menu(user)
/obj/item/rcd/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = inventory_state)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open)
@@ -110,10 +184,10 @@ RCD
data["one_access"] = one_access
data["locked"] = locked
- if(menu == 2)
+ if(menu == RCD_PAGE_AIRLOCK)
var/list/door_types_list = list()
- for(var/type in allowed_door_types)
- door_types_list[++door_types_list.len] = list("name" = allowed_door_types[type], "type" = type)
+ for(var/type in GLOB.rcd_door_types)
+ door_types_list[++door_types_list.len] = list("name" = GLOB.rcd_door_types[type], "type" = type)
data["allowed_door_types"] = door_types_list
data["door_accesses"] = door_accesses_list
@@ -128,13 +202,13 @@ RCD
spark_system.start()
if(href_list["mode"])
- mode = text2num(href_list["mode"])
+ mode = href_list["mode"]
. = 1
if(href_list["door_type"])
var/new_door_type = text2path(href_list["door_type"])
- if(!(new_door_type in allowed_door_types))
- message_admins("RCD HREF exploit attempted by [key_name(usr, usr.client)]!")
+ if(!(new_door_type in GLOB.rcd_door_types))
+ message_admins("RCD Door HREF exploit attempted by [key_name(usr)]!")
return
door_type = new_door_type
. = 1
@@ -144,234 +218,229 @@ RCD
. = 1
if(href_list["login"])
- if(istype(usr,/mob/living/silicon))
- locked = 0
- else
- var/obj/item/I = usr.get_active_hand()
- if(istype(I, /obj/item/pda))
- var/obj/item/pda/pda = I
- I = pda.id
- var/obj/item/card/id/ID = I
- if(istype(ID) && ID && check_access(ID))
- locked = 0
+ if(allowed(usr))
+ locked = FALSE
. = 1
if(href_list["logout"])
- locked = 1
+ locked = TRUE
. = 1
- if(href_list["toggle_one_access"] && !locked)
- one_access = !one_access
- . = 1
+ if(!locked)
+ if(href_list["toggle_one_access"])
+ one_access = !one_access
+ . = 1
- if(href_list["toggle_access"] && !locked)
- var/href_access = text2num(href_list["toggle_access"])
- if(href_access in door_accesses)
- door_accesses -= href_access
- else
- door_accesses += href_access
- door_accesses_list = list()
- for(var/access in get_all_accesses())
- door_accesses_list[++door_accesses_list.len] = list("name" = get_access_desc(access), "id" = access, "enabled" = (access in door_accesses))
- . = 1
+ if(href_list["toggle_access"])
+ var/href_access = text2num(href_list["toggle_access"])
+ if(href_access in door_accesses)
+ door_accesses -= href_access
+ else
+ door_accesses += href_access
+ door_accesses_list = list()
+ for(var/access in get_all_accesses())
+ door_accesses_list[++door_accesses_list.len] = list("name" = get_access_desc(access), "id" = access, "enabled" = (access in door_accesses))
+ . = 1
- if(href_list["choice"] && !locked)
- var/temp_t = sanitize(copytext(input("Enter a custom Airlock Name.","Airlock Name"),1,MAX_MESSAGE_LEN))
- if(temp_t)
- door_name = temp_t
+ if(href_list["choice"])
+ var/temp_t = sanitize(copytext(input("Enter a custom Airlock Name.", "Airlock Name"), 1, MAX_MESSAGE_LEN))
+ if(temp_t)
+ door_name = temp_t
-/obj/item/rcd/proc/activate()
- playsound(loc, usesound, 50, 1)
+/obj/item/rcd/proc/mode_turf(atom/A, mob/user)
+ if(isspaceturf(A) || istype(A, /obj/structure/lattice))
+ if(useResource(1, user))
+ to_chat(user, "Building Floor...")
+ playsound(loc, usesound, 50, 1)
+ var/turf/AT = get_turf(A)
+ AT.ChangeTurf(/turf/simulated/floor/plating)
+ return TRUE
+ return FALSE
+ if(isfloorturf(A))
+ if(checkResource(3, user))
+ to_chat(user, "Building Wall...")
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ if(do_after(user, 20 * toolspeed, target = A))
+ if(!useResource(3, user))
+ return FALSE
+ playsound(loc, usesound, 50, 1)
+ var/turf/AT = A
+ AT.ChangeTurf(/turf/simulated/wall)
+ return TRUE
+ return FALSE
+ return FALSE
+
+/obj/item/rcd/proc/mode_airlock(atom/A, mob/user)
+ if(isfloorturf(A) && checkResource(10, user))
+ to_chat(user, "Building Airlock...")
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ if(do_after(user, 50 * toolspeed, target = A))
+ if(locate(/obj/machinery/door/airlock) in A.contents)
+ return FALSE
+ if(!useResource(10, user))
+ return FALSE
+ playsound(loc, usesound, 50, 1)
+ var/obj/machinery/door/airlock/T = new door_type(A)
+ T.name = door_name
+ T.autoclose = TRUE
+ if(one_access)
+ T.req_one_access = door_accesses.Copy()
+ else
+ T.req_access = door_accesses.Copy()
+ return FALSE
+ return FALSE
+
+/obj/item/rcd/proc/mode_decon(atom/A, mob/user)
+ if(iswallturf(A))
+ if(istype(A, /turf/simulated/wall/r_wall) && !canRwall)
+ return FALSE
+ if(checkResource(5, user))
+ to_chat(user, "Deconstructing Wall...")
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ if(do_after(user, 40 * toolspeed, target = A))
+ if(!useResource(5, user))
+ return FALSE
+ playsound(loc, usesound, 50, 1)
+ var/turf/AT = A
+ AT.ChangeTurf(/turf/simulated/floor/plating)
+ return TRUE
+ return FALSE
+
+ if(isfloorturf(A))
+ if(checkResource(5, user))
+ to_chat(user, "Deconstructing Floor...")
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ if(do_after(user, 50 * toolspeed, target = A))
+ if(!useResource(5, user))
+ return FALSE
+ playsound(loc, usesound, 50, 1)
+ var/turf/AT = A
+ AT.ChangeTurf(/turf/space)
+ return TRUE
+ return FALSE
+
+ if(istype(A, /obj/machinery/door/airlock))
+ if(checkResource(20, user))
+ to_chat(user, "Deconstructing Airlock...")
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ if(do_after(user, 50 * toolspeed, target = A))
+ if(!useResource(20, user))
+ return FALSE
+ playsound(loc, usesound, 50, 1)
+ qdel(A)
+ return TRUE
+ return FALSE
+
+ if(istype(A, /obj/structure/window)) // You mean the grille of course, do you?
+ A = locate(/obj/structure/grille) in A.loc
+ if(istype(A, /obj/structure/grille))
+ if(!checkResource(2, user))
+ return 0
+ to_chat(user, "Deconstructing window...")
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ if(!do_after(user, 20 * toolspeed, target = A))
+ return 0
+ if(!useResource(2, user))
+ return 0
+ playsound(loc, usesound, 50, 1)
+ var/turf/T1 = get_turf(A)
+ QDEL_NULL(A)
+ for(var/obj/structure/window/W in T1.contents)
+ qdel(W)
+ for(var/cdir in cardinal)
+ var/turf/T2 = get_step(T1, cdir)
+ if(locate(/obj/structure/window/full/shuttle) in T2)
+ continue // Shuttle windows? Nah. We don't need extra windows there.
+ if(!(locate(/obj/structure/grille) in T2))
+ continue
+ for(var/obj/structure/window/W in T2)
+ if(W.dir == turn(cdir, 180))
+ qdel(W)
+ var/obj/structure/window/reinforced/W = new(T2)
+ W.dir = turn(cdir, 180)
+ return TRUE
+ return FALSE
+
+/obj/item/rcd/proc/mode_window(atom/A, mob/user)
+ if(isfloorturf(A))
+ if(locate(/obj/structure/grille) in A)
+ return 0 // We already have window
+ if(!checkResource(2, user))
+ return 0
+ to_chat(user, "Constructing window...")
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ if(!do_after(user, 20 * toolspeed, target = A))
+ return 0
+ if(locate(/obj/structure/grille) in A)
+ return 0 // We already have window
+ if(!useResource(2, user))
+ return 0
+ playsound(loc, usesound, 50, 1)
+ new /obj/structure/grille(A)
+ for(var/obj/structure/window/W in A)
+ qdel(W)
+ for(var/cdir in cardinal)
+ var/turf/T = get_step(A, cdir)
+ if(locate(/obj/structure/grille) in T)
+ for(var/obj/structure/window/W in T)
+ if(W.dir == turn(cdir, 180))
+ qdel(W)
+ else // Build a window!
+ var/obj/structure/window/reinforced/W = new(A)
+ W.dir = cdir
+ var/turf/AT = A
+ AT.ChangeTurf(/turf/simulated/floor/plating) // Platings go under windows.
+ return 1
/obj/item/rcd/afterattack(atom/A, mob/user, proximity)
- if(!proximity) return
- if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))
- return 0
- if(!(istype(A, /turf) || istype(A, /obj/machinery/door/airlock) || istype(A, /obj/structure/grille) || istype(A, /obj/structure/window) || istype(A, /obj/structure/lattice)))
- return 0
+ if(!proximity)
+ return FALSE
+ if(istype(A, /turf/space/transit))
+ return FALSE
+ if(!is_type_in_list(A, allowed_targets))
+ return FALSE
switch(mode)
- if(1)
- if(istype(A, /turf/space) || istype(A, /obj/structure/lattice))
- if(useResource(1, user))
- to_chat(user, "Building Floor...")
- activate()
- var/turf/AT = get_turf(A)
- AT.ChangeTurf(/turf/simulated/floor/plating)
- return 1
- return 0
-
- if(istype(A, /turf/simulated/floor))
- if(checkResource(3, user))
- to_chat(user, "Building Wall ...")
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 20 * toolspeed, target = A))
- if(!useResource(3, user))
- return 0
- activate()
- var/turf/AT = A
- AT.ChangeTurf(/turf/simulated/wall)
- return 1
- return 0
-
- if(2)
- if(istype(A, /turf/simulated/floor))
- if(checkResource(10, user))
- to_chat(user, "Building Airlock...")
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 50 * toolspeed, target = A))
- for(var/obj/machinery/door/airlock/D in A.contents)
- return 0
- if(!useResource(10, user))
- return 0
- activate()
- var/obj/machinery/door/airlock/T = new door_type(A)
- T.name = door_name
- T.autoclose = 1
- if(one_access)
- T.req_one_access = door_accesses.Copy()
- else
- T.req_access = door_accesses.Copy()
- return 1
- return 0
- return 0
-
- if(3)
- if(istype(A, /turf/simulated/wall))
- if(istype(A, /turf/simulated/wall/r_wall) && !canRwall)
- return 0
- if(checkResource(5, user))
- to_chat(user, "Deconstructing Wall...")
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 40 * toolspeed, target = A))
- if(!useResource(5, user))
- return 0
- activate()
- var/turf/AT = A
- AT.ChangeTurf(/turf/simulated/floor/plating)
- return 1
- return 0
-
- if(istype(A, /turf/simulated/floor))
- if(checkResource(5, user))
- to_chat(user, "Deconstructing Floor...")
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 50 * toolspeed, target = A))
- if(!useResource(5, user))
- return 0
- activate()
- var/turf/AT = A
- AT.ChangeTurf(/turf/space)
- return 1
- return 0
-
- if(istype(A, /obj/machinery/door/airlock))
- if(checkResource(20, user))
- to_chat(user, "Deconstructing Airlock...")
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 50 * toolspeed, target = A))
- if(!useResource(20, user))
- return 0
- activate()
- qdel(A)
- return 1
- return 0
-
- if(istype(A, /obj/structure/window)) // You mean the grille of course, do you?
- A = locate(/obj/structure/grille) in A.loc
-
- if(istype(A, /obj/structure/grille))
- if(!checkResource(2, user))
- return 0
- to_chat(user, "Deconstructing window...")
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- if(!do_after(user, 20 * toolspeed, target = A))
- return 0
- if(locate(/obj/structure/window/full/shuttle) in A.contents)
- return 0 // Let's not give shuttle-griefers an easy time.
- if(!useResource(2, user))
- return 0
- activate()
- var/turf/T1 = get_turf(A)
- QDEL_NULL(A)
- for(var/obj/structure/window/W in T1.contents)
- qdel(W)
- for(var/cdir in cardinal)
- var/turf/T2 = get_step(T1, cdir)
- if(locate(/obj/structure/window/full/shuttle) in T2.contents)
- continue // Shuttle windows? Nah. We don't need extra windows there.
- if(!(locate(/obj/structure/grille) in T2.contents))
- continue
- for(var/obj/structure/window/W in T2.contents)
- if(W.dir == turn(cdir, 180))
- qdel(W)
- var/obj/structure/window/reinforced/W = new(T2)
- W.dir = turn(cdir, 180)
- return 1
- return 0
- if(4)
- if(istype(A, /turf/simulated/floor))
- if(locate(/obj/structure/grille) in contents)
- return 0 // We already have window
- if(!checkResource(2, user))
- return 0
- to_chat(user, "Constructing window...")
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- if(!do_after(user, 20 * toolspeed, target = A))
- return 0
- if(locate(/obj/structure/grille) in A.contents)
- return 0 // We already have window
- if(!useResource(2, user))
- return 0
- activate()
- new /obj/structure/grille(A)
- for(var/obj/structure/window/W in contents)
- qdel(W)
- for(var/cdir in cardinal)
- var/turf/T = get_step(A, cdir)
- if(locate(/obj/structure/grille) in T.contents)
- for(var/obj/structure/window/W in T.contents)
- if(W.dir == turn(cdir, 180))
- qdel(W)
- else // Build a window!
- var/obj/structure/window/reinforced/W = new(A)
- W.dir = cdir
- var/turf/AT = A
- AT.ChangeTurf(/turf/simulated/floor/plating) // Platings go under windows.
- return 1
+ if(RCD_MODE_TURF)
+ . = mode_turf(A, user)
+ if(RCD_MODE_AIRLOCK)
+ . = mode_airlock(A, user)
+ if(RCD_MODE_DECON)
+ . = mode_decon(A, user)
+ if(RCD_MODE_WINDOW)
+ . = mode_window(A, user)
else
to_chat(user, "ERROR: RCD in MODE: [mode] attempted use by [user]. Send this text #coderbus or an admin.")
- return 0
+ . = 0
SSnanoui.update_uis(src)
-/obj/item/rcd/proc/useResource(var/amount, var/mob/user)
+/obj/item/rcd/proc/useResource(amount, mob/user)
if(matter < amount)
return 0
matter -= amount
- desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
SSnanoui.update_uis(src)
return 1
-/obj/item/rcd/proc/checkResource(var/amount, var/mob/user)
+/obj/item/rcd/proc/checkResource(amount, mob/user)
return matter >= amount
-/obj/item/rcd/borg/useResource(var/amount, var/mob/user)
+
+/obj/item/rcd/borg/useResource(amount, mob/user)
if(!isrobot(user))
return 0
- return user:cell:use(amount * 160)
+ var/mob/living/silicon/robot/R = user
+ return R.cell.use(amount * 160)
-/obj/item/rcd/borg/checkResource(var/amount, var/mob/user)
+/obj/item/rcd/borg/checkResource(amount, mob/user)
if(!isrobot(user))
return 0
- return user:cell:charge >= (amount * 160)
+ var/mob/living/silicon/robot/R = user
+ return R.cell.charge >= (amount * 160)
-/obj/item/rcd/borg/New()
- ..()
- desc = "A device used to rapidly build and deconstruct walls, floors and airlocks."
+/obj/item/rcd/borg
canRwall = 1
-
/obj/item/rcd/proc/detonate_pulse()
audible_message("[src] begins to vibrate and \
buzz loudly! ","[src] begins \
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index daaa5c3e4c4..38051dde621 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -774,9 +774,9 @@
// Decals
/obj/item/id_decal
name = "identification card decal"
- desc = "A modification kit to make your ID cards look snazzy.."
- icon = 'icons/obj/device.dmi'
- icon_state = "batterer"
+ desc = "A nano-cellophane wrap that molds to an ID card to make it look snazzy."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "id_decal"
var/decal_name = "identification card"
var/decal_desc = "A card used to provide ID and determine access across the station."
var/decal_icon_state = "id"
@@ -784,30 +784,40 @@
var/override_name = 0
/obj/item/id_decal/gold
- name = "gold ID card card decal"
+ name = "gold ID card decal"
+ icon_state = "id_decal_gold"
+ desc = "Make your ID look like the Captain's or a self-centered HOP's. Applies to any ID."
decal_desc = "A golden card which shows power and might."
decal_icon_state = "gold"
decal_item_state = "gold_id"
/obj/item/id_decal/silver
name = "silver ID card decal"
+ icon_state = "id_decal_silver"
+ desc = "Make your ID look like HOP's because they wouldn't change it officially. Applies to any ID."
decal_desc = "A silver card which shows honour and dedication."
decal_icon_state = "silver"
decal_item_state = "silver_id"
/obj/item/id_decal/prisoner
name = "prisoner ID card decal"
+ icon_state = "id_decal_prisoner"
+ desc = "All the cool kids have an ID that's this color. Applies to any ID."
decal_desc = "You are a number, you are not a free man."
decal_icon_state = "prisoner"
decal_item_state = "orange-id"
/obj/item/id_decal/centcom
name = "centcom ID card decal"
+ icon_state = "id_decal_centcom"
+ desc = "All the prestige without the responsibility or the access. Applies to any ID."
decal_desc = "An ID straight from Cent. Com."
decal_icon_state = "centcom"
/obj/item/id_decal/emag
name = "cryptographic sequencer ID card decal"
+ icon_state = "id_decal_emag"
+ desc = "A bundle of wires that you can tape to your ID to look very suspect. Applies to any ID."
decal_name = "cryptographic sequencer"
decal_desc = "It's a card with a magnetic strip attached to some circuitry."
decal_icon_state = "emag"
diff --git a/code/game/objects/items/weapons/caution.dm b/code/game/objects/items/weapons/caution.dm
index 264753dc695..a4599a2e79f 100644
--- a/code/game/objects/items/weapons/caution.dm
+++ b/code/game/objects/items/weapons/caution.dm
@@ -10,53 +10,52 @@
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("warned", "cautioned", "smashed")
- proximity_sign
- var/timing = 0
- var/armed = 0
- var/timepassed = 0
+/obj/item/caution/proximity_sign
+ var/timing = 0
+ var/armed = 0
+ var/timepassed = 0
- attack_self(mob/user as mob)
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- if(H.mind.assigned_role != "Janitor")
- return
- if(armed)
- armed = 0
- to_chat(user, "You disarm \the [src]. ")
- return
- timing = !timing
- if(timing)
- processing_objects.Add(src)
- else
- armed = 0
- timepassed = 0
- to_chat(H, "You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."] ")
+/obj/item/caution/proximity_sign/attack_self(mob/user as mob)
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if(H.mind.assigned_role != "Janitor")
+ return
+ if(armed)
+ armed = 0
+ to_chat(user, "You disarm \the [src]. ")
+ return
+ timing = !timing
+ if(timing)
+ processing_objects.Add(src)
+ else
+ armed = 0
+ timepassed = 0
+ to_chat(H, "You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."] ")
- process()
- if(!timing)
- processing_objects.Remove(src)
- timepassed++
- if(timepassed >= 15 && !armed)
- armed = 1
- timing = 0
+/obj/item/caution/proximity_sign/process()
+ if(!timing)
+ processing_objects.Remove(src)
+ timepassed++
+ if(timepassed >= 15 && !armed)
+ armed = 1
+ timing = 0
- HasProximity(atom/movable/AM as mob|obj)
- if(armed)
- if(istype(AM, /mob/living/carbon) && !istype(AM, /mob/living/carbon/brain))
- var/mob/living/carbon/C = AM
- if(C.m_intent != MOVE_INTENT_WALK)
- src.visible_message("The [src.name] beeps, \"Running on wet floors is hazardous to your health.\"")
- explosion(src.loc,-1,0,2)
- if(ishuman(C))
- dead_legs(C)
- if(src)
- qdel(src)
-
- proc/dead_legs(mob/living/carbon/human/H as mob)
- var/obj/item/organ/external/l = H.get_organ("l_leg")
- var/obj/item/organ/external/r = H.get_organ("r_leg")
- if(l)
- l.droplimb(0, DROPLIMB_SHARP)
- if(r)
- r.droplimb(0, DROPLIMB_SHARP)
+/obj/item/caution/proximity_sign/HasProximity(atom/movable/AM as mob|obj)
+ if(armed)
+ if(istype(AM, /mob/living/carbon) && !istype(AM, /mob/living/carbon/brain))
+ var/mob/living/carbon/C = AM
+ if(C.m_intent != MOVE_INTENT_WALK)
+ src.visible_message("The [src.name] beeps, \"Running on wet floors is hazardous to your health.\"")
+ explosion(src.loc,-1,0,2)
+ if(ishuman(C))
+ dead_legs(C)
+ if(src)
+ qdel(src)
+/obj/item/caution/proximity_sign/proc/dead_legs(mob/living/carbon/human/H as mob)
+ var/obj/item/organ/external/l = H.get_organ("l_leg")
+ var/obj/item/organ/external/r = H.get_organ("r_leg")
+ if(l)
+ l.droplimb(0, DROPLIMB_SHARP)
+ if(r)
+ r.droplimb(0, DROPLIMB_SHARP)
diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm
index 73ff43abbde..03c3f636888 100644
--- a/code/game/objects/items/weapons/cigs.dm
+++ b/code/game/objects/items/weapons/cigs.dm
@@ -23,6 +23,7 @@ LIGHTERS ARE IN LIGHTERS.DM
w_class = WEIGHT_CLASS_TINY
body_parts_covered = null
attack_verb = null
+ container_type = INJECTABLE
var/lit = FALSE
var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi
var/icon_off = "cigoff"
@@ -50,7 +51,7 @@ LIGHTERS ARE IN LIGHTERS.DM
processing_objects -= src
return ..()
-/obj/item/clothing/mask/cigarette/attack(var/mob/living/M, var/mob/living/user, def_zone)
+/obj/item/clothing/mask/cigarette/attack(mob/living/M, mob/living/user, def_zone)
if(istype(M) && M.on_fire)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(M)
@@ -305,6 +306,8 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/cigarette/cigar/attackby(obj/item/W as obj, mob/user as mob, params)
+ if(istype(W, /obj/item/reagent_containers))
+ return
if(istype(W, /obj/item/match))
..()
else
@@ -370,6 +373,8 @@ LIGHTERS ARE IN LIGHTERS.DM
return
/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/W as obj, mob/user as mob, params)
+ if(istype(W, /obj/item/reagent_containers))
+ return
if(istype(W, /obj/item/match))
..()
else
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 3a7e203101d..681db222d0b 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -159,9 +159,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = HULKBLOCK
- ..()
+
+/obj/item/dnainjector/hulkmut/New()
+ block = HULKBLOCK
+ ..()
/obj/item/dnainjector/antihulk
name = "DNA-Injector (Anti-Hulk)"
@@ -169,9 +170,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = HULKBLOCK
- ..()
+
+/obj/item/dnainjector/antihulk/New()
+ block = HULKBLOCK
+ ..()
/obj/item/dnainjector/xraymut
name = "DNA-Injector (Xray)"
@@ -179,9 +181,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 8
- New()
- block = XRAYBLOCK
- ..()
+
+/obj/item/dnainjector/xraymut/New()
+ block = XRAYBLOCK
+ ..()
/obj/item/dnainjector/antixray
name = "DNA-Injector (Anti-Xray)"
@@ -189,10 +192,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 8
- New()
- block = XRAYBLOCK
- ..()
+/obj/item/dnainjector/antixray/New()
+ block = XRAYBLOCK
+ ..()
/obj/item/dnainjector/firemut
name = "DNA-Injector (Fire)"
@@ -200,9 +203,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 10
- New()
- block = FIREBLOCK
- ..()
+
+/obj/item/dnainjector/firemut/New()
+ block = FIREBLOCK
+ ..()
/obj/item/dnainjector/antifire
name = "DNA-Injector (Anti-Fire)"
@@ -210,9 +214,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 10
- New()
- block = FIREBLOCK
- ..()
+
+/obj/item/dnainjector/antifire/New()
+ block = FIREBLOCK
+ ..()
/obj/item/dnainjector/telemut
name = "DNA-Injector (Tele.)"
@@ -220,9 +225,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 12
- New()
- block = TELEBLOCK
- ..()
+
+/obj/item/dnainjector/telemut/New()
+ block = TELEBLOCK
+ ..()
/obj/item/dnainjector/telemut/darkbundle
name = "DNA injector"
@@ -235,9 +241,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 12
- New()
- block = TELEBLOCK
- ..()
+
+/obj/item/dnainjector/antitele/New()
+ block = TELEBLOCK
+ ..()
/obj/item/dnainjector/nobreath
name = "DNA-Injector (Breathless)"
@@ -245,9 +252,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = BREATHLESSBLOCK
- ..()
+
+/obj/item/dnainjector/nobreath/New()
+ block = BREATHLESSBLOCK
+ ..()
/obj/item/dnainjector/antinobreath
name = "DNA-Injector (Anti-Breathless)"
@@ -255,9 +263,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = BREATHLESSBLOCK
- ..()
+
+/obj/item/dnainjector/antinobreath/New()
+ block = BREATHLESSBLOCK
+ ..()
/obj/item/dnainjector/remoteview
name = "DNA-Injector (Remote View)"
@@ -265,9 +274,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = REMOTEVIEWBLOCK
- ..()
+
+/obj/item/dnainjector/remoteview/New()
+ block = REMOTEVIEWBLOCK
+ ..()
/obj/item/dnainjector/antiremoteview
name = "DNA-Injector (Anti-Remote View)"
@@ -275,9 +285,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = REMOTEVIEWBLOCK
- ..()
+
+/obj/item/dnainjector/antiremoteview/New()
+ block = REMOTEVIEWBLOCK
+ ..()
/obj/item/dnainjector/regenerate
name = "DNA-Injector (Regeneration)"
@@ -285,9 +296,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = REGENERATEBLOCK
- ..()
+
+/obj/item/dnainjector/regenerate/New()
+ block = REGENERATEBLOCK
+ ..()
/obj/item/dnainjector/antiregenerate
name = "DNA-Injector (Anti-Regeneration)"
@@ -295,9 +307,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = REGENERATEBLOCK
- ..()
+
+/obj/item/dnainjector/antiregenerate/New()
+ block = REGENERATEBLOCK
+ ..()
/obj/item/dnainjector/runfast
name = "DNA-Injector (Increase Run)"
@@ -305,9 +318,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = INCREASERUNBLOCK
- ..()
+
+/obj/item/dnainjector/runfast/New()
+ block = INCREASERUNBLOCK
+ ..()
/obj/item/dnainjector/antirunfast
name = "DNA-Injector (Anti-Increase Run)"
@@ -315,9 +329,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = INCREASERUNBLOCK
- ..()
+
+/obj/item/dnainjector/antirunfast/New()
+ block = INCREASERUNBLOCK
+ ..()
/obj/item/dnainjector/morph
name = "DNA-Injector (Morph)"
@@ -325,9 +340,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = MORPHBLOCK
- ..()
+
+/obj/item/dnainjector/morph/New()
+ block = MORPHBLOCK
+ ..()
/obj/item/dnainjector/antimorph
name = "DNA-Injector (Anti-Morph)"
@@ -335,9 +351,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = MORPHBLOCK
- ..()
+
+/obj/item/dnainjector/antimorph/New()
+ block = MORPHBLOCK
+ ..()
/obj/item/dnainjector/noprints
name = "DNA-Injector (No Prints)"
@@ -345,9 +362,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = NOPRINTSBLOCK
- ..()
+
+/obj/item/dnainjector/noprints/New()
+ block = NOPRINTSBLOCK
+ ..()
/obj/item/dnainjector/antinoprints
name = "DNA-Injector (Anti-No Prints)"
@@ -355,9 +373,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = NOPRINTSBLOCK
- ..()
+
+/obj/item/dnainjector/antinoprints/New()
+ block = NOPRINTSBLOCK
+ ..()
/obj/item/dnainjector/insulation
name = "DNA-Injector (Shock Immunity)"
@@ -365,9 +384,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = SHOCKIMMUNITYBLOCK
- ..()
+
+/obj/item/dnainjector/insulation/New()
+ block = SHOCKIMMUNITYBLOCK
+ ..()
/obj/item/dnainjector/antiinsulation
name = "DNA-Injector (Anti-Shock Immunity)"
@@ -375,9 +395,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = SHOCKIMMUNITYBLOCK
- ..()
+
+/obj/item/dnainjector/antiinsulation/New()
+ block = SHOCKIMMUNITYBLOCK
+ ..()
/obj/item/dnainjector/midgit
name = "DNA-Injector (Small Size)"
@@ -385,9 +406,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = SMALLSIZEBLOCK
- ..()
+
+/obj/item/dnainjector/midgit/New()
+ block = SMALLSIZEBLOCK
+ ..()
/obj/item/dnainjector/antimidgit
name = "DNA-Injector (Anti-Small Size)"
@@ -395,9 +417,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = SMALLSIZEBLOCK
- ..()
+
+/obj/item/dnainjector/antimidgit/New()
+ block = SMALLSIZEBLOCK
+ ..()
/////////////////////////////////////
/obj/item/dnainjector/antiglasses
@@ -406,9 +429,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 1
- New()
- block = GLASSESBLOCK
- ..()
+
+/obj/item/dnainjector/antiglasses/New()
+ block = GLASSESBLOCK
+ ..()
/obj/item/dnainjector/glassesmut
name = "DNA-Injector (Glasses)"
@@ -416,9 +440,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 1
- New()
- block = GLASSESBLOCK
- ..()
+
+/obj/item/dnainjector/glassesmut/New()
+ block = GLASSESBLOCK
+ ..()
/obj/item/dnainjector/epimut
name = "DNA-Injector (Epi.)"
@@ -426,9 +451,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 3
- New()
- block = EPILEPSYBLOCK
- ..()
+
+/obj/item/dnainjector/epimut/New()
+ block = EPILEPSYBLOCK
+ ..()
/obj/item/dnainjector/antiepi
name = "DNA-Injector (Anti-Epi.)"
@@ -436,9 +462,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 3
- New()
- block = EPILEPSYBLOCK
- ..()
+
+/obj/item/dnainjector/antiepi/New()
+ block = EPILEPSYBLOCK
+ ..()
/obj/item/dnainjector/anticough
name = "DNA-Injector (Anti-Cough)"
@@ -446,9 +473,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 5
- New()
- block = COUGHBLOCK
- ..()
+
+/obj/item/dnainjector/anticough/New()
+ block = COUGHBLOCK
+ ..()
/obj/item/dnainjector/coughmut
name = "DNA-Injector (Cough)"
@@ -456,9 +484,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 5
- New()
- block = COUGHBLOCK
- ..()
+
+/obj/item/dnainjector/coughmut/New()
+ block = COUGHBLOCK
+ ..()
/obj/item/dnainjector/clumsymut
name = "DNA-Injector (Clumsy)"
@@ -466,9 +495,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 6
- New()
- block = CLUMSYBLOCK
- ..()
+
+/obj/item/dnainjector/clumsymut/New()
+ block = CLUMSYBLOCK
+ ..()
/obj/item/dnainjector/anticlumsy
name = "DNA-Injector (Anti-Clumy)"
@@ -476,9 +506,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 6
- New()
- block = CLUMSYBLOCK
- ..()
+
+/obj/item/dnainjector/anticlumsy/New()
+ block = CLUMSYBLOCK
+ ..()
/obj/item/dnainjector/antitour
name = "DNA-Injector (Anti-Tour.)"
@@ -486,9 +517,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 7
- New()
- block = TWITCHBLOCK
- ..()
+
+/obj/item/dnainjector/antitour/New()
+ block = TWITCHBLOCK
+ ..()
/obj/item/dnainjector/tourmut
name = "DNA-Injector (Tour.)"
@@ -496,9 +528,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 7
- New()
- block = TWITCHBLOCK
- ..()
+
+/obj/item/dnainjector/tourmut/New()
+ block = TWITCHBLOCK
+ ..()
/obj/item/dnainjector/stuttmut
name = "DNA-Injector (Stutt.)"
@@ -506,9 +539,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 9
- New()
- block = NERVOUSBLOCK
- ..()
+
+/obj/item/dnainjector/stuttmut/New()
+ block = NERVOUSBLOCK
+ ..()
/obj/item/dnainjector/antistutt
@@ -517,9 +551,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 9
- New()
- block = NERVOUSBLOCK
- ..()
+
+/obj/item/dnainjector/antistutt/New()
+ block = NERVOUSBLOCK
+ ..()
/obj/item/dnainjector/blindmut
name = "DNA-Injector (Blind)"
@@ -527,9 +562,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 11
- New()
- block = BLINDBLOCK
- ..()
+
+/obj/item/dnainjector/blindmut/New()
+ block = BLINDBLOCK
+ ..()
/obj/item/dnainjector/antiblind
name = "DNA-Injector (Anti-Blind)"
@@ -537,9 +573,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 11
- New()
- block = BLINDBLOCK
- ..()
+
+/obj/item/dnainjector/antiblind/New()
+ block = BLINDBLOCK
+ ..()
/obj/item/dnainjector/telemut
name = "DNA-Injector (Tele.)"
@@ -547,9 +584,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 12
- New()
- block = TELEBLOCK
- ..()
+
+/obj/item/dnainjector/telemut/New()
+ block = TELEBLOCK
+ ..()
/obj/item/dnainjector/antitele
name = "DNA-Injector (Anti-Tele.)"
@@ -557,9 +595,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 12
- New()
- block = TELEBLOCK
- ..()
+
+/obj/item/dnainjector/antitele/New()
+ block = TELEBLOCK
+ ..()
/obj/item/dnainjector/deafmut
name = "DNA-Injector (Deaf)"
@@ -567,9 +606,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 13
- New()
- block = DEAFBLOCK
- ..()
+
+/obj/item/dnainjector/deafmut/New()
+ block = DEAFBLOCK
+ ..()
/obj/item/dnainjector/antideaf
name = "DNA-Injector (Anti-Deaf)"
@@ -577,9 +617,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 13
- New()
- block = DEAFBLOCK
- ..()
+
+/obj/item/dnainjector/antideaf/New()
+ block = DEAFBLOCK
+ ..()
/obj/item/dnainjector/hallucination
name = "DNA-Injector (Halluctination)"
@@ -587,9 +628,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 2
- New()
- block = HALLUCINATIONBLOCK
- ..()
+
+/obj/item/dnainjector/hallucination/New()
+ block = HALLUCINATIONBLOCK
+ ..()
/obj/item/dnainjector/antihallucination
name = "DNA-Injector (Anti-Hallucination)"
@@ -597,9 +639,10 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 2
- New()
- block = HALLUCINATIONBLOCK
- ..()
+
+/obj/item/dnainjector/antihallucination/New()
+ block = HALLUCINATIONBLOCK
+ ..()
/obj/item/dnainjector/h2m
name = "DNA-Injector (Human > Monkey)"
@@ -607,9 +650,10 @@
datatype = DNA2_BUF_SE
value = 0xFFF
//block = 14
- New()
- block = MONKEYBLOCK
- ..()
+
+/obj/item/dnainjector/h2m/New()
+ block = MONKEYBLOCK
+ ..()
/obj/item/dnainjector/m2h
name = "DNA-Injector (Monkey > Human)"
@@ -617,6 +661,7 @@
datatype = DNA2_BUF_SE
value = 0x001
//block = 14
- New()
- block = MONKEYBLOCK
- ..()
+
+/obj/item/dnainjector/m2h/New()
+ block = MONKEYBLOCK
+ ..()
diff --git a/code/game/objects/items/weapons/dnascrambler.dm b/code/game/objects/items/weapons/dnascrambler.dm
index fc13fa69f79..bbad0eb9157 100644
--- a/code/game/objects/items/weapons/dnascrambler.dm
+++ b/code/game/objects/items/weapons/dnascrambler.dm
@@ -6,52 +6,52 @@
icon_state = "lepopen"
var/used = null
+/obj/item/dnascrambler/update_icon()
+ if(used)
+ icon_state = "lepopen0"
+ else
+ icon_state = "lepopen"
+
+/obj/item/dnascrambler/attack(mob/M as mob, mob/user as mob)
+ if(!M || !user)
+ return
+
+ if(!ishuman(M) || !ishuman(user))
+ return
+
+ if(used)
+ return
+
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(NO_DNA in H.dna.species.species_traits)
+ to_chat(user, "You failed to inject [M], as [M.p_they()] [M.p_have()] no DNA to scramble, nor flesh to inject. ")
+ return
+
+ if(M == user)
+ user.visible_message("[user] injects [user.p_them()]self with [src]! ")
+ injected(user, user)
+ else
+ user.visible_message("[user] is trying to inject [M] with [src]! ")
+ if(do_mob(user,M,30))
+ user.visible_message("[user] injects [M] with [src]. ")
+ injected(M, user)
+ else
+ to_chat(user, "You failed to inject [M]. ")
+
+/obj/item/dnascrambler/proc/injected(var/mob/living/carbon/human/target, var/mob/living/carbon/user)
+ if(istype(target))
+ var/mob/living/carbon/human/H = target
+ scramble(1, H, 100)
+ H.real_name = random_name(H.gender, H.dna.species.name) //Give them a name that makes sense for their species.
+ H.sync_organ_dna(assimilate = 1)
+ H.update_body(0)
+ H.reset_hair() //No more winding up with hairstyles you're not supposed to have, and blowing your cover.
+ H.reset_markings() //...Or markings.
+ H.dna.ResetUIFrom(H)
+ target.update_icons()
+
+ add_attack_logs(user, target, "injected with [src]")
+ used = 1
update_icon()
- if(used)
- icon_state = "lepopen0"
- else
- icon_state = "lepopen"
-
- attack(mob/M as mob, mob/user as mob)
- if(!M || !user)
- return
-
- if(!ishuman(M) || !ishuman(user))
- return
-
- if(used)
- return
-
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- if(NO_DNA in H.dna.species.species_traits)
- to_chat(user, "You failed to inject [M], as [M.p_they()] [M.p_have()] no DNA to scramble, nor flesh to inject. ")
- return
-
- if(M == user)
- user.visible_message("[user] injects [user.p_them()]self with [src]! ")
- injected(user, user)
- else
- user.visible_message("[user] is trying to inject [M] with [src]! ")
- if(do_mob(user,M,30))
- user.visible_message("[user] injects [M] with [src]. ")
- injected(M, user)
- else
- to_chat(user, "You failed to inject [M]. ")
-
- proc/injected(var/mob/living/carbon/human/target, var/mob/living/carbon/user)
- if(istype(target))
- var/mob/living/carbon/human/H = target
- scramble(1, H, 100)
- H.real_name = random_name(H.gender, H.dna.species.name) //Give them a name that makes sense for their species.
- H.sync_organ_dna(assimilate = 1)
- H.update_body(0)
- H.reset_hair() //No more winding up with hairstyles you're not supposed to have, and blowing your cover.
- H.reset_markings() //...Or markings.
- H.dna.ResetUIFrom(H)
- target.update_icons()
-
- add_attack_logs(user, target, "injected with [src]")
- used = 1
- update_icon()
- name = "used " + name
+ name = "used " + name
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index 26639543426..34877ac8788 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -79,7 +79,7 @@
src.target = AM
loc = null
- message_admins("[key_name_admin(user)](? ) (FLW ) planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP ) with [det_time] second fuse",0,1)
+ message_admins("[key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP ) with [det_time] second fuse",0,1)
log_game("[key_name(user)] planted [name] on [target.name] at ([target.x],[target.y],[target.z]) with [det_time] second fuse")
target.overlays += image_overlay
@@ -88,7 +88,7 @@
addtimer(CALLBACK(src, .proc/prime), det_time*10)
/obj/item/grenade/plastic/suicide_act(mob/user)
- message_admins("[key_name_admin(user)](? ) (FLW ) suicided with [src.name] at ([user.x],[user.y],[user.z] - JMP )",0,1)
+ message_admins("[key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) suicided with [src.name] at ([user.x],[user.y],[user.z] - JMP )",0,1)
log_game("[key_name(user)] suicided with [name] at ([user.x],[user.y],[user.z])")
user.visible_message("[user] activates the [name] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang! ")
var/message_say = "FOR NO RAISIN!"
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index fb4829dd13f..3d893c86371 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -11,6 +11,7 @@
throw_speed = 2
throw_range = 7
force = 10
+ container_type = AMOUNT_VISIBLE
materials = list(MAT_METAL=90)
attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed")
var/max_water = 50
@@ -36,11 +37,8 @@
sprite_name = "miniFE"
/obj/item/extinguisher/examine(mob/user)
- if(..(user, 0))
- to_chat(usr, "[bicon(src)] [src.name] contains:")
- if(reagents && reagents.reagent_list.len)
- for(var/datum/reagent/R in reagents.reagent_list)
- to_chat(user, "[R.volume] units of [R.name] ")
+ . = ..()
+ to_chat(user, "The safety is [safety ? "on" : "off"]. ")
/obj/item/extinguisher/New()
diff --git a/code/game/objects/items/weapons/fireworks.dm b/code/game/objects/items/weapons/fireworks.dm
index 138cb24ff40..d2e523cf953 100644
--- a/code/game/objects/items/weapons/fireworks.dm
+++ b/code/game/objects/items/weapons/fireworks.dm
@@ -25,7 +25,7 @@ obj/item/sparkler
icon = 'icons/obj/fireworks.dmi'
icon_state = "sparkler_0"
var/litzor = 0
- var/datum/effect_system/spark_spread/S
+
obj/item/sparkler/attackby(obj/item/W,mob/user, params)
if(litzor)
return
@@ -36,11 +36,7 @@ obj/item/sparkler/attackby(obj/item/W,mob/user, params)
icon_state = "sparkler_1"
var/b = rand(5,9)
for(var/xy, xy<=b, xy++)
- S = new()
- S.set_up(1,0,src.loc)
- if(ismob(src.loc) || isobj(src.loc))
- S.attach(src.loc)
- S.start()
+ do_sparks(1, 0, loc)
sleep(10)
qdel(src)
/obj/crate/fireworks
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 9e836fecc87..8419f0b7537 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -289,7 +289,7 @@
var/mob/last = get_mob_by_ckey(nadeassembly.fingerprintslast)
var/turf/T = get_turf(src)
var/area/A = get_area(T)
- message_admins("grenade primed by an assembly, attached by [key_name_admin(M)](?) ([admin_jump_link(M)]) and last touched by [key_name_admin(last)](?) ([admin_jump_link(last)]) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP) . [contained]")
+ message_admins("grenade primed by an assembly, attached by [key_name_admin(M)][ADMIN_QUE(M,"(?)")] ([admin_jump_link(M)]) and last touched by [key_name_admin(last)][ADMIN_QUE(last,"(?)")] ([admin_jump_link(last)]) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP) . [contained]")
log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] ([T.x], [T.y], [T.z]) [contained]")
update_mob()
@@ -419,7 +419,7 @@
var/mob/last = get_mob_by_ckey(nadeassembly.fingerprintslast)
var/turf/T = get_turf(src)
var/area/A = get_area(T)
- message_admins("grenade primed by an assembly, attached by [key_name_admin(M)](?) (FLW ) and last touched by [key_name_admin(last)](?) (FLW ) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP) .")
+ message_admins("grenade primed by an assembly, attached by [key_name_admin(M)][ADMIN_QUE(M,"(?)")] ([ADMIN_FLW(M,"FLW")]) and last touched by [key_name_admin(last)][ADMIN_QUE(last,"(?)")] ([ADMIN_FLW(last,"FLW")]) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP) .")
log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] ([T.x], [T.y], [T.z])")
else
addtimer(CALLBACK(src, .proc/prime), det_time)
@@ -432,18 +432,18 @@
desc = "Used for emergency sealing of air breaches."
stage = READY
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+/obj/item/grenade/chem_grenade/metalfoam/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("aluminum", 30)
- B2.reagents.add_reagent("fluorosurfactant", 10)
- B2.reagents.add_reagent("sacid", 10)
+ B1.reagents.add_reagent("aluminum", 30)
+ B2.reagents.add_reagent("fluorosurfactant", 10)
+ B2.reagents.add_reagent("sacid", 10)
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
/obj/item/grenade/chem_grenade/incendiary
@@ -451,19 +451,19 @@
desc = "Used for clearing rooms of living things."
stage = READY
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
+/obj/item/grenade/chem_grenade/incendiary/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
- B1.reagents.add_reagent("phosphorus", 25)
- B2.reagents.add_reagent("plasma", 25)
- B2.reagents.add_reagent("sacid", 25)
+ B1.reagents.add_reagent("phosphorus", 25)
+ B2.reagents.add_reagent("plasma", 25)
+ B2.reagents.add_reagent("sacid", 25)
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
/obj/item/grenade/chem_grenade/antiweed
@@ -471,20 +471,20 @@
desc = "Used for purging large areas of invasive plant species. Contents under pressure. Do not directly inhale contents."
stage = READY
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+/obj/item/grenade/chem_grenade/antiweed/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("atrazine", 30)
- B1.reagents.add_reagent("potassium", 20)
- B2.reagents.add_reagent("phosphorus", 20)
- B2.reagents.add_reagent("sugar", 20)
- B2.reagents.add_reagent("atrazine", 10)
+ B1.reagents.add_reagent("atrazine", 30)
+ B1.reagents.add_reagent("potassium", 20)
+ B2.reagents.add_reagent("phosphorus", 20)
+ B2.reagents.add_reagent("sugar", 20)
+ B2.reagents.add_reagent("atrazine", 10)
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
/obj/item/grenade/chem_grenade/cleaner
@@ -492,18 +492,18 @@
desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas."
stage = READY
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+/obj/item/grenade/chem_grenade/cleaner/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("fluorosurfactant", 40)
- B2.reagents.add_reagent("cleaner", 10)
- B2.reagents.add_reagent("water", 40) //when you make pre-designed foam reactions that carry the reagents, always add water last
+ B1.reagents.add_reagent("fluorosurfactant", 40)
+ B2.reagents.add_reagent("cleaner", 10)
+ B2.reagents.add_reagent("water", 40) //when you make pre-designed foam reactions that carry the reagents, always add water last
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
/obj/item/grenade/chem_grenade/teargas
@@ -511,19 +511,19 @@
desc = "Used for nonlethal riot control. Contents under pressure. Do not directly inhale contents."
stage = READY
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+/obj/item/grenade/chem_grenade/teargas/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("condensedcapsaicin", 25)
- B1.reagents.add_reagent("potassium", 25)
- B2.reagents.add_reagent("phosphorus", 25)
- B2.reagents.add_reagent("sugar", 25)
+ B1.reagents.add_reagent("condensedcapsaicin", 25)
+ B1.reagents.add_reagent("potassium", 25)
+ B2.reagents.add_reagent("phosphorus", 25)
+ B2.reagents.add_reagent("sugar", 25)
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
/obj/item/grenade/chem_grenade/facid
name = "acid grenade"
@@ -550,19 +550,19 @@
desc = "Contains sarin gas; extremely deadly and fast acting; use with extreme caution."
stage = READY
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+/obj/item/grenade/chem_grenade/saringas/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("sarin", 25)
- B1.reagents.add_reagent("potassium", 25)
- B2.reagents.add_reagent("phosphorus", 25)
- B2.reagents.add_reagent("sugar", 25)
+ B1.reagents.add_reagent("sarin", 25)
+ B1.reagents.add_reagent("potassium", 25)
+ B2.reagents.add_reagent("phosphorus", 25)
+ B2.reagents.add_reagent("sugar", 25)
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
#undef EMPTY
#undef WIRED
diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm
index 18dbf93ae45..bce9861fb72 100644
--- a/code/game/objects/items/weapons/grenades/clowngrenade.dm
+++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm
@@ -10,44 +10,34 @@
var/path = 0
var/affected_area = 2
- prime()
- ..()
- playsound(src.loc, 'sound/items/bikehorn.ogg', 25, -3)
- /*
- for(var/turf/simulated/floor/T in view(affected_area, src.loc))
- if(prob(75))
- banana(T)
- */
- var/i = 0
- var/number = 0
- for(var/direction in alldirs)
- for(i = 0; i < 2; i++)
- number++
- var/obj/item/grown/bananapeel/traitorpeel/peel = new /obj/item/grown/bananapeel/traitorpeel(get_turf(src.loc))
- /* var/direction = pick(alldirs)
- var/spaces = pick(1;150, 2)
- var/a = 0
- for(a = 0; a < spaces; a++)
- step(peel,direction)*/
- var/a = 1
- if(number & 2)
- for(a = 1; a <= 2; a++)
- step(peel,direction)
- else
+/obj/item/grenade/clown_grenade/prime()
+ ..()
+ playsound(src.loc, 'sound/items/bikehorn.ogg', 25, -3)
+ /*
+ for(var/turf/simulated/floor/T in view(affected_area, src.loc))
+ if(prob(75))
+ banana(T)
+ */
+ var/i = 0
+ var/number = 0
+ for(var/direction in alldirs)
+ for(i = 0; i < 2; i++)
+ number++
+ var/obj/item/grown/bananapeel/traitorpeel/peel = new /obj/item/grown/bananapeel/traitorpeel(get_turf(src.loc))
+ /* var/direction = pick(alldirs)
+ var/spaces = pick(1;150, 2)
+ var/a = 0
+ for(a = 0; a < spaces; a++)
+ step(peel,direction)*/
+ var/a = 1
+ if(number & 2)
+ for(a = 1; a <= 2; a++)
step(peel,direction)
- new /obj/item/grown/bananapeel/traitorpeel(get_turf(src.loc))
- qdel(src)
- return
-/*
- proc/banana(turf/T as turf)
- if(!T || !istype(T))
- return
- if(locate(/obj/structure/grille) in T)
- return
- if(locate(/obj/structure/window) in T)
- return
- new /obj/item/grown/bananapeel/traitorpeel(T)
-*/
+ else
+ step(peel,direction)
+ new /obj/item/grown/bananapeel/traitorpeel(get_turf(src.loc))
+ qdel(src)
+ return
/obj/item/grown/bananapeel/traitorpeel
trip_stun = 0
diff --git a/code/game/objects/items/weapons/grenades/custom_grenades.dm b/code/game/objects/items/weapons/grenades/custom_grenades.dm
index 133cc906850..b5598bc86be 100644
--- a/code/game/objects/items/weapons/grenades/custom_grenades.dm
+++ b/code/game/objects/items/weapons/grenades/custom_grenades.dm
@@ -3,17 +3,17 @@
desc = "From the makers of BLAM! brand foaming space cleaner, this bomb guarantees steady work for any janitor."
stage = 2
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
- var/list/muck = list("blood","carbon","flour","radium")
- var/filth = pick(muck - "radium") // not usually radioactive
+/obj/item/grenade/chem_grenade/dirt/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
+ var/list/muck = list("blood","carbon","flour","radium")
+ var/filth = pick(muck - "radium") // not usually radioactive
- B1.reagents.add_reagent(filth,25)
- if(prob(25))
- B1.reagents.add_reagent(pick(muck - filth,25)) // but sometimes...
+ B1.reagents.add_reagent(filth,25)
+ if(prob(25))
+ B1.reagents.add_reagent(pick(muck - filth,25)) // but sometimes...
- beakers += B1
+ beakers += B1
/obj/item/grenade/chem_grenade/meat
@@ -22,18 +22,18 @@
stage = 2
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
+/obj/item/grenade/chem_grenade/meat/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
- B1.reagents.add_reagent("blood",60)
- if(prob(5))
- B1.reagents.add_reagent("blood",1) // Quality control problems, causes a mess
- B2.reagents.add_reagent("cryoxadone",30)
+ B1.reagents.add_reagent("blood",60)
+ if(prob(5))
+ B1.reagents.add_reagent("blood",1) // Quality control problems, causes a mess
+ B2.reagents.add_reagent("cryoxadone",30)
- beakers += B1
- beakers += B2
+ beakers += B1
+ beakers += B2
/obj/item/grenade/chem_grenade/holywater
payload_name = "holy water"
@@ -41,11 +41,11 @@
stage = 2
det_time = 30
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/large/B = new(src)
- B.reagents.add_reagent("holywater",100)
- beakers += B
+/obj/item/grenade/chem_grenade/holywater/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/large/B = new(src)
+ B.reagents.add_reagent("holywater",100)
+ beakers += B
/obj/item/grenade/chem_grenade/hellwater
payload_name = "hell water"
@@ -53,15 +53,15 @@
stage = 2
det_time = 30
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
- B1.reagents.add_reagent("hell_water",80)
- B1.reagents.add_reagent("sugar",20)
- B2.reagents.add_reagent("hell_water", 60)
- B2.reagents.add_reagent("potassium", 20)
- B2.reagents.add_reagent("phosphorus", 20)
+/obj/item/grenade/chem_grenade/hellwater/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
+ B1.reagents.add_reagent("hell_water",80)
+ B1.reagents.add_reagent("sugar",20)
+ B2.reagents.add_reagent("hell_water", 60)
+ B2.reagents.add_reagent("potassium", 20)
+ B2.reagents.add_reagent("phosphorus", 20)
/obj/item/grenade/chem_grenade/drugs
@@ -69,40 +69,40 @@
desc = "How does it work?"
stage = 2
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
+/obj/item/grenade/chem_grenade/drugs/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
- B1.reagents.add_reagent("space_drugs", 25)
- B1.reagents.add_reagent("lsd", 25)
- B1.reagents.add_reagent("potassium", 25)
- B2.reagents.add_reagent("phosphorus", 25)
- B2.reagents.add_reagent("sugar", 25)
+ B1.reagents.add_reagent("space_drugs", 25)
+ B1.reagents.add_reagent("lsd", 25)
+ B1.reagents.add_reagent("potassium", 25)
+ B2.reagents.add_reagent("phosphorus", 25)
+ B2.reagents.add_reagent("sugar", 25)
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
/obj/item/grenade/chem_grenade/ethanol
payload_name = "ethanol"
desc = "Ach, that hits the spot."
stage = 2
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
+/obj/item/grenade/chem_grenade/ethanol/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
- B1.reagents.add_reagent("ethanol", 75)
- B1.reagents.add_reagent("potassium", 25)
- B2.reagents.add_reagent("phosphorus", 25)
- B2.reagents.add_reagent("sugar", 25)
- B2.reagents.add_reagent("ethanol", 25)
+ B1.reagents.add_reagent("ethanol", 75)
+ B1.reagents.add_reagent("potassium", 25)
+ B2.reagents.add_reagent("phosphorus", 25)
+ B2.reagents.add_reagent("sugar", 25)
+ B2.reagents.add_reagent("ethanol", 25)
- beakers += B1
- beakers += B2
- update_icon()
+ beakers += B1
+ beakers += B2
+ update_icon()
// -------------------------------------
// Grenades using new grenade assemblies
@@ -208,107 +208,67 @@
payload_name = "EMP"
stage = 2
- New()
- ..()
- var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("uranium",50)
- B2.reagents.add_reagent("iron",50)
- beakers += B1
- beakers += B2
+/obj/item/grenade/chem_grenade/emp/New()
+ ..()
+ var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+ B1.reagents.add_reagent("uranium",50)
+ B2.reagents.add_reagent("iron",50)
+ beakers += B1
+ beakers += B2
// Assembly Variants
-/obj/item/grenade/chem_grenade/emp/remote
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/signaler)
+/obj/item/grenade/chem_grenade/emp/remote/New()
+ ..()
+ CreateDefaultTrigger(/obj/item/assembly/signaler)
-/obj/item/grenade/chem_grenade/emp/prox
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/prox_sensor)
+/obj/item/grenade/chem_grenade/emp/prox/New()
+ ..()
+ CreateDefaultTrigger(/obj/item/assembly/prox_sensor)
-/obj/item/grenade/chem_grenade/emp/mine
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/mousetrap)
-
-// --------------------------------------
-// Dangerous slime core grenades
-// --------------------------------------
-/*
-/obj/item/grenade/chem_grenade/large/bluespace
- payload_name = "bluespace slime"
- desc = "A standard grenade casing containing weaponized slime extract."
- stage = 2
-
- New()
- ..()
- var/obj/item/slime_extract/bluespace/B1 = new(src)
- B1.Uses = rand(1,3)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B2.reagents.add_reagent("plasma",5 * B1.Uses)
- beakers += B1
- beakers += B2
-
-/obj/item/grenade/chem_grenade/large/bluespace/prox
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/prox_sensor)
-
-/obj/item/grenade/chem_grenade/large/bluespace/mine
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/mousetrap)
-
-/obj/item/grenade/chem_grenade/large/bluespace/remote
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/signaler)
-*/
+/obj/item/grenade/chem_grenade/emp/mine/New()
+ ..()
+ CreateDefaultTrigger(/obj/item/assembly/mousetrap)
/obj/item/grenade/chem_grenade/large/monster
payload_name = "gold slime"
desc = "A standard grenade containing weaponized slime extract."
stage = 2
- New()
- ..()
- var/obj/item/slime_extract/gold/B1 = new(src)
- B1.Uses = rand(1,3)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B2.reagents.add_reagent("plasma",5 * B1.Uses)
- beakers += B1
- beakers += B2
+/obj/item/grenade/chem_grenade/large/monster/New()
+ ..()
+ var/obj/item/slime_extract/gold/B1 = new(src)
+ B1.Uses = rand(1,3)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+ B2.reagents.add_reagent("plasma",5 * B1.Uses)
+ beakers += B1
+ beakers += B2
-/obj/item/grenade/chem_grenade/large/monster/prox
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/prox_sensor)
+/obj/item/grenade/chem_grenade/large/monster/prox/New()
+ ..()
+ CreateDefaultTrigger(/obj/item/assembly/prox_sensor)
-/obj/item/grenade/chem_grenade/large/monster/mine
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/mousetrap)
+/obj/item/grenade/chem_grenade/large/monster/mine/New()
+ ..()
+ CreateDefaultTrigger(/obj/item/assembly/mousetrap)
-/obj/item/grenade/chem_grenade/large/monster/remote
- New()
- ..()
- CreateDefaultTrigger(/obj/item/assembly/signaler)
+/obj/item/grenade/chem_grenade/large/monster/remote/New()
+ ..()
+ CreateDefaultTrigger(/obj/item/assembly/signaler)
/obj/item/grenade/chem_grenade/large/feast
payload_name = "silver slime"
desc = "A standard grenade containing weaponized slime extract."
stage = 2
- New()
- ..()
- var/obj/item/slime_extract/silver/B1 = new(src)
- B1.Uses = rand(1,3)
- var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
- B2.reagents.add_reagent("plasma",5 * B1.Uses)
- beakers += B1
- beakers += B2
+/obj/item/grenade/chem_grenade/large/feast/New()
+ ..()
+ var/obj/item/slime_extract/silver/B1 = new(src)
+ B1.Uses = rand(1,3)
+ var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
+ B2.reagents.add_reagent("plasma",5 * B1.Uses)
+ beakers += B1
+ beakers += B2
// --------------------------------------
// Syndie Kits
@@ -316,25 +276,30 @@
/obj/item/storage/box/syndie_kit/remotegrenade
name = "Remote Grenade Kit"
- New()
- ..()
- new /obj/item/grenade/chem_grenade/explosion/remote(src)
- new /obj/item/multitool(src) // used to adjust the chemgrenade's signaller
- new /obj/item/assembly/signaler(src)
- return
+
+/obj/item/storage/box/syndie_kit/remotegrenade/New()
+ ..()
+ new /obj/item/grenade/chem_grenade/explosion/remote(src)
+ new /obj/item/multitool(src) // used to adjust the chemgrenade's signaller
+ new /obj/item/assembly/signaler(src)
+ return
+
/obj/item/storage/box/syndie_kit/remoteemp
name = "Remote EMP Kit"
- New()
- ..()
- new /obj/item/grenade/chem_grenade/emp/remote(src)
- new /obj/item/multitool(src) // used to adjust the chemgrenade's signaller
- new /obj/item/assembly/signaler(src)
- return
+
+/obj/item/storage/box/syndie_kit/remoteemp/New()
+ ..()
+ new /obj/item/grenade/chem_grenade/emp/remote(src)
+ new /obj/item/multitool(src) // used to adjust the chemgrenade's signaller
+ new /obj/item/assembly/signaler(src)
+ return
+
/obj/item/storage/box/syndie_kit/remotelube
name = "Remote Lube Kit"
- New()
- ..()
- new /obj/item/grenade/chem_grenade/lube(src)
- new /obj/item/multitool(src) // used to adjust the chemgrenade's signaller
- new /obj/item/assembly/signaler(src)
- return
\ No newline at end of file
+
+/obj/item/storage/box/syndie_kit/remotelube/New()
+ ..()
+ new /obj/item/grenade/chem_grenade/lube(src)
+ new /obj/item/multitool(src) // used to adjust the chemgrenade's signaller
+ new /obj/item/assembly/signaler(src)
+ return
diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm
index c4ccb3e83dc..6b9c4d815f4 100644
--- a/code/game/objects/items/weapons/grenades/smokebomb.dm
+++ b/code/game/objects/items/weapons/grenades/smokebomb.dm
@@ -8,31 +8,31 @@
slot_flags = SLOT_BELT
var/datum/effect_system/smoke_spread/bad/smoke
- New()
- ..()
- src.smoke = new /datum/effect_system/smoke_spread/bad
- src.smoke.attach(src)
+/obj/item/grenade/smokebomb/New()
+ ..()
+ src.smoke = new /datum/effect_system/smoke_spread/bad
+ src.smoke.attach(src)
- Destroy()
- QDEL_NULL(smoke)
- return ..()
+/obj/item/grenade/smokebomb/Destroy()
+ QDEL_NULL(smoke)
+ return ..()
- prime()
- playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
- src.smoke.set_up(10, 0, usr.loc)
- spawn(0)
- src.smoke.start()
- sleep(10)
- src.smoke.start()
- sleep(10)
- src.smoke.start()
- sleep(10)
- src.smoke.start()
+/obj/item/grenade/smokebomb/prime()
+ playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
+ src.smoke.set_up(10, 0, usr.loc)
+ spawn(0)
+ src.smoke.start()
+ sleep(10)
+ src.smoke.start()
+ sleep(10)
+ src.smoke.start()
+ sleep(10)
+ src.smoke.start()
- for(var/obj/structure/blob/B in view(8,src))
- var/damage = round(30/(get_dist(B,src)+1))
- B.health -= damage
- B.update_icon()
- sleep(80)
- qdel(src)
- return
+ for(var/obj/structure/blob/B in view(8,src))
+ var/damage = round(30/(get_dist(B,src)+1))
+ B.health -= damage
+ B.update_icon()
+ sleep(80)
+ qdel(src)
+ return
diff --git a/code/game/objects/items/weapons/implants/implant_abductor.dm b/code/game/objects/items/weapons/implants/implant_abductor.dm
index 3ec571c94a6..a86545f8722 100644
--- a/code/game/objects/items/weapons/implants/implant_abductor.dm
+++ b/code/game/objects/items/weapons/implants/implant_abductor.dm
@@ -40,7 +40,7 @@
/obj/item/implant/abductor/proc/get_team_console(var/team)
var/obj/machinery/abductor/console/console
- for(var/obj/machinery/abductor/console/c in abductor_equipment)
+ for(var/obj/machinery/abductor/console/c in GLOB.abductor_equipment)
if(c.team == team)
console = c
break
diff --git a/code/game/objects/items/weapons/implants/implant_chem.dm b/code/game/objects/items/weapons/implants/implant_chem.dm
index 6fbcc7e096a..5f0fea79da9 100644
--- a/code/game/objects/items/weapons/implants/implant_chem.dm
+++ b/code/game/objects/items/weapons/implants/implant_chem.dm
@@ -3,7 +3,7 @@
desc = "Injects things."
icon_state = "reagents"
origin_tech = "materials=3;biotech=4"
- flags = OPENCONTAINER
+ container_type = OPENCONTAINER
/obj/item/implant/chem/get_data()
var/dat = {"Implant Specifications:
@@ -24,10 +24,10 @@
/obj/item/implant/chem/New()
..()
create_reagents(50)
- tracked_implants += src
+ GLOB.tracked_implants += src
/obj/item/implant/chem/Destroy()
- tracked_implants -= src
+ GLOB.tracked_implants -= src
return ..()
diff --git a/code/game/objects/items/weapons/implants/implant_track.dm b/code/game/objects/items/weapons/implants/implant_track.dm
index ffc372f7fa8..c74e2fecff5 100644
--- a/code/game/objects/items/weapons/implants/implant_track.dm
+++ b/code/game/objects/items/weapons/implants/implant_track.dm
@@ -8,10 +8,10 @@
/obj/item/implant/tracking/New()
..()
- tracked_implants += src
+ GLOB.tracked_implants += src
/obj/item/implant/tracking/Destroy()
- tracked_implants -= src
+ GLOB.tracked_implants -= src
return ..()
/obj/item/implant/tracking/get_data()
diff --git a/code/game/objects/items/weapons/legcuffs.dm b/code/game/objects/items/weapons/legcuffs.dm
index c705374f7a9..3391687f20a 100644
--- a/code/game/objects/items/weapons/legcuffs.dm
+++ b/code/game/objects/items/weapons/legcuffs.dm
@@ -136,9 +136,7 @@
/obj/item/restraints/legcuffs/beartrap/energy/proc/dissipate()
if(!ismob(loc))
- var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
- sparks.set_up(1, 1, src)
- sparks.start()
+ do_sparks(1, 1, src)
qdel(src)
/obj/item/restraints/legcuffs/beartrap/energy/attack_hand(mob/user)
diff --git a/code/game/objects/items/weapons/lighters.dm b/code/game/objects/items/weapons/lighters.dm
index cca83a3917b..c6ece450f5e 100644
--- a/code/game/objects/items/weapons/lighters.dm
+++ b/code/game/objects/items/weapons/lighters.dm
@@ -24,8 +24,7 @@
icon_on = "zippoon"
icon_off = "zippo"
-/obj/item/lighter/random
- New()
+/obj/item/lighter/random/New()
var/color = pick("r","c","y","g")
icon_on = "lighter-[color]-on"
icon_off = "lighter-[color]"
@@ -183,6 +182,7 @@
attack_verb = list("burnt","singed")
processing_objects.Add(src)
update_icon()
+ return TRUE
/obj/item/match/proc/matchburnout()
if(lit)
@@ -196,6 +196,7 @@
desc = "A match. This one has seen better days."
attack_verb = list("flicked")
processing_objects.Remove(src)
+ return TRUE
/obj/item/match/dropped(mob/user)
matchburnout()
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 2dcbef5b1a5..8ad283a77da 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -215,16 +215,8 @@
throw_speed = 3
throw_range = 1
w_class = WEIGHT_CLASS_BULKY //So you can't hide it in your pocket or some such.
- var/datum/effect_system/spark_spread/spark_system
sharp = 1
-//Most of the other special functions are handled in their own files. aka special snowflake code so kewl
-/obj/item/melee/energy/blade/New()
- ..()
- spark_system = new /datum/effect_system/spark_spread()
- spark_system.set_up(5, 0, src)
- spark_system.attach(src)
-
/obj/item/melee/energy/blade/attack_self(mob/user)
return
diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm
index f8cc628dc01..a38f6e11873 100644
--- a/code/game/objects/items/weapons/misc.dm
+++ b/code/game/objects/items/weapons/misc.dm
@@ -89,25 +89,25 @@
icon_state = "lightning"
desc = "test lightning"
- New()
+/obj/item/lightning/New()
icon = midicon
icon_state = "1"
- afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)
- var/angle = get_angle(A, user)
-// to_chat(world, angle)
- angle = round(angle) + 45
- if(angle > 180)
- angle -= 180
- else
- angle += 180
+/obj/item/lightning/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)
+ var/angle = get_angle(A, user)
+ //to_chat(world, angle)
+ angle = round(angle) + 45
+ if(angle > 180)
+ angle -= 180
+ else
+ angle += 180
- if(!angle)
- angle = 1
-// to_chat(world, "adjusted [angle]")
- icon_state = "[angle]"
-// to_chat(world, "[angle] [(get_dist(user, A) - 1)]")
- user.Beam(A, "lightning", 'icons/obj/zap.dmi', 50, 15)
+ if(!angle)
+ angle = 1
+ //to_chat(world, "adjusted [angle]")
+ icon_state = "[angle]"
+ //to_chat(world, "[angle] [(get_dist(user, A) - 1)]")
+ user.Beam(A, "lightning", 'icons/obj/zap.dmi', 50, 15)
/obj/item/newton
name = "newton cradle"
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index a26858a1e73..e642e3b994a 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -18,10 +18,10 @@
/obj/item/mop/New()
..()
create_reagents(mopcap)
- janitorial_equipment += src
+ GLOB.janitorial_equipment += src
/obj/item/mop/Destroy()
- janitorial_equipment -= src
+ GLOB.janitorial_equipment -= src
return ..()
/obj/item/mop/proc/clean(turf/simulated/A)
diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm
index 7c8883ca7e8..dc466f479d0 100644
--- a/code/game/objects/items/weapons/paint.dm
+++ b/code/game/objects/items/weapons/paint.dm
@@ -13,7 +13,7 @@
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5,10,20,30,50,70)
volume = 70
- flags = OPENCONTAINER
+ container_type = OPENCONTAINER
/obj/item/reagent_containers/glass/paint/afterattack(turf/simulated/target, mob/user, proximity)
if(!proximity)
diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm
index c139155b57c..5fc6c38689a 100644
--- a/code/game/objects/items/weapons/rpd.dm
+++ b/code/game/objects/items/weapons/rpd.dm
@@ -71,7 +71,7 @@
if(!iconrotation && P.is_bent_pipe()) //Automatically rotates dispensed pipes if the user selected auto-rotation
P.dir = turn(user.dir, 135)
else if(!iconrotation && P.pipe_type in list(PIPE_CONNECTOR, PIPE_UVENT, PIPE_SCRUBBER, PIPE_HEAT_EXCHANGE, PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_INJECTOR, PIPE_PASV_VENT)) //Some pipes dispense oppositely to what you'd expect, but we don't want to do anything if they selected a direction
- P.flip()
+ P.dir = turn(user.dir, -180)
else if(iconrotation && P.is_bent_pipe()) //If user selected a rotation and the pipe is bent
P.dir = turn(iconrotation, -45)
else if(!iconrotation) //If user selected a rotation
diff --git a/code/game/objects/items/weapons/scissors.dm b/code/game/objects/items/weapons/scissors.dm
index 2f53a1200a9..ea134126b6a 100644
--- a/code/game/objects/items/weapons/scissors.dm
+++ b/code/game/objects/items/weapons/scissors.dm
@@ -35,8 +35,8 @@
var/datum/robolimb/robohead = all_robolimbs[C.model]
if(H.gender == MALE || isvulpkanin(H))
if(C.dna.species)
- for(var/i in facial_hair_styles_list)
- var/datum/sprite_accessory/facial_hair/tmp_facial = facial_hair_styles_list[i]
+ for(var/i in GLOB.facial_hair_styles_list)
+ var/datum/sprite_accessory/facial_hair/tmp_facial = GLOB.facial_hair_styles_list[i]
if(C.dna.species.name in tmp_facial.species_allowed) //If the species is allowed to have the style, add the style to the list. Or, if the character has a prosthetic head, give them the human hair styles.
if(C.dna.species.bodyflags & ALL_RPARTS) //If the character is of a species that can have full body prosthetics and their head doesn't suport human hair 'wigs', don't add the style to the list.
if(robohead.is_monitor)
@@ -53,13 +53,13 @@
to_chat(user, "You are unable to find anything on [H]'s face worth cutting. How disappointing. ")
return
else
- species_facial_hair = facial_hair_styles_list
+ species_facial_hair = GLOB.facial_hair_styles_list
var/f_new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in species_facial_hair
//handle normal hair
var/list/species_hair = list()
if(C.dna.species)
- for(var/i in hair_styles_public_list)
- var/datum/sprite_accessory/hair/tmp_hair = hair_styles_public_list[i]
+ for(var/i in GLOB.hair_styles_public_list)
+ var/datum/sprite_accessory/hair/tmp_hair = GLOB.hair_styles_public_list[i]
if(C.dna.species.name in tmp_hair.species_allowed) //If the species is allowed to have the style, add the style to the list. Or, if the character has a prosthetic head, give them the human facial hair styles.
if(C.dna.species.bodyflags & ALL_RPARTS) //If the character is of a species that can have full body prosthetics and their head doesn't suport human hair 'wigs', don't add the style to the list.
if(robohead.is_monitor)
@@ -76,7 +76,7 @@
to_chat(user, "You are unable to find anything on [H]'s head worth cutting. How disappointing. ")
return
else
- species_hair = hair_styles_public_list
+ species_hair = GLOB.hair_styles_public_list
var/h_new_style = input(user, "Select a hair style", "Grooming") as null|anything in species_hair
user.visible_message("[user] starts cutting [M]'s hair! ", "You start cutting [M]'s hair! ") //arguments for this are: 1. what others see 2. what the user sees. --Fixed grammar, (TGameCo)
playsound(loc, 'sound/goonstation/misc/Scissor.ogg', 100, 1)
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 85a0e679bb6..6d45e5b7add 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -89,6 +89,24 @@
icon_state = "clownpack"
item_state = "clownpack"
+/obj/item/storage/backpack/clown/syndie
+
+/obj/item/storage/backpack/clown/syndie/New()
+ ..()
+ new /obj/item/clothing/under/rank/clown(src)
+ new /obj/item/clothing/shoes/magboots/clown(src)
+ new /obj/item/clothing/mask/gas/voice/clown(src)
+ new /obj/item/radio/headset/headset_service(src)
+ new /obj/item/pda/clown(src)
+ new /obj/item/reagent_containers/food/snacks/grown/banana(src)
+ new /obj/item/stamp/clown(src)
+ new /obj/item/toy/crayon/rainbow(src)
+ new /obj/item/storage/fancy/crayons(src)
+ new /obj/item/reagent_containers/spray/waterflower(src)
+ new /obj/item/reagent_containers/food/drinks/bottle/bottleofbanana(src)
+ new /obj/item/instrument/bikehorn(src)
+ new /obj/item/bikehorn(src)
+
/obj/item/storage/backpack/mime
name = "Parcel Parceaux"
desc = "A silent backpack made for those silent workers. Silence Co."
@@ -167,10 +185,9 @@
desc = "An NT Deluxe satchel, with the finest quality leather and the company logo in a thin gold stitch"
icon_state = "nt_deluxe"
-/obj/item/storage/backpack/satchel/withwallet
- New()
- ..()
- new /obj/item/storage/wallet/random( src )
+/obj/item/storage/backpack/satchel/withwallet/New()
+ ..()
+ new /obj/item/storage/wallet/random(src)
/obj/item/storage/backpack/satchel_norm
name = "satchel"
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 3e7f2f6f8c9..4d0de3bd09e 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -135,10 +135,10 @@
origin_tech = "engineering=2"
slot_flags = SLOT_BELT | SLOT_POCKET
w_class = WEIGHT_CLASS_NORMAL
- storage_slots = 50
+ storage_slots = 10
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class
max_w_class = WEIGHT_CLASS_NORMAL
- can_hold = list(/obj/item/ore)
+ can_hold = list(/obj/item/stack/ore)
/obj/item/storage/bag/ore/cyborg
name = "cyborg mining satchel"
@@ -207,122 +207,122 @@
w_class = WEIGHT_CLASS_NORMAL
allow_quick_empty = 1 // this function is superceded
- New()
- ..()
- //verbs -= /obj/item/storage/verb/quick_empty
- //verbs += /obj/item/storage/bag/sheetsnatcher/quick_empty
+/obj/item/storage/bag/sheetsnatcher/New()
+ ..()
+ //verbs -= /obj/item/storage/verb/quick_empty
+ //verbs += /obj/item/storage/bag/sheetsnatcher/quick_empty
- can_be_inserted(obj/item/W as obj, stop_messages = 0)
- if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/wood))
- if(!stop_messages)
- to_chat(usr, "The snatcher does not accept [W].")
- return 0 //I don't care, but the existing code rejects them for not being "sheets" *shrug* -Sayu
- var/current = 0
- for(var/obj/item/stack/sheet/S in contents)
- current += S.amount
- if(capacity == current)//If it's full, you're done
- if(!stop_messages)
- to_chat(usr, "The snatcher is full. ")
- return 0
- return 1
+/obj/item/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W as obj, stop_messages = 0)
+ if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/wood))
+ if(!stop_messages)
+ to_chat(usr, "The snatcher does not accept [W].")
+ return 0 //I don't care, but the existing code rejects them for not being "sheets" *shrug* -Sayu
+ var/current = 0
+ for(var/obj/item/stack/sheet/S in contents)
+ current += S.amount
+ if(capacity == current)//If it's full, you're done
+ if(!stop_messages)
+ to_chat(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/sheet/S = W
- if(!istype(S)) return 0
+/obj/item/storage/bag/sheetsnatcher/handle_item_insertion(obj/item/W as obj, prevent_warning = 0)
+ var/obj/item/stack/sheet/S = W
+ if(!istype(S)) return 0
- var/amount
- var/inserted = 0
- var/current = 0
- for(var/obj/item/stack/sheet/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/sheet/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/sheet/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.unEquip(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/sheet/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.unEquip(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/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/sheet/I in contents)
- adjusted_contents++
- var/datum/numbered_display/D = new/datum/numbered_display(I)
- D.number = I.amount
- numbered_contents.Add( D )
+ //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/sheet/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.standard_orient_objs(row_num, col_count, numbered_contents)
- return
+ 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.standard_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/sheet/S in contents)
- while(S.amount)
- var/obj/item/stack/sheet/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/storage/bag/sheetsnatcher/quick_empty()
+ var/location = get_turf(src)
+ for(var/obj/item/stack/sheet/S in contents)
+ while(S.amount)
+ var/obj/item/stack/sheet/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/sheet/S = W
- if(!istype(S)) return 0
+/obj/item/storage/bag/sheetsnatcher/remove_from_storage(obj/item/W as obj, atom/new_location)
+ var/obj/item/stack/sheet/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/sheet/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/sheet/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 5ba58e2f313..67f32dbfd58 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -631,21 +631,21 @@
max_combined_w_class = 280
can_hold = list()
- New()
- ..()
- new /obj/item/crowbar(src)
- new /obj/item/screwdriver(src)
- new /obj/item/weldingtool/hugetank(src)
- new /obj/item/wirecutters(src)
- new /obj/item/wrench(src)
- new /obj/item/multitool(src)
- new /obj/item/stack/cable_coil(src)
+/obj/item/storage/belt/bluespace/admin/New()
+ ..()
+ new /obj/item/crowbar(src)
+ new /obj/item/screwdriver(src)
+ new /obj/item/weldingtool/hugetank(src)
+ new /obj/item/wirecutters(src)
+ new /obj/item/wrench(src)
+ new /obj/item/multitool(src)
+ new /obj/item/stack/cable_coil(src)
- new /obj/item/restraints/handcuffs(src)
- new /obj/item/dnainjector/xraymut(src)
- new /obj/item/dnainjector/firemut(src)
- new /obj/item/dnainjector/telemut(src)
- new /obj/item/dnainjector/hulkmut(src)
+ new /obj/item/restraints/handcuffs(src)
+ new /obj/item/dnainjector/xraymut(src)
+ new /obj/item/dnainjector/firemut(src)
+ new /obj/item/dnainjector/telemut(src)
+ new /obj/item/dnainjector/hulkmut(src)
// new /obj/item/spellbook(src) // for smoke effects, door openings, etc
// new /obj/item/magic/spellbook(src)
@@ -660,15 +660,15 @@
max_combined_w_class = 280
can_hold = list()
- New()
- ..()
- new /obj/item/crowbar(src)
- new /obj/item/screwdriver(src)
- new /obj/item/weldingtool/hugetank(src)
- new /obj/item/wirecutters(src)
- new /obj/item/wrench(src)
- new /obj/item/multitool(src)
- new /obj/item/stack/cable_coil(src)
+/obj/item/storage/belt/bluespace/sandbox/New()
+ ..()
+ new /obj/item/crowbar(src)
+ new /obj/item/screwdriver(src)
+ new /obj/item/weldingtool/hugetank(src)
+ new /obj/item/wirecutters(src)
+ new /obj/item/wrench(src)
+ new /obj/item/multitool(src)
+ new /obj/item/stack/cable_coil(src)
- new /obj/item/analyzer(src)
- new /obj/item/healthanalyzer(src)
+ new /obj/item/analyzer(src)
+ new /obj/item/healthanalyzer(src)
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index bb78ba208ec..0a256136d2e 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -74,9 +74,7 @@
overlays += image('icons/obj/storage.dmi', icon_locking)
locked = 0
if(istype(weapon, /obj/item/melee/energy/blade))
- var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
- spark_system.set_up(5, 0, src.loc)
- spark_system.start()
+ do_sparks(5, 0, loc)
playsound(loc, 'sound/weapons/blade1.ogg', 50, 1)
playsound(loc, "sparks", 50, 1)
to_chat(user, "You slice through the lock on [src].")
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index 4defb3b4aae..2d7c6842547 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -28,7 +28,7 @@
if(ishuman(usr)) //so monkeys can take off their backpacks -- Urist
var/mob/M = usr
- if(istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
+ if(istype(M.loc,/obj/mecha) || M.incapacitated(FALSE, TRUE, TRUE)) // Stops inventory actions in a mech as well as while being incapacitated
return
if(over_object == M && Adjacent(M)) // this must come before the screen objects only block
@@ -100,6 +100,8 @@
return L
/obj/item/storage/proc/show_to(mob/user as mob)
+ if(!user.client)
+ return
if(user.s_active != src)
for(var/obj/item/I in src)
if(I.on_found(user))
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index cd6fc31f820..e66bad8fbaf 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -60,12 +60,12 @@
new /obj/item/wirecutters(src)
new /obj/item/t_scanner(src)
new /obj/item/crowbar(src)
- new /obj/item/stack/cable_coil(src, 30, pickedcolor)
- new /obj/item/stack/cable_coil(src, 30, pickedcolor)
+ new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor)
+ new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor)
if(prob(5))
new /obj/item/clothing/gloves/color/yellow(src)
else
- new /obj/item/stack/cable_coil(src, 30, pickedcolor)
+ new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor)
/obj/item/storage/toolbox/syndicate
name = "suspicious looking toolbox"
@@ -108,7 +108,7 @@
new /obj/item/wrench(src)
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
- new /obj/item/stack/cable_coil(src, 30, pickedcolor)
+ new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor)
new /obj/item/wirecutters(src)
new /obj/item/multitool(src)
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 86c616df2f0..45d8fecf759 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -272,3 +272,4 @@ To apply, hold the injector a short distance away from the outer thigh before ap
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/balaclava(src)
new /obj/item/clothing/accessory/stethoscope(src)
+ new /obj/item/book/manual/engineering_hacking(src)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index a24beced667..b9d383b9308 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -139,12 +139,15 @@
/obj/item/melee/baton/proc/baton_stun(mob/living/L, mob/user)
+ if(!ismob(L)) //because this was being called on turfs for some reason
+ return
+
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.check_shields(0, "[user]'s [name]", src, MELEE_ATTACK)) //No message; check_shields() handles that
playsound(L, 'sound/weapons/Genhit.ogg', 50, 1)
return
-
+
L.Stun(stunforce)
L.Weaken(stunforce)
L.apply_effect(STUTTER, stunforce)
@@ -166,7 +169,7 @@
if(ishuman(L))
var/mob/living/carbon/human/H = L
- H.forcesay(hit_appends)
+ H.forcesay(GLOB.hit_appends)
/obj/item/melee/baton/emp_act(severity)
if(bcell)
diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm
index 364fd49847b..96dd853be09 100644
--- a/code/game/objects/items/weapons/tanks/watertank.dm
+++ b/code/game/objects/items/weapons/tanks/watertank.dm
@@ -116,7 +116,8 @@
amount_per_transfer_from_this = 50
possible_transfer_amounts = list(25,50,100)
volume = 500
- flags = NODROP | OPENCONTAINER | NOBLUDGEON
+ flags = NODROP | NOBLUDGEON
+ container_type = OPENCONTAINER
var/obj/item/watertank/tank
diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm
index 02a4696f435..a108d7e259d 100644
--- a/code/game/objects/items/weapons/teleportation.dm
+++ b/code/game/objects/items/weapons/teleportation.dm
@@ -59,14 +59,14 @@ Frequency:
if(sr)
temp += "Located Beacons: "
- for(var/obj/item/radio/beacon/W in beacons)
+ for(var/obj/item/radio/beacon/W in GLOB.beacons)
if(W.frequency == frequency && !W.syndicate)
if(W && W.z == z)
var/turf/TB = get_turf(W)
temp += "[W.code]: [TB.x], [TB.y], [TB.z] "
temp += "Located Implants: "
- for(var/obj/item/implant/tracking/T in tracked_implants)
+ for(var/obj/item/implant/tracking/T in GLOB.tracked_implants)
if(!T.implanted || !T.imp_in)
continue
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 08a6a3e168c..cbaa4cff554 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -120,7 +120,7 @@
name = "screwdriver"
desc = "You can be totally screwy with this."
icon = 'icons/obj/tools.dmi'
- icon_state = null
+ icon_state = "screwdriver_map"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 5
@@ -133,6 +133,7 @@
hitsound = 'sound/weapons/bladeslice.ogg'
usesound = 'sound/items/Screwdriver.ogg'
toolspeed = 1
+ var/random_color = TRUE //if the screwdriver uses random coloring
/obj/item/screwdriver/nuke
name = "screwdriver"
@@ -146,7 +147,7 @@
/obj/item/screwdriver/New(loc, var/param_color = null)
..()
- if(!icon_state)
+ if(random_color)
if(!param_color)
param_color = pick("red","blue","pink","brown","green","cyan","yellow")
icon_state = "screwdriver_[param_color]"
@@ -168,6 +169,7 @@
desc = "A screwdriver made of brass. The handle feels freezing cold."
icon_state = "screwdriver_brass"
toolspeed = 0.5
+ random_color = FALSE
/obj/item/screwdriver/abductor
name = "alien screwdriver"
@@ -176,6 +178,7 @@
icon_state = "screwdriver"
usesound = 'sound/items/PSHOOM.ogg'
toolspeed = 0.1
+ random_color = FALSE
/obj/item/screwdriver/power
name = "hand drill"
@@ -192,6 +195,7 @@
hitsound = 'sound/items/drill_hit.ogg'
usesound = 'sound/items/drill_use.ogg'
toolspeed = 0.25
+ random_color = FALSE
/obj/item/screwdriver/power/suicide_act(mob/user)
user.visible_message("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide! ")
@@ -215,7 +219,7 @@
name = "wirecutters"
desc = "This cuts wires."
icon = 'icons/obj/tools.dmi'
- icon_state = null
+ icon_state = "cutters"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 6
@@ -229,10 +233,11 @@
usesound = 'sound/items/Wirecutter.ogg'
sharp = 1
toolspeed = 1
+ var/random_color = TRUE
/obj/item/wirecutters/New(loc, param_color = null)
..()
- if(!icon_state)
+ if(random_color)
if(!param_color)
param_color = pick("yellow", "red")
icon_state = "cutters_[param_color]"
@@ -258,6 +263,7 @@
desc = "A pair of wirecutters made of brass. The handle feels freezing cold to the touch."
icon_state = "cutters_brass"
toolspeed = 0.5
+ random_color = FALSE
/obj/item/wirecutters/abductor
name = "alien wirecutters"
@@ -266,6 +272,7 @@
icon_state = "cutters"
toolspeed = 0.1
origin_tech = "materials=5;engineering=4;abductor=3"
+ random_color = FALSE
/obj/item/wirecutters/cyborg
name = "wirecutters"
@@ -281,6 +288,7 @@
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
usesound = 'sound/items/jaws_cut.ogg'
toolspeed = 0.25
+ random_color = FALSE
/obj/item/wirecutters/power/suicide_act(mob/user)
user.visible_message("[user] is wrapping \the [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off! ")
@@ -399,6 +407,7 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/S = H.bodyparts_by_name[user.zone_sel.selecting]
+
if(!S)
return
@@ -449,6 +458,9 @@
E.heal_damage(rembrute,0,0,1)
rembrute = nrembrute
user.visible_message("\The [user] patches some dents on \the [M]'s [E.name] with \the [src]. ")
+ if(H.bleed_rate && H.isSynthetic())
+ H.bleed_rate = 0
+ user.visible_message("\The [user] patches some leaks on [M] with \the [src]. ")
return 1
else
return ..()
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 3e7f3eaffe3..9418df86368 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -147,6 +147,14 @@
wield(user)
..()
+/obj/item/twohanded/required/on_give(mob/living/carbon/giver, mob/living/carbon/receiver)
+ var/obj/item/twohanded/required/H = receiver.get_inactive_hand()
+ if(H != null) //Check if he can wield it
+ receiver.drop_item() //Can't wear it so drop it
+ to_chat(receiver, "[src] is too cumbersome to carry in one hand! ")
+ return
+ equipped(receiver,receiver.hand ? slot_l_hand : slot_r_hand)
+
/obj/item/twohanded/required/equipped(mob/user, slot)
..()
if(slot == slot_l_hand || slot == slot_r_hand)
@@ -438,7 +446,7 @@
if(on)
playsound(loc, 'sound/weapons/chainsawstart.ogg', 50, 1)
force = on ? force_on : initial(force)
- throwforce = on ? force_on : initial(force)
+ throwforce = on ? force_on : initial(throwforce)
icon_state = "gchainsaw_[on ? "on" : "off"]"
if(hitsound == "swing_hit")
@@ -453,6 +461,16 @@
var/datum/action/A = X
A.UpdateButtonIcon()
+/obj/item/twohanded/required/chainsaw/attack_hand(mob/user)
+ . = ..()
+ force = on ? force_on : initial(force)
+ throwforce = on ? force_on : initial(throwforce)
+
+/obj/item/twohanded/required/chainsaw/on_give(mob/living/carbon/giver, mob/living/carbon/receiver)
+ . = ..()
+ force = on ? force_on : initial(force)
+ throwforce = on ? force_on : initial(throwforce)
+
/obj/item/twohanded/required/chainsaw/doomslayer
name = "OOOH BABY"
desc = "VRRRRRRR!!! "
@@ -596,9 +614,7 @@
origin_tech = "combat=4;powerstorage=7"
/obj/item/twohanded/mjollnir/proc/shock(mob/living/target)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread()
- s.set_up(5, 1, target.loc)
- s.start()
+ do_sparks(5, 1, target.loc)
target.visible_message("[target.name] was shocked by the [name]! ", \
"You feel a powerful shock course through your body sending you flying! ", \
"You hear a heavy electrical crack! ")
@@ -721,9 +737,7 @@
Z.take_organ_damage(0, 30)
user.visible_message("[user] slams the charged axe into [Z.name] with all [user.p_their()] might! ")
playsound(loc, 'sound/magic/lightningbolt.ogg', 5, 1)
- var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
- sparks.set_up(1, 1, src)
- sparks.start()
+ do_sparks(1, 1, src)
if(A && wielded && (istype(A, /obj/structure/window) || istype(A, /obj/structure/grille)))
if(istype(A, /obj/structure/window))
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index d31338dfe06..572ff92c4fa 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -104,8 +104,8 @@
playsound(loc, 'sound/weapons/slash.ogg', 100, 1)
/obj/attack_animal(mob/living/simple_animal/M)
- if(!M.melee_damage_upper && !M.obj_damage)
- M.custom_emote(1, "[M.friendly] [src]")
+ if((M.a_intent == INTENT_HELP && M.ckey) || (!M.melee_damage_upper && !M.obj_damage))
+ M.custom_emote(1, "[M.friendly] [src].")
return 0
else
var/play_soundeffect = 1
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 29d3f2663bc..cc2fa8d1d69 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -65,9 +65,9 @@
// Nada
/obj/Destroy()
- machines -= src
+ GLOB.machines -= src
processing_objects -= src
- fast_processing -= src
+ GLOB.fast_processing -= src
SSnanoui.close_uis(src)
return ..()
@@ -287,14 +287,14 @@ a {
return
speed_process = TRUE
processing_objects.Remove(src)
- fast_processing.Add(src)
+ GLOB.fast_processing.Add(src)
/obj/proc/makeNormalProcess()
if(!speed_process)
return
speed_process = FALSE
processing_objects.Add(src)
- fast_processing.Remove(src)
+ GLOB.fast_processing.Remove(src)
/obj/vv_get_dropdown()
. = ..()
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index f74a3b542ca..faf86394dba 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -32,8 +32,8 @@
..()
if(smooth)
if(ticker && ticker.current_state == GAME_STATE_PLAYING)
- smooth_icon(src)
- smooth_icon_neighbors(src)
+ queue_smooth(src)
+ queue_smooth_neighbors(src)
icon_state = ""
if(climbable)
verbs += /obj/structure/proc/climb_on
@@ -46,7 +46,7 @@
if(smooth)
var/turf/T = get_turf(src)
spawn(0)
- smooth_icon_neighbors(T)
+ queue_smooth_neighbors(T)
return ..()
/obj/structure/proc/climb_on()
@@ -64,26 +64,26 @@
if(C == user)
do_climb(user)
+/obj/structure/proc/density_check()
+ for(var/obj/O in orange(0, src))
+ if(O.density && !istype(O, /obj/machinery/door/window)) //Ignores windoors, as those already block climbing, otherwise a windoor on the opposite side of a table would prevent climbing.
+ return O
+ var/turf/T = get_turf(src)
+ if(T.density)
+ return T
+ return null
/obj/structure/proc/do_climb(var/mob/living/user)
-
if(!can_touch(user) || !climbable)
return
+ var/blocking_object = density_check()
+ if(blocking_object)
+ to_chat(user, "You cannot climb [src], as it is blocked by \a [blocking_object]! ")
+ return
- for(var/obj/O in range(0, src))
- if(O.density == 1 && O != src && !istype(O, /obj/machinery/door/window)) //Ignores windoors, as those already block climbing, otherwise a windoor on the opposite side of a table would prevent climbing.
- to_chat(user, "You cannot climb [src], as it is blocked by \a [O]! ")
- return
- for(var/turf/T in range(0, src))
- if(T.density == 1)
- to_chat(user, "You cannot climb [src], as it is blocked by \a [T]! ")
- return
var/turf/T = src.loc
if(!T || !istype(T)) return
- var/obj/machinery/door/poddoor/shutters/S = locate() in T.contents
- if(S && S.density) return
-
usr.visible_message("[user] starts climbing onto \the [src]! ")
climber = user
if(!do_after(user, 50, target = src))
@@ -94,11 +94,6 @@
climber = null
return
- S = locate() in T.contents
- if(S && S.density)
- climber = null
- return
-
usr.loc = get_turf(src)
if(get_turf(user) == get_turf(src))
usr.visible_message("[user] climbs onto \the [src]! ")
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 2f681c79d76..8e328c9400e 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -206,9 +206,7 @@
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "Unable to teleport, insufficient charge. ")
return
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
do_teleport(src, E.pad, 0)
to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left. ")
return
@@ -233,9 +231,7 @@
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "Unable to teleport, insufficient charge. ")
return
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
do_teleport(src, L)
to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left. ")
return
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 0309b4b6447..016d014e576 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -44,6 +44,8 @@
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/radio/headset/headset_sci(src)
new /obj/item/radio/headset/headset_sci(src)
+ new /obj/item/reagent_containers/food/drinks/oilcan(src)
+ new /obj/item/reagent_containers/food/drinks/oilcan(src)
/obj/structure/closet/secure_closet/RD
name = "research director's locker"
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index acf70b8aa7c..b5f715d165f 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -91,12 +91,11 @@
/obj/structure/closet/secure_closet/emag_act(mob/user)
if(!broken)
- broken = 1
- locked = 0
- desc = "It appears to be broken."
+ broken = TRUE
+ locked = FALSE
icon_state = icon_off
flick(icon_broken, src)
- to_chat(user, "You unlock \the [src]. ")
+ to_chat(user, "You break the lock on \the [src]. ")
/obj/structure/closet/secure_closet/attack_hand(mob/user)
add_fingerprint(user)
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 2a5639eb081..03fca152fa9 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -191,6 +191,7 @@
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/melee/baton/loaded(src)
+ new /obj/item/clothing/suit/armor/secjacket(src)
/obj/structure/closet/secure_closet/brigdoc
@@ -253,6 +254,7 @@
new /obj/item/clothing/accessory/holster(src)
new /obj/item/clothing/accessory/blue(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
+ new /obj/item/clothing/under/rank/centcom/blueshield(src)
/obj/structure/closet/secure_closet/ntrep
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 26b3e53362e..87cae2fb993 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -38,15 +38,13 @@
if(isliving(usr))
var/mob/living/L = usr
if(L.electrocute_act(17, src))
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
return 2
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
for(var/obj/O in src) //Objects
- O.forceMove(loc)
- for(var/mob/M in src) //Mobs
+ O.forceMove(loc)
+ for(var/mob/M in src) //Mobs
M.forceMove(loc)
icon_state = icon_opened
src.opened = 1
@@ -69,8 +67,8 @@
break
if(O.density || O.anchored || istype(O,/obj/structure/closet))
continue
- if(istype(O, /obj/structure/stool/bed)) //This is only necessary because of rollerbeds and swivel chairs.
- var/obj/structure/stool/bed/B = O
+ if(istype(O, /obj/structure/bed)) //This is only necessary because of rollerbeds and swivel chairs.
+ var/obj/structure/bed/B = O
if(B.buckled_mob)
continue
O.forceMove(src)
@@ -115,9 +113,7 @@
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "Unable to teleport, insufficient charge. ")
return
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
do_teleport(src, E.pad, 0)
to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left. ")
return
@@ -139,9 +135,7 @@
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "Unable to teleport, insufficient charge. ")
return
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
do_teleport(src, L)
to_chat(user, "Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left. ")
return
@@ -217,9 +211,7 @@
if(isliving(user))
var/mob/living/L = user
if(L.electrocute_act(17, src))
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(5, 1, src)
- s.start()
+ do_sparks(5, 1, src)
return
src.add_fingerprint(user)
src.toggle(user)
diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm
index a7233bf6a82..998120c3ee8 100644
--- a/code/game/objects/structures/dresser.dm
+++ b/code/game/objects/structures/dresser.dm
@@ -21,33 +21,33 @@
switch(choice)
if("Underwear")
var/list/valid_underwear = list()
- for(var/underwear in underwear_list)
- var/datum/sprite_accessory/S = underwear_list[underwear]
+ for(var/underwear in GLOB.underwear_list)
+ var/datum/sprite_accessory/S = GLOB.underwear_list[underwear]
if(!(H.dna.species.name in S.species_allowed))
continue
- valid_underwear[underwear] = underwear_list[underwear]
+ valid_underwear[underwear] = GLOB.underwear_list[underwear]
var/new_underwear = input(user, "Choose your underwear:", "Changing") as null|anything in valid_underwear
if(new_underwear)
H.underwear = new_underwear
if("Undershirt")
var/list/valid_undershirts = list()
- for(var/undershirt in undershirt_list)
- var/datum/sprite_accessory/S = undershirt_list[undershirt]
+ for(var/undershirt in GLOB.undershirt_list)
+ var/datum/sprite_accessory/S = GLOB.undershirt_list[undershirt]
if(!(H.dna.species.name in S.species_allowed))
continue
- valid_undershirts[undershirt] = undershirt_list[undershirt]
+ valid_undershirts[undershirt] = GLOB.undershirt_list[undershirt]
var/new_undershirt = input(user, "Choose your undershirt:", "Changing") as null|anything in valid_undershirts
if(new_undershirt)
H.undershirt = new_undershirt
if("Socks")
var/list/valid_sockstyles = list()
- for(var/sockstyle in socks_list)
- var/datum/sprite_accessory/S = socks_list[sockstyle]
+ for(var/sockstyle in GLOB.socks_list)
+ var/datum/sprite_accessory/S = GLOB.socks_list[sockstyle]
if(!(H.dna.species.name in S.species_allowed))
continue
- valid_sockstyles[sockstyle] = socks_list[sockstyle]
+ valid_sockstyles[sockstyle] = GLOB.socks_list[sockstyle]
var/new_socks = input(user, "Choose your socks:", "Changing") as null|anything in valid_sockstyles
if(new_socks)
H.socks = new_socks
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index 348c6fde265..dcbc7c017bb 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -69,9 +69,7 @@
A.updateicon()
flick("echair_shock", src)
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(12, 1, src)
- s.start()
+ do_sparks(12, 1, src)
visible_message("The electric chair went off! ", "You hear a deep sharp shock! ")
if(buckled_mob)
buckled_mob.electrocute_act(110, src, 1)
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 31239a5ecb4..98d17d71be9 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -82,7 +82,7 @@
if(density)
icon_state = initial(icon_state)
smooth = SMOOTH_TRUE
- smooth_icon(src)
+ queue_smooth(src)
else
icon_state = "fwall_open"
@@ -322,4 +322,4 @@
mineral = /obj/item/stack/sheet/mineral/plastitanium
walltype = /turf/simulated/wall/mineral/plastitanium
smooth = SMOOTH_MORE
- canSmoothWith = list(/turf/simulated/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater)
\ No newline at end of file
+ canSmoothWith = list(/turf/simulated/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater)
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 368391874ba..bd97d611576 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -211,6 +211,7 @@
layer = 5
w_class = WEIGHT_CLASS_HUGE
force = 10
+ force_wielded = 10
throwforce = 13
throw_speed = 2
throw_range = 4
@@ -222,9 +223,10 @@
icon_state = "plant-36"
/obj/item/twohanded/required/kirbyplants/equipped(mob/living/user)
+ . = ..()
var/image/I = image(icon = 'icons/obj/flora/plants.dmi' , icon_state = src.icon_state, loc = user)
I.override = 1
- user.add_alt_appearance("sneaking_mission", I, player_list)
+ user.add_alt_appearance("sneaking_mission", I, GLOB.player_list)
/obj/item/twohanded/required/kirbyplants/dropped(mob/living/user)
..()
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 6b8f5544428..22b796c4c20 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -254,9 +254,7 @@
var/obj/structure/cable/C = T.get_cable_node()
if(C)
if(electrocute_mob(user, C, src))
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, src)
- s.start()
+ do_sparks(3, 1, src)
return 1
else
return 0
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 1a7c6abb579..bba1dc18de6 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -7,7 +7,7 @@
icon_state = "cart"
anchored = 0
density = 1
- flags = OPENCONTAINER
+ container_type = OPENCONTAINER
//copypaste sorry
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
var/obj/item/storage/bag/trash/mybag = null
@@ -21,10 +21,10 @@
/obj/structure/janitorialcart/New()
..()
create_reagents(100)
- janitorial_equipment += src
+ GLOB.janitorial_equipment += src
/obj/structure/janitorialcart/Destroy()
- janitorial_equipment -= src
+ GLOB.janitorial_equipment -= src
QDEL_NULL(mybag)
QDEL_NULL(mymop)
QDEL_NULL(myspray)
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index c2e76703b68..f01cc8c41ca 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -4,20 +4,20 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "mopbucket"
density = 1
- flags = OPENCONTAINER
+ container_type = OPENCONTAINER
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
/obj/structure/mopbucket/New()
..()
create_reagents(100)
- janitorial_equipment += src
+ GLOB.janitorial_equipment += src
/obj/structure/mopbucket/full/New()
..()
reagents.add_reagent("water", 100)
/obj/structure/mopbucket/Destroy()
- janitorial_equipment -= src
+ GLOB.janitorial_equipment -= src
return ..()
/obj/structure/mopbucket/examine(mob/user)
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index b8c28046bd3..274645933b2 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -296,7 +296,8 @@
return ..()
/obj/structure/piano/Initialize()
- song.tempo = song.sanitize_tempo(song.tempo) // tick_lag isn't set when the map is loaded
+ if(song)
+ song.tempo = song.sanitize_tempo(song.tempo) // tick_lag isn't set when the map is loaded
..()
/obj/structure/piano/attack_hand(mob/user as mob)
diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm
index 3911d366ad6..19b6dc02617 100644
--- a/code/game/objects/structures/plasticflaps.dm
+++ b/code/game/objects/structures/plasticflaps.dm
@@ -65,8 +65,8 @@
if(istype(A) && A.checkpass(PASSGLASS))
return prob(60)
- var/obj/structure/stool/bed/B = A
- if(istype(A, /obj/structure/stool/bed) && B.buckled_mob)//if it's a bed/chair and someone is buckled, it will not pass
+ var/obj/structure/bed/B = A
+ if(istype(A, /obj/structure/bed) && B.buckled_mob)//if it's a bed/chair and someone is buckled, it will not pass
return 0
if(istype(A, /obj/structure/closet/cardboard))
@@ -133,4 +133,4 @@
return ..()
/obj/structure/plasticflaps/mining/CanAtmosPass(turf/T)
- return 0
\ No newline at end of file
+ return 0
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index e1d534decd0..8001ab4c2df 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -84,9 +84,9 @@ GLOBAL_LIST_EMPTY(safes)
to_chat(user, "You hear a [pick("clack", "scrape", "clank")] from [src]. ")
if(tum2 && (turns_total == 1 || prob(10))) // So multi turns dont super spam the chat
to_chat(user, "You hear a [pick("click", "chink", "clink")] from [src]. ")
- if(tumbler_1_pos == tumbler_1_open && turns_total == 1) // You cant hear tumblers if you spin fast!
+ if(tumbler_1_pos == tumbler_1_open && turns_total == 1 && tum1) // You cant hear tumblers if you spin fast!
to_chat(user, "You hear a [pick("tonk", "krunk", "plunk")] from [src]. ")
- if(tumbler_2_pos == tumbler_2_open && turns_total == 1 ) // You cant hear tumblers if you spin fast!
+ if(tumbler_2_pos == tumbler_2_open && turns_total == 1 && tum2) // You cant hear tumblers if you spin fast!
to_chat(user, "You hear a [pick("tink", "krink", "plink")] from [src]. ")
if(!locked)
if(user)
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index 2d122921b12..14ef2b08f2b 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -184,17 +184,17 @@
burn = TRUE
if(burn)
if(Proj.firer)
- message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)](? ) (FLW ) in ([x],[y],[z] - JMP )",0,1)
+ message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)]([ADMIN_QUE(Proj.firer,"?")]) ([ADMIN_FLW(Proj.firer,"FLW")]) in ([x],[y],[z] - JMP )",0,1)
log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])")
investigate_log("was ignited by [key_name(Proj.firer)]","atmos")
else
- message_admins("Plasma statue ignited by [Proj]. No known firer.(? ) (FLW ) in ([x],[y],[z] - JMP )",0,1)
+ message_admins("Plasma statue ignited by [Proj]. No known firer.([ADMIN_QUE(Proj.firer,"?")]) ([ADMIN_FLW(Proj.firer,"FLW")]) in ([x],[y],[z] - JMP )",0,1)
log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.")
..()
/obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params)
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
- message_admins("Plasma statue ignited by [key_name_admin(user)](? ) (FLW ) in ([x],[y],[z] - JMP )",0,1)
+ message_admins("Plasma statue ignited by [key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) in ([x],[y],[z] - JMP )",0,1)
log_game("Plasma statue ignited by [key_name(user)] in ([x],[y],[z])")
investigate_log("was ignited by [key_name(user)]","atmos")
ignite(is_hot(W))
diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
index 52b8e76b11d..ddb29ee0566 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
@@ -80,11 +80,12 @@
density = TRUE
icon_state = "up"
M.pixel_y = initial(M.pixel_y)
- else
- density = FALSE
- icon_state = "down"
- M.pixel_x = M.get_standard_pixel_x_offset(M.lying)
- M.pixel_y = M.get_standard_pixel_y_offset(M.lying)
+
+/obj/structure/bed/roller/post_unbuckle_mob(mob/living/M)
+ density = FALSE
+ icon_state = "down"
+ M.pixel_x = M.get_standard_pixel_x_offset(M.lying)
+ M.pixel_y = M.get_standard_pixel_y_offset(M.lying)
/obj/item/roller
name = "roller bed"
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 91f348d0106..999e90cd89f 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -50,8 +50,8 @@
/obj/structure/table/update_icon()
if(smooth && !flipped)
icon_state = ""
- smooth_icon(src)
- smooth_icon_neighbors(src)
+ queue_smooth(src)
+ queue_smooth_neighbors(src)
if(flipped)
clear_smooth_overlays()
@@ -82,6 +82,10 @@
new /obj/structure/table/reinforced/brass(loc)
qdel(src)
+/obj/structure/table/do_climb(mob/living/user)
+ . = ..()
+ item_placed(user)
+
/obj/structure/table/attack_hand(mob/living/user)
..()
if(climber)
@@ -91,6 +95,9 @@
/obj/structure/table/attack_tk() // no telehulk sorry
return
+/obj/structure/table/proc/item_placed(item)
+ return
+
/obj/structure/table/CanPass(atom/movable/mover, turf/target, height=0)
if(height == 0)
return 1
@@ -173,19 +180,24 @@
var/obj/item/grab/G = I
if(G.affecting.buckled)
to_chat(user, "[G.affecting] is buckled to [G.affecting.buckled]! ")
- return 0
+ return FALSE
if(G.state < GRAB_AGGRESSIVE)
to_chat(user, "You need a better grip to do that! ")
- return 0
+ return FALSE
if(!G.confirm())
- return 0
+ return FALSE
+ var/blocking_object = density_check()
+ if(blocking_object)
+ to_chat(user, "You cannot do this there is \a [blocking_object] in the way! ")
+ return FALSE
G.affecting.forceMove(get_turf(src))
G.affecting.Weaken(2)
+ item_placed(G.affecting)
G.affecting.visible_message("[G.assailant] pushes [G.affecting] onto [src]. ", \
"[G.assailant] pushes [G.affecting] onto [src]. ")
add_attack_logs(G.assailant, G.affecting, "Pushed onto a table")
qdel(I)
- return 1
+ return TRUE
qdel(I)
/obj/structure/table/attackby(obj/item/I, mob/user, params)
@@ -221,6 +233,7 @@
//Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf)
I.pixel_x = Clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2)
I.pixel_y = Clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
+ item_placed(I)
else
return ..()
@@ -274,6 +287,9 @@
set category = "Object"
set src in oview(1)
+ if(!can_touch(usr) || ismouse(usr))
+ return
+
if(!unflip())
to_chat(usr, "It won't budge. ")
return
@@ -545,6 +561,72 @@
/obj/structure/table/reinforced/brass/ratvar_act()
obj_integrity = max_integrity
+/obj/structure/table/tray
+ name = "surgical tray"
+ desc = "A small metal tray with wheels."
+ anchored = FALSE
+ smooth = SMOOTH_FALSE
+ icon = 'icons/obj/stationobjs.dmi'
+ icon_state = "tray"
+ buildstack = /obj/item/stack/sheet/mineral/titanium
+ buildstackamount = 2
+ var/list/typecache_can_hold = list(/mob, /obj/item)
+ var/list/held_items = list()
+
+/obj/structure/table/tray/Initialize()
+ . = ..()
+ verbs -= /obj/structure/table/verb/do_flip
+ typecache_can_hold = typecacheof(typecache_can_hold)
+ for(var/atom/movable/held in get_turf(src))
+ if(is_type_in_typecache(held, typecache_can_hold))
+ held_items += held.UID()
+
+/obj/structure/table/tray/Move(NewLoc, direct)
+ var/atom/OldLoc = loc
+
+ . = ..()
+ if(!.) // ..() will return 0 if we didn't actually move anywhere.
+ return .
+
+ if(direct & (direct - 1)) // This represents a diagonal movement, which is split into multiple cardinal movements. We'll handle moving the items on the cardinals only.
+ return .
+
+ playsound(loc, pick('sound/items/cartwheel1.ogg', 'sound/items/cartwheel2.ogg'), 100, 1, ignore_walls = FALSE)
+
+ var/atom/movable/held
+ for(var/held_uid in held_items)
+ held = locateUID(held_uid)
+ if(!held)
+ held_items -= held_uid
+ continue
+ if(OldLoc != held.loc)
+ held_items -= held_uid
+ continue
+ held.forceMove(NewLoc)
+
+/obj/structure/table/tray/item_placed(atom/movable/item)
+ . = ..()
+ if(is_type_in_typecache(item, typecache_can_hold))
+ held_items += item.UID()
+
+/obj/structure/table/tray/deconstruct(disassembled = TRUE, wrench_disassembly = 0)
+ if(can_deconstruct)
+ var/turf/T = get_turf(src)
+ new buildstack(T, buildstackamount)
+ qdel(src)
+
+/obj/structure/table/tray/deconstruction_hints(mob/user)
+ to_chat(user, "It is held together by some screws and bolts . ")
+
+/obj/structure/table/tray/flip()
+ return 0
+
+/obj/structure/table/tray/narsie_act()
+ return 0
+
+/obj/structure/table/tray/ratvar_act()
+ return 0
+
/*
* Racks
*/
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 751ade6081f..e657e9f8538 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -115,8 +115,8 @@
if(!open)
return
var/obj/item/reagent_containers/RG = I
- if(RG.is_open_container())
- if(RG.reagents.total_volume >= RG.volume)
+ if(RG.is_refillable())
+ if(RG.reagents.holder_full())
to_chat(user, "[RG] is full. ")
else
RG.reagents.add_reagent("toiletwater", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 25c78f6e972..a33e4176599 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -65,7 +65,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
else
to_chat(user, "The window is unscrewed from the floor, and could be deconstructed by wrenching . ")
if(!anchored && !fulltile)
- to_chat(user, "Alt-click to rotate it clockwise. ")
+ to_chat(user, "Alt-click to rotate it. ")
/obj/structure/window/New(Loc, direct)
..()
@@ -355,7 +355,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
set category = "Object"
set src in oview(1)
- if(usr.stat || !usr.canmove || usr.restrained())
+ if(usr.incapacitated())
return
if(anchored)
@@ -378,7 +378,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
set category = "Object"
set src in oview(1)
- if(usr.stat || !usr.canmove || usr.restrained())
+ if(usr.incapacitated())
return
if(anchored)
@@ -397,12 +397,31 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
return TRUE
/obj/structure/window/AltClick(mob/user)
+
if(user.incapacitated())
to_chat(user, "You can't do that right now! ")
return
+
if(!Adjacent(user))
+ to_chat(user, "Move closer to the window! ")
return
- revrotate()
+
+ if(anchored)
+ to_chat(user, "[src] cannot be rotated while it is fastened to the floor! ")
+ return FALSE
+
+ var/target_dir = turn(dir, 270)
+
+ if(!valid_window_location(loc, target_dir))
+ target_dir = turn(dir, 90)
+ if(!valid_window_location(loc, target_dir))
+ to_chat(user, "There is no room to rotate the [src] ")
+ return FALSE
+
+ setDir(target_dir)
+ ini_dir = dir
+ add_fingerprint(user)
+ return TRUE
/obj/structure/window/Destroy()
density = FALSE
@@ -425,7 +444,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
/obj/structure/window/proc/update_nearby_icons()
update_icon()
if(smooth)
- smooth_icon_neighbors(src)
+ queue_smooth_neighbors(src)
/obj/structure/window/update_icon()
if(!QDELETED(src))
@@ -434,7 +453,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
var/ratio = obj_integrity / max_integrity
ratio = CEILING(ratio*4, 1) * 25
if(smooth)
- smooth_icon(src)
+ queue_smooth(src)
overlays -= crack_overlay
if(ratio > 75)
return
@@ -714,4 +733,4 @@ obj/structure/window/full/reinforced/ice
dir = FULLTILE_WINDOW_DIR
max_integrity = 120
level = 3
- glass_amount = 2
\ No newline at end of file
+ glass_amount = 2
diff --git a/code/game/sound.dm b/code/game/sound.dm
index 66746ece0ae..ed42af1223f 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -11,7 +11,7 @@
// Looping through the player list has the added bonus of working for mobs inside containers
var/sound/S = sound(get_sfx(soundin))
var/maxdistance = (world.view + extrarange) * 3
- var/list/listeners = player_list
+ var/list/listeners = GLOB.player_list
if(!ignore_walls) //these sounds don't carry through walls
listeners = listeners & hearers(maxdistance, turf_source)
for(var/P in listeners)
@@ -86,7 +86,7 @@
/proc/sound_to_playing_players(soundin, volume = 100, vary = FALSE, frequency = 0, falloff = FALSE, channel = 0, pressure_affected = FALSE, sound/S)
if(!S)
S = sound(get_sfx(soundin))
- for(var/m in player_list)
+ for(var/m in GLOB.player_list)
if(ismob(m) && !isnewplayer(m))
var/mob/M = m
M.playsound_local(M, null, volume, vary, frequency, falloff, channel, pressure_affected, S)
@@ -146,4 +146,7 @@
'sound/machines/terminal_button07.ogg', 'sound/machines/terminal_button08.ogg')
if("growls")
soundin = pick('sound/goonstation/voice/growl1.ogg', 'sound/goonstation/voice/growl2.ogg', 'sound/goonstation/voice/growl3.ogg')
+
+ if("bonebreak")
+ soundin = pick('sound/effects/bone_break_1.ogg', 'sound/effects/bone_break_2.ogg', 'sound/effects/bone_break_3.ogg', 'sound/effects/bone_break_4.ogg', 'sound/effects/bone_break_5.ogg', 'sound/effects/bone_break_6.ogg')
return soundin
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index fedbfaa5929..21dbdb9e024 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -85,6 +85,6 @@
/turf/simulated/ChangeTurf(var/path)
. = ..()
- smooth_icon_neighbors(src)
+ queue_smooth_neighbors(src)
/turf/simulated/proc/is_shielded()
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 42d241404b1..d26a24b39a2 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -180,7 +180,6 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
var/turf/simulated/floor/plating/P = pry_tile(CB, user, TRUE)
if(!istype(P))
return
- update_icon()
P.attackby(T, user, params)
/turf/simulated/floor/proc/pry_tile(obj/item/C, mob/user, silent = FALSE)
diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm
index 1eb86650e4d..e9f8d96e70f 100644
--- a/code/game/turfs/simulated/floor/fancy_floor.dm
+++ b/code/game/turfs/simulated/floor/fancy_floor.dm
@@ -73,8 +73,7 @@
if(..())
return
if(istype(C, /obj/item/shovel))
- new /obj/item/ore/glass(src)
- new /obj/item/ore/glass(src) //Make some sand if you shovel grass
+ new /obj/item/stack/ore/glass(src, 2) //Make some sand if you shovel grass
to_chat(user, "You shovel the grass. ")
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
make_plating()
@@ -91,8 +90,7 @@
if(..())
return
if(istype(W, /obj/item/shovel))
- new /obj/item/ore/glass/basalt(src)
- new /obj/item/ore/glass/basalt(src)
+ new /obj/item/stack/ore/glass/basalt(src, 2)
user.visible_message("[user] digs up [src]. ", "You uproot [src]. ")
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
make_plating()
@@ -130,11 +128,11 @@
return 0
if(!broken && !burnt)
if(smooth)
- smooth_icon(src)
+ queue_smooth(src)
else
make_plating()
if(smooth)
- smooth_icon_neighbors(src)
+ queue_smooth_neighbors(src)
/turf/simulated/floor/carpet/break_tile()
broken = 1
diff --git a/code/game/turfs/simulated/floor/mineral.dm b/code/game/turfs/simulated/floor/mineral.dm
index d2e147d9532..f5a07bf9241 100644
--- a/code/game/turfs/simulated/floor/mineral.dm
+++ b/code/game/turfs/simulated/floor/mineral.dm
@@ -38,7 +38,7 @@
/turf/simulated/floor/mineral/plasma/attackby(obj/item/W, mob/user, params)
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
- message_admins("Plasma flooring was ignited by [key_name_admin(user)](? ) (FLW ) in ([x],[y],[z] - JMP )",0,1)
+ message_admins("Plasma flooring was ignited by [key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) in ([x],[y],[z] - JMP )",0,1)
log_game("Plasma flooring was ignited by [key_name(user)] in ([x],[y],[z])")
investigate_log("was ignited by [key_name(user)]","atmos")
ignite(is_hot(W))
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index 7f71cf981bd..c6de130c81a 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -15,9 +15,6 @@
/turf/simulated/floor/plating/New()
..()
icon_plating = icon_state
- if(icon == 'icons/turf/floors/plating.dmi')
- smooth = SMOOTH_MORE
- canSmoothWith = list(/turf/simulated/floor/plating, /turf/space)
update_icon()
/turf/simulated/floor/plating/update_icon()
@@ -25,7 +22,6 @@
return
if(!broken && !burnt)
icon_state = icon_plating //Because asteroids are 'platings' too.
- underlays += image(icon, icon_state)
/turf/simulated/floor/plating/attackby(obj/item/C, mob/user, params)
if(..())
@@ -199,9 +195,13 @@
oxygen = 0
nitrogen = 0
+/turf/simulated/floor/plating/ironsand
+ name = "Iron Sand"
+ icon = 'icons/turf/floors/ironsand.dmi'
+ icon_state = "ironsand1"
+
/turf/simulated/floor/plating/ironsand/New()
..()
- name = "Iron Sand"
icon_state = "ironsand[rand(1,15)]"
/turf/simulated/floor/plating/snow
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index c22c7530505..6008b093c5a 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -72,7 +72,7 @@
if(!damage_overlays[1]) //list hasn't been populated
generate_overlays()
- smooth_icon(src)
+ queue_smooth(src)
if(!damage)
if(damage_overlay)
overlays -= damage_overlays[damage_overlay]
diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm
index eb054ba19ed..f1837173d6d 100644
--- a/code/game/turfs/simulated/walls_reinforced.dm
+++ b/code/game/turfs/simulated/walls_reinforced.dm
@@ -65,7 +65,7 @@
d_state = RWALL_INTACT
update_icon()
- smooth_icon_neighbors(src)
+ queue_smooth_neighbors(src)
to_chat(user, "You repair the last of the damage. ")
return TRUE
@@ -84,7 +84,7 @@
to_chat(user, "You add an additional layer of coating to the wall. ")
ChangeTurf(/turf/simulated/wall/r_wall/coated)
update_icon()
- smooth_icon_neighbors(src)
+ queue_smooth_neighbors(src)
can_be_reinforced = FALSE
return TRUE
return FALSE
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 2e60537ce6f..d7ed44c3c9a 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -39,18 +39,18 @@
for(var/atom/movable/AM in src)
Entered(AM)
if(smooth && ticker && ticker.current_state == GAME_STATE_PLAYING)
- smooth_icon(src)
+ queue_smooth(src)
/hook/startup/proc/smooth_world()
var/watch = start_watch()
log_startup_progress("Smoothing atoms...")
for(var/turf/T in world)
if(T.smooth)
- smooth_icon(T)
+ queue_smooth(T)
for(var/A in T)
var/atom/AA = A
if(AA.smooth)
- smooth_icon(AA)
+ queue_smooth(AA)
log_startup_progress(" Smoothed atoms in [stop_watch(watch)]s.")
return 1
@@ -226,8 +226,6 @@
for(var/obj/structure/cable/C in contents)
qdel(C)
- smooth_icon(src)
-
/turf/simulated/AfterChange(ignore_air, keep_cabling = FALSE)
..()
RemoveLattice()
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 29d5e41b716..a35047bb9ad 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -58,7 +58,7 @@ var/global/admin_ooc_colour = "#b82e00"
if((prefs.toggles & MEMBER_PUBLIC))
display_colour = member_ooc_colour
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(C.prefs.toggles & CHAT_OOC)
var/display_name = key
@@ -198,13 +198,13 @@ var/global/admin_ooc_colour = "#b82e00"
if(mob.stat != DEAD)
display_name = mob.name
- for(var/client/target in clients)
+ for(var/client/target in GLOB.clients)
if(target.prefs.toggles & CHAT_LOOC)
var/prefix = ""
var/admin_stuff = ""
var/send = 0
- if(target in admins)
+ if(target in GLOB.admins)
if(check_rights(R_ADMIN|R_MOD,0,target.mob))
admin_stuff += "/([key])"
if(target != src)
@@ -221,7 +221,7 @@ var/global/admin_ooc_colour = "#b82e00"
send = 1
prefix = " (Eye)"
- if(!send && (target in admins))
+ if(!send && (target in GLOB.admins))
if(check_rights(R_ADMIN|R_MOD,0,target.mob))
send = 1
prefix = "(R)"
diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index dd8123b2876..8a322edd2f8 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -9,7 +9,7 @@
var/list/Lines = list()
if(check_rights(R_ADMIN,0))
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(C.holder && C.holder.big_brother && !check_rights(R_PERMISSIONS, 0)) // need PERMISSIONS to see BB
continue
@@ -47,10 +47,10 @@
if(is_special_character(C.mob))
entry += " - Antagonist "
- entry += " (? )"
+ entry += " ([ADMIN_QUE(C.mob,"?")])"
Lines += entry
else
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(C.holder && C.holder.big_brother) // BB doesn't show up at all
continue
@@ -74,7 +74,7 @@
var/num_mods_online = 0
var/num_admins_online = 0
if(holder)
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(check_rights(R_ADMIN, 0, C.mob))
if(C.holder.fakekey && !check_rights(R_ADMIN, 0)) //Mentors can't see stealthmins
@@ -116,7 +116,7 @@
modmsg += "\n"
num_mods_online++
else
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(check_rights(R_ADMIN, 0, C.mob))
if(!C.holder.fakekey)
diff --git a/code/game/world.dm b/code/game/world.dm
index bb5df66be53..80bd980f404 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -82,7 +82,7 @@ var/world_topic_spam_protect_time = world.timeofday
else if("players" in input)
var/n = 0
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.client)
n++
return n
@@ -107,7 +107,7 @@ var/world_topic_spam_protect_time = world.timeofday
var/player_count = 0
var/admin_count = 0
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(C.holder)
if(C.holder.fakekey)
continue //so stealthmins aren't revealed by the hub
@@ -185,7 +185,7 @@ var/world_topic_spam_protect_time = world.timeofday
var/client/C
- for(var/client/K in clients)
+ for(var/client/K in GLOB.clients)
if(K.ckey == input["adminmsg"])
C = K
break
@@ -201,7 +201,7 @@ var/world_topic_spam_protect_time = world.timeofday
C << 'sound/effects/adminhelp.ogg'
to_chat(C, message)
- for(var/client/A in admins)
+ for(var/client/A in GLOB.admins)
if(A != C)
to_chat(A, amessage)
@@ -224,7 +224,7 @@ var/world_topic_spam_protect_time = world.timeofday
if(input["key"] != config.comms_password)
return "Bad Key"
else
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
to_chat(C, "PR: [input["announce"]] ")
else if("kick" in input)
@@ -237,7 +237,7 @@ var/world_topic_spam_protect_time = world.timeofday
var/client/C
- for(var/client/K in clients)
+ for(var/client/K in GLOB.clients)
if(K.ckey == input["kick"])
C = K
break
@@ -305,8 +305,8 @@ var/world_topic_spam_protect_time = world.timeofday
return
to_chat(world, "Rebooting world in [delay/10] [delay > 10 ? "seconds" : "second"]. [reason] ")
- var/round_end_sound = pick(round_end_sounds)
- var/sound_length = round_end_sounds[round_end_sound]
+ var/round_end_sound = pick(GLOB.round_end_sounds)
+ var/sound_length = GLOB.round_end_sounds[round_end_sound]
if(delay > sound_length) // If there's time, play the round-end sound before rebooting
spawn(delay - sound_length)
if(!ticker.delay_end)
@@ -324,7 +324,7 @@ var/world_topic_spam_protect_time = world.timeofday
processScheduler.stop()
shutdown_logging() // Past this point, no logging procs can be used, at risk of data loss.
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite
C << link("byond://[config.server]")
@@ -407,7 +407,7 @@ var/world_topic_spam_protect_time = world.timeofday
features += "AI allowed"
var/n = 0
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.client)
n++
diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm
index f04f36a7bcc..47085a8b749 100644
--- a/code/modules/admin/DB ban/functions.dm
+++ b/code/modules/admin/DB ban/functions.dm
@@ -100,14 +100,14 @@ datum/admins/proc/DB_ban_record(var/bantype, var/mob/banned_mob, var/duration =
return
var/who
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(!who)
who = "[C]"
else
who += ", [C]"
var/adminwho
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(!adminwho)
adminwho = "[C]"
else
diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm
index 4c905a0b517..ec9fa9af05e 100644
--- a/code/modules/admin/IsBanned.dm
+++ b/code/modules/admin/IsBanned.dm
@@ -9,9 +9,9 @@ world/IsBanned(key,address,computer_id)
return list("reason"="invalid login data", "desc"="Error: Could not check ban status, Please try again. Error message: Your computer provided an invalid Computer ID.")
var/admin = 0
var/ckey = ckey(key)
- if((ckey in admin_datums) || (ckey in deadmins))
+ if((ckey in admin_datums) || (ckey in GLOB.deadmins))
var/datum/admins/A = admin_datums[ckey]
- if(A.rights & R_ADMIN)
+ if(A && (A.rights & R_ADMIN))
admin = 1
//Guest Checking
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index f401589bf90..2c16a0feb49 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -4,7 +4,7 @@ var/global/nologevent = 0
////////////////////////////////
/proc/message_admins(var/msg)
msg = "ADMIN LOG: [msg] "
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN & C.holder.rights)
if(C.prefs && !(C.prefs.toggles & CHAT_NO_ADMINLOGS))
to_chat(C, msg)
@@ -12,7 +12,7 @@ var/global/nologevent = 0
/proc/msg_admin_attack(var/text, var/loglevel)
if(!nologevent)
var/rendered = "ATTACK: [text] "
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN & C.holder.rights)
if(C.prefs.atklog == ATKLOG_NONE)
continue
@@ -23,7 +23,7 @@ var/global/nologevent = 0
/proc/message_adminTicket(var/msg)
msg = "ADMIN TICKET: [msg] "
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN & C.holder.rights)
if(C.prefs && !(C.prefs.toggles & CHAT_NO_TICKETLOGS))
to_chat(C, msg)
@@ -31,7 +31,7 @@ var/global/nologevent = 0
///////////////////////////////////////////////////////////////////////////////////////////////Panels
-/datum/admins/proc/show_player_panel(var/mob/M in mob_list)
+/datum/admins/proc/show_player_panel(var/mob/M in GLOB.mob_list)
set category = "Admin"
set name = "Show Player Panel"
set desc="Edit player (respawn, ban, heal, etc)"
@@ -53,13 +53,13 @@ var/global/nologevent = 0
if(istype(M, /mob/new_player))
body += " Hasn't Entered Game "
else
- body += " \[Heal \] "
+ body += " \[Heal \] "
body += " \[ "
body += "VV - "
- body += "TP - "
- body += "PM - "
- body += "SM - "
+ body += "[ADMIN_TP(M,"TP")] - "
+ body += "PM - "
+ body += "[ADMIN_SM(M,"SM")] - "
if(ishuman(M) && M.mind)
body += "HM -"
body += "[admin_jump_link(M)]\] "
@@ -70,45 +70,45 @@ var/global/nologevent = 0
if(M.client.related_accounts_ip.len)
body += "Related accounts by IP: [jointext(M.client.related_accounts_ip, " - ")] "
- body += "Kick | "
+ body += "Kick | "
body += "Warn | "
- body += "Ban | "
- body += "Jobban | "
- body += "Appearance Ban | "
+ body += "Ban | "
+ body += "Jobban | "
+ body += "Appearance Ban | "
body += "Notes | "
if(M.client)
if(M.client.check_watchlist(M.client.ckey))
body += "Remove from Watchlist | "
body += "Edit Watchlist Reason "
else
- body += "Add to Watchlist "
+ body += "Add to Watchlist "
if(M.client)
- body += "| Prison | "
- body += "\ Send back to Lobby | "
+ body += "| Prison | "
+ body += "\ Send back to Lobby | "
var/muted = M.client.prefs.muted
body += {"Mute:
- \[IC |
- OOC |
- PRAY |
- ADMINHELP |
- DEADCHAT \]
- (toggle all )
+ \[IC |
+ OOC |
+ PRAY |
+ ADMINHELP |
+ DEADCHAT \]
+ (toggle all )
"}
var/jumptoeye = ""
if(isAI(M))
var/mob/living/silicon/ai/A = M
if(A.client && A.eyeobj) // No point following clientless AI eyes
- jumptoeye = " (Eye ) "
+ jumptoeye = " (Eye ) "
body += {"
- Jump to [jumptoeye] |
- Get |
- Send To
+ Jump to [jumptoeye] |
+ Get |
+ Send To
- [check_rights(R_ADMIN,0) ? "Traitor panel | " : "" ]
- Narrate to |
- Subtle message
+ [check_rights(R_ADMIN,0) ? "[ADMIN_TP(M,"Traitor panel")] | " : "" ]
+ Narrate to |
+ [ADMIN_SM(M,"Subtle message")]
"}
if(check_rights(R_EVENT, 0))
@@ -128,39 +128,39 @@ var/global/nologevent = 0
if(issmall(M))
body += "Monkeyized | "
else
- body += "Monkeyize | "
+ body += "Monkeyize | "
//Corgi
if(iscorgi(M))
body += "Corgized | "
else
- body += "Corgize | "
+ body += "Corgize | "
//AI / Cyborg
if(isAI(M))
body += "Is an AI "
else if(ishuman(M))
- body += {"Make AI |
- Make Mask |
- Make Robot |
- Make Alien |
- Make Slime |
- Make Superhero
+ body += {"Make AI |
+ Make Mask |
+ Make Robot |
+ Make Alien |
+ Make Slime |
+ Make Superhero
"}
//Simple Animals
if(isanimal(M))
- body += "Re-Animalize | "
+ body += "Re-Animalize | "
else
- body += "Animalize | "
+ body += "Animalize | "
if(istype(M, /mob/dead/observer))
- body += "Re-incarnate | "
+ body += "Re-incarnate | "
if(ispAI(M))
body += "Is a pAI "
else
- body += "Make pAI | "
+ body += "Make pAI | "
// DNA2 - Admin Hax
if(M.dna && iscarbon(M))
@@ -175,7 +175,7 @@ var/global/nologevent = 0
if(bname)
var/bstate=M.dna.GetSEState(block)
var/bcolor="[(bstate)?"#006600":"#ff0000"]"
- body += "[bname] [block] "
+ body += "[bname] [block] "
else
body += "[block]"
body+=""
@@ -183,39 +183,39 @@ var/global/nologevent = 0
body += {"
Rudimentary transformation: These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.
- Observer |
- \[ Alien: Drone ,
- Hunter ,
- Queen ,
- Sentinel ,
- Larva \]
- Human
- \[ slime: Baby ,
- Adult \]
- Monkey |
- Cyborg |
- Cat |
- Runtime |
- Corgi |
- Ian |
- Crab |
- Coffee |
- \[ Construct: Armoured ,
- Builder ,
- Wraith \]
- Shade
+ Observer |
+ \[ Alien: Drone ,
+ Hunter ,
+ Queen ,
+ Sentinel ,
+ Larva \]
+ Human
+ \[ slime: Baby ,
+ Adult \]
+ Monkey |
+ Cyborg |
+ Cat |
+ Runtime |
+ Corgi |
+ Ian |
+ Crab |
+ Coffee |
+ \[ Construct: Armoured ,
+ Builder ,
+ Wraith \]
+ Shade
"}
if(M.client)
body += {"
Other actions:
- Forcesay |
- Admin Room |
- Thunderdome 1 |
- Thunderdome 2 |
- Thunderdome Admin |
- Thunderdome Observer |
+ Forcesay |
+ Admin Room |
+ Thunderdome 1 |
+ Thunderdome 2 |
+ Thunderdome Admin |
+ Thunderdome Observer |
"}
body += {"
@@ -827,7 +827,7 @@ var/global/nologevent = 0
log_admin("[key_name(usr)] spawned [chosen] at ([usr.x],[usr.y],[usr.z])")
feedback_add_details("admin_verb","SA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
-/datum/admins/proc/show_traitor_panel(var/mob/M in mob_list)
+/datum/admins/proc/show_traitor_panel(var/mob/M in GLOB.mob_list)
set category = "Admin"
set desc = "Edit mobs's memory and role"
set name = "Show Traitor Panel"
@@ -864,7 +864,7 @@ var/global/nologevent = 0
/datum/admins/proc/output_ai_laws()
var/ai_number = 0
- for(var/mob/living/silicon/S in mob_list)
+ for(var/mob/living/silicon/S in GLOB.mob_list)
ai_number++
if(isAI(S))
to_chat(usr, "AI [key_name(S, TRUE)]'s laws: ")
@@ -953,14 +953,14 @@ var/gamma_ship_location = 1 // 0 = station , 1 = space
return "[A.name] - [loc.x],[loc.y],[loc.z]"
/proc/formatPlayerPanel(var/mob/U,var/text="PP")
- return "[text] "
+ return "[ADMIN_PP(U,"[text]")]"
//Kicks all the clients currently in the lobby. The second parameter (kick_only_afk) determins if an is_afk() check is ran, or if all clients are kicked
//defaults to kicking everyone (afk + non afk clients in the lobby)
//returns a list of ckeys of the kicked clients
/proc/kick_clients_in_lobby(message, kick_only_afk = 0)
var/list/kicked_client_names = list()
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(istype(C.mob, /mob/new_player))
if(kick_only_afk && !C.is_afk()) //Ignore clients who are not afk
continue
@@ -1037,7 +1037,7 @@ var/gamma_ship_location = 1 // 0 = station , 1 = space
// result[3] is the number of staff that match the rank mask and are inactive
/proc/staff_countup(rank_mask = R_BAN)
var/list/result = list(0, 0, 0)
- for(var/client/X in admins)
+ for(var/client/X in GLOB.admins)
if(rank_mask && !check_rights_for(X, rank_mask))
result[2]++
continue
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index 45e85a847fe..e781e038991 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -61,10 +61,10 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
/proc/load_admins()
//clear the datums references
admin_datums.Cut()
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
C.remove_admin_verbs()
C.holder = null
- admins.Cut()
+ GLOB.admins.Cut()
if(config.admin_legacy_system)
load_admin_ranks()
@@ -97,7 +97,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
var/datum/admins/D = new /datum/admins(rank, rights, ckey)
//find the client for a ckey if they are connected and associate them with the new admin datum
- D.associate(directory[ckey])
+ D.associate(GLOB.directory[ckey])
else
//The current admin system uses SQL
@@ -121,7 +121,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
var/datum/admins/D = new /datum/admins(rank, rights, ckey)
//find the client for a ckey if they are connected and associate them with the new admin datum
- D.associate(directory[ckey])
+ D.associate(GLOB.directory[ckey])
if(!admin_datums)
log_world("The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system.")
config.admin_legacy_system = 1
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index bbff1eb2c2e..dd0a67021b6 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -445,10 +445,10 @@ var/list/admin_verbs_ticket = list(
/client/proc/findStealthKey(txt)
if(txt)
- for(var/P in stealthminID)
- if(stealthminID[P] == txt)
+ for(var/P in GLOB.stealthminID)
+ if(GLOB.stealthminID[P] == txt)
return P
- txt = stealthminID[ckey]
+ txt = GLOB.stealthminID[ckey]
return txt
/client/proc/createStealthKey()
@@ -456,11 +456,11 @@ var/list/admin_verbs_ticket = list(
var/i = 0
while(i == 0)
i = 1
- for(var/P in stealthminID)
- if(num == stealthminID[P])
+ for(var/P in GLOB.stealthminID)
+ if(num == GLOB.stealthminID[P])
num++
i = 0
- stealthminID["[ckey]"] = "@[num2text(num)]"
+ GLOB.stealthminID["[ckey]"] = "@[num2text(num)]"
/client/proc/stealth()
set category = "Admin"
@@ -520,7 +520,7 @@ var/list/admin_verbs_ticket = list(
return
var/datum/preferences/D
- var/client/C = directory[warned_ckey]
+ var/client/C = GLOB.directory[warned_ckey]
if(C) D = C.prefs
else D = preferences_datums[warned_ckey]
@@ -592,7 +592,7 @@ var/list/admin_verbs_ticket = list(
message_admins("[key_name_admin(usr)] created an admin explosion at [epicenter.loc] ")
feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
-/client/proc/give_spell(mob/T as mob in mob_list) // -- Urist
+/client/proc/give_spell(mob/T as mob in GLOB.mob_list) // -- Urist
set category = "Event"
set name = "Give Spell"
set desc = "Gives a spell to a mob."
@@ -617,7 +617,7 @@ var/list/admin_verbs_ticket = list(
log_admin("[key_name(usr)] gave [key_name(T)] the spell [S].")
message_admins("[key_name_admin(usr)] gave [key_name(T)] the spell [S].", 1)
-/client/proc/give_disease(mob/T in mob_list)
+/client/proc/give_disease(mob/T in GLOB.mob_list)
set category = "Event"
set name = "Give Disease"
set desc = "Gives a Disease to a mob."
@@ -704,7 +704,7 @@ var/list/admin_verbs_ticket = list(
message_admins("[key_name_admin(usr)] deadmined themself.")
deadmin()
verbs += /client/proc/readmin
- deadmins += ckey
+ GLOB.deadmins += ckey
to_chat(src, "You are now a normal player. ")
feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -762,17 +762,17 @@ var/list/admin_verbs_ticket = list(
flags = text2num(flags)
D = new(admin_rank, flags, ckey)
- var/client/C = directory[ckey]
+ var/client/C = GLOB.directory[ckey]
D.associate(C)
message_admins("[key_name_admin(usr)] re-adminned themselves.")
log_admin("[key_name(usr)] re-adminned themselves.")
- deadmins -= ckey
+ GLOB.deadmins -= ckey
feedback_add_details("admin_verb","RAS")
return
else
to_chat(src, "You are already an admin.")
verbs -= /client/proc/readmin
- deadmins -= ckey
+ GLOB.deadmins -= ckey
return
/client/proc/toggle_log_hrefs()
@@ -806,7 +806,7 @@ var/list/admin_verbs_ticket = list(
if(!check_rights(R_ADMIN))
return
- var/mob/living/silicon/S = input("Select silicon.", "Manage Silicon Laws") as null|anything in silicon_mob_list
+ var/mob/living/silicon/S = input("Select silicon.", "Manage Silicon Laws") as null|anything in GLOB.silicon_mob_list
if(!S) return
var/datum/nano_module/law_manager/L = new(S)
@@ -814,7 +814,7 @@ var/list/admin_verbs_ticket = list(
log_and_message_admins("has opened [S]'s law manager.")
feedback_add_details("admin_verb","MSL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
-/client/proc/change_human_appearance_admin(mob/living/carbon/human/H in mob_list)
+/client/proc/change_human_appearance_admin(mob/living/carbon/human/H in GLOB.mob_list)
set name = "C.M.A. - Admin"
set desc = "Allows you to change the mob appearance"
set category = "Admin"
@@ -840,7 +840,7 @@ var/list/admin_verbs_ticket = list(
H.change_appearance(APPEARANCE_ALL, usr, usr, check_species_whitelist = 0)
feedback_add_details("admin_verb","CHAA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
-/client/proc/change_human_appearance_self(mob/living/carbon/human/H in mob_list)
+/client/proc/change_human_appearance_self(mob/living/carbon/human/H in GLOB.mob_list)
set name = "C.M.A. - Self"
set desc = "Allows the mob to change its appearance"
set category = "Admin"
@@ -976,7 +976,7 @@ var/list/admin_verbs_ticket = list(
else
to_chat(usr, "You now won't get debug log messages")
-/client/proc/man_up(mob/T as mob in mob_list)
+/client/proc/man_up(mob/T as mob in GLOB.mob_list)
set category = "Admin"
set name = "Man Up"
set desc = "Tells mob to man up and deal with it."
@@ -1002,7 +1002,7 @@ var/list/admin_verbs_ticket = list(
var/confirm = alert("Are you sure you want to send the global message?", "Confirm Man Up Global", "Yes", "No")
if(confirm == "Yes")
- for(var/mob/T as mob in mob_list)
+ for(var/mob/T as mob in GLOB.mob_list)
to_chat(T, " Man up. Deal with it. Move on. ")
T << 'sound/voice/ManUp1.ogg'
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index f3715eaab31..ebf8a70cde3 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -35,11 +35,11 @@ var/list/admin_datums = list()
owner.on_holder_add()
owner.add_admin_verbs() //TODO
owner.verbs -= /client/proc/readmin
- admins |= C
+ GLOB.admins |= C
/datum/admins/proc/disassociate()
if(owner)
- admins -= owner
+ GLOB.admins -= owner
owner.remove_admin_verbs()
owner.holder = null
owner = null
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 78b175b4656..8c83961d8ad 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -61,7 +61,7 @@
}
- function expand(id,job,name,real_name,image,key,ip,antagonist,ref,eyeref){
+ function expand(id,job,name,real_name,image,key,ip,antagonist,UID,eyeUID){
clearAll();
@@ -75,15 +75,15 @@
body += "
";
- body += "PP - "
+ body += "PP - "
body += "N - "
- body += "VV - "
- body += "TP - "
- body += "PM - "
- body += "SM - "
- body += "FLW "
- if(eyeref)
- body += "|EYE "
+ body += "VV - "
+ body += "TP - "
+ body += "PM - "
+ body += "SM - "
+ body += "FLW "
+ if(eyeUID)
+ body += "|EYE "
body += " "
if(antagonist > 0)
body += "Antagonist ";
@@ -288,11 +288,11 @@
M_key = replacetext(M_key, "\"", "")
M_key = replacetext(M_key, "\\", "")
- var/M_eyeref = ""
+ var/M_eyeUID = ""
if(isAI(M))
var/mob/living/silicon/ai/A = M
if(A.client && A.eyeobj) // No point following clientless AI eyes
- M_eyeref = "\ref[A.eyeobj]"
+ M_eyeUID = "[A.eyeobj.UID()]"
//output for each mob
dat += {"
@@ -300,7 +300,7 @@
[M_name] - [M_rname] - [M_key] ([M_job])
@@ -370,16 +370,16 @@
dat += {" [(M.client ? "[M.client]" : "No client")]
- X
- PM
+ X
+ PM
"}
switch(is_special_character(M))
if(0)
- dat += {"Traitor? "}
+ dat += {"Traitor? "}
if(1)
- dat += {"Traitor? "}
+ dat += {"Traitor? "}
if(2)
- dat += {"Traitor? "}
+ dat += {"Traitor? "}
dat += "