diff --git a/code/game/communications.dm b/code/game/communications.dm
index 5220d157e75..c5fc236456c 100644
--- a/code/game/communications.dm
+++ b/code/game/communications.dm
@@ -107,9 +107,10 @@ var/list/radiochannels = list(
"Deathsquad" = 1441,
"Syndicate" = 1213,
"Supply" = 1347,
+ "Service" = 1349,
)
//depenging helpers
-var/list/DEPT_FREQS = list(1351,1355,1357,1213,1441,1347)
+var/list/DEPT_FREQS = list(1351,1355,1357,1213,1441,1347,1349)
var/const/SEC_FREQ = 1359 //security, colored cyan in chat window
var/const/COMM_FREQ = 1353 //command, colored gold in chat window
var/const/SYND_FREQ = 1213
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index e2cf380a9cc..5f2c56d9b4e 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -16,6 +16,7 @@
if(!H) return 0
if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
+ H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_srv(H), slot_ears)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform)
@@ -54,6 +55,7 @@
equip(var/mob/living/carbon/human/H)
if(!H) return 0
+ H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_srv(H), slot_ears)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
@@ -78,6 +80,7 @@
equip(var/mob/living/carbon/human/H)
if(!H) return 0
+ H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_srv(H), slot_ears)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves)
diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm
index a587472d74a..c62958f84db 100644
--- a/code/game/jobs/jobs.dm
+++ b/code/game/jobs/jobs.dm
@@ -67,14 +67,13 @@ var/list/engineering_positions = list(
"Chief Engineer",
"Station Engineer",
"Atmospheric Technician",
- "Roboticist"
)
var/list/medical_positions = list(
"Chief Medical Officer",
"Medical Doctor",
- "Geneticist",
+ "Geneticist", //Part of both medical and science
"Virologist",
"Chemist"
)
@@ -84,7 +83,7 @@ var/list/science_positions = list(
"Research Director",
"Scientist",
"Geneticist", //Part of both medical and science
- "Roboticist" //Part of both engineering and science
+ "Roboticist"
)
diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm
index 4e9d980c614..d50dfff32fa 100644
--- a/code/game/machinery/telecomms/broadcaster.dm
+++ b/code/game/machinery/telecomms/broadcaster.dm
@@ -348,8 +348,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
freq_text = "Engineering"
if(SEC_FREQ)
freq_text = "Security"
-// if(1349)
-// freq_text = "Mining"
+ if(1349)
+ freq_text = "Service"
if(1347)
freq_text = "Supply"
//There's probably a way to use the list var of channels in code\game\communications.dm to make the dept channels non-hardcoded, but I wasn't in an experimentive mood. --NEO
@@ -411,8 +411,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
blackbox.msg_deathsquad += blackbox_msg
if(1213)
blackbox.msg_syndicate += blackbox_msg
-// if(1349)
-// blackbox.msg_mining += blackbox_msg
+ if(1349)
+ blackbox.msg_service += blackbox_msg
if(1347)
blackbox.msg_cargo += blackbox_msg
else
@@ -634,8 +634,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
freq_text = "Engineering"
if(SEC_FREQ)
freq_text = "Security"
-// if(1349)
-// freq_text = "Mining"
+ if(1349)
+ freq_text = "Service"
if(1347)
freq_text = "Supply"
//There's probably a way to use the list var of channels in code\game\communications.dm to make the dept channels non-hardcoded, but I wasn't in an experimentive mood. --NEO
@@ -692,8 +692,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
blackbox.msg_deathsquad += blackbox_msg
if(1213)
blackbox.msg_syndicate += blackbox_msg
-// if(1349)
-// blackbox.msg_mining += blackbox_msg
+ if(1349)
+ blackbox.msg_service += blackbox_msg
if(1347)
blackbox.msg_cargo += blackbox_msg
else
diff --git a/code/game/machinery/telecomms/presets.dm b/code/game/machinery/telecomms/presets.dm
index 0cd533cf274..4cce0abc451 100644
--- a/code/game/machinery/telecomms/presets.dm
+++ b/code/game/machinery/telecomms/presets.dm
@@ -30,7 +30,7 @@
id = "Hub"
network = "tcommsat"
autolinkers = list("hub", "relay", "s_relay", "m_relay", "r_relay", "science", "medical",
- "supply", "common", "command", "engineering", "security",
+ "supply", "service", "common", "command", "engineering", "security",
"receiverA", "receiverB", "broadcasterA", "broadcasterB")
//Receivers
@@ -41,7 +41,7 @@
id = "Receiver A"
network = "tcommsat"
autolinkers = list("receiverA") // link to relay
- freq_listening = list(1351, 1355, 1347) // science, medical, supply
+ freq_listening = list(1351, 1355, 1347, 1349) // science, medical, supply, service
//--PRESET RIGHT--//
@@ -70,8 +70,8 @@
/obj/machinery/telecomms/bus/preset_two
id = "Bus 2"
network = "tcommsat"
- freq_listening = list(1347)
- autolinkers = list("processor2", "supply")
+ freq_listening = list(1347,1349)
+ autolinkers = list("processor2", "supply", "service")
/obj/machinery/telecomms/bus/preset_three
id = "Bus 3"
@@ -132,12 +132,12 @@
id = "Supply Server"
freq_listening = list(1347)
autolinkers = list("supply")
-/*
-/obj/machinery/telecomms/server/presets/mining
- id = "Mining Server"
+
+/obj/machinery/telecomms/server/presets/service
+ id = "Service Server"
freq_listening = list(1349)
- autolinkers = list("mining")
-*/
+ autolinkers = list("service")
+
/obj/machinery/telecomms/server/presets/common
id = "Common Server"
freq_listening = list()
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index 048b719bc53..fde473ff016 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -72,7 +72,7 @@
name = "Captain's Encryption Key"
desc = "An encyption key for a radio headset. Contains cypherkeys."
icon_state = "cap_cypherkey"
- channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0)
+ channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0, "Service" = 0)
/obj/item/device/encryptionkey/heads/rd
name = "Research Director's Encryption Key"
@@ -102,7 +102,7 @@
name = "Head of Personnel's Encryption Key"
desc = "An encyption key for a radio headset. Contains cypherkeys."
icon_state = "hop_cypherkey"
- channels = list("Supply" = 1, "Command" = 1, "Security" = 0)
+ channels = list("Supply" = 1, "Command" = 1, "Service" = 1, "Security" = 0)
/*
/obj/item/device/encryptionkey/headset_mine
name = "Mining Radio Encryption Key"
@@ -120,4 +120,10 @@
name = "Supply Radio Encryption Key"
desc = "An encyption key for a radio headset. Contains cypherkeys."
icon_state = "cargo_cypherkey"
- channels = list("Supply" = 1)
\ No newline at end of file
+ channels = list("Supply" = 1)
+
+/obj/item/device/encryptionkey/headset_service
+ name = "Service Radio Encryption Key"
+ desc = "An encyption key for a radio headset. Contains cypherkeys."
+ icon_state = "srv_cypherkey"
+ channels = list("Service" = 1)
\ No newline at end of file
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index cf2a5cced33..c9adef0d22d 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -95,7 +95,7 @@
/obj/item/device/radio/headset/heads/captain
name = "captain's headset"
- desc = "The headset of the boss. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :m - medical, :n - science."
+ desc = "The headset of the boss. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science."
icon_state = "com_headset"
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/captain
@@ -130,7 +130,7 @@
/obj/item/device/radio/headset/heads/hop
name = "head of personnel's headset"
- desc = "The headset of the guy who will one day be captain. Channels are as follows: :u - supply, :c - command, :s - security"
+ desc = "The headset of the guy who will one day be captain. Channels are as follows: :u - supply, :v - service, :c - command, :s - security"
icon_state = "com_headset"
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/hop
@@ -156,6 +156,13 @@
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/headset_cargo
+/obj/item/device/radio/headset/headset_srv
+ name = "service radio headset"
+ desc = "Headset used by the foodservice staff, tasked with keeping the station full and happy. To access the service channel, use :v."
+ icon_state = "srv_headset"
+ item_state = "headset"
+ keyslot2 = new /obj/item/device/encryptionkey/headset_service
+
/obj/item/device/radio/headset/attackby(obj/item/weapon/W as obj, mob/user as mob)
// ..()
user.set_machine(src)
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 8d08999cb9b..add810a65ee 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -473,8 +473,8 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
freq_text = "Engineering"
if(SEC_FREQ)
freq_text = "Security"
-// if(1349)
-// freq_text = "Mining"
+ if(1349)
+ freq_text = "Service"
if(1347)
freq_text = "Supply"
//There's probably a way to use the list var of channels in code\game\communications.dm to make the dept channels non-hardcoded, but I wasn't in an experimentive mood. --NEO
@@ -521,7 +521,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
if(1213)
blackbox.msg_syndicate += blackbox_msg
if(1349)
- blackbox.msg_mining += blackbox_msg
+ blackbox.msg_service += blackbox_msg
if(1347)
blackbox.msg_cargo += blackbox_msg
else
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 9ca47e845f9..d2c1e63fc52 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -18,6 +18,8 @@
..()
sleep(2)
new /obj/item/clothing/head/that(src)
+ new /obj/item/device/radio/headset/headset_srv(src)
+ new /obj/item/device/radio/headset/headset_srv(src)
new /obj/item/clothing/head/that(src)
new /obj/item/clothing/under/sl_suit(src)
new /obj/item/clothing/under/sl_suit(src)
@@ -28,6 +30,27 @@
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
+/*
+ * Chef
+ */
+/obj/structure/closet/chefcloset
+ name = "chef's closet"
+ desc = "It's a storage unit for foodservice garments."
+ icon_state = "black"
+ icon_closed = "black"
+
+/obj/structure/closet/chefcloset/New()
+ ..()
+ sleep(2)
+ new /obj/item/clothing/under/waiter(src)
+ new /obj/item/clothing/under/waiter(src)
+ new /obj/item/device/radio/headset/headset_srv(src)
+ new /obj/item/device/radio/headset/headset_srv(src)
+ new /obj/item/weapon/storage/box/mousetraps(src)
+ new /obj/item/weapon/storage/box/mousetraps(src)
+ new /obj/item/clothing/under/rank/chef(src)
+ new /obj/item/clothing/head/chefhat(src)
+
/*
* Janitor
*/
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index 9568e0eab1c..32d7ace167f 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -20,6 +20,7 @@
new /obj/item/weapon/storage/bag/plants/portaseeder(src)
new /obj/item/clothing/under/rank/hydroponics(src)
new /obj/item/device/analyzer/plant_analyzer(src)
+ new /obj/item/device/radio/headset/headset_srv(src)
new /obj/item/clothing/head/greenbandana(src)
new /obj/item/weapon/minihoe(src)
new /obj/item/weapon/hatchet(src)
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 9a28f232e57..1f293f73d75 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -21,7 +21,7 @@
/obj/structure/janitorialcart/examine()
set src in usr
- usr << "[src] \icon[src] contains [reagents.total_volume] unit\s of water!"
+ usr << "[src] \icon[src] contains [reagents.total_volume] unit\s of liquid!"
..()
//everything else is visible, so doesn't need to be mentioned
@@ -36,7 +36,7 @@
user << "You put [I] into [src]."
else if(istype(I, /obj/item/weapon/mop))
- if(I.reagents.total_volume < 1) //if it's at all wet, we assume they want to store the mop.
+ if(I.reagents.total_volume < I.reagents.maximum_volume) //if it's not completely soaked we assume they want to wet it, otherwise store it
if(reagents.total_volume < 1)
user << "[src] is out of water!"
else
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 4f12b17ef9d..2eda94c37f1 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -14,6 +14,7 @@ var/list/department_radio_keys = list(
":a" = "alientalk", "#a" = "alientalk", ".a" = "alientalk",
":t" = "Syndicate", "#t" = "Syndicate", ".t" = "Syndicate",
":u" = "Supply", "#u" = "Supply", ".u" = "Supply",
+ ":v" = "Service", "#v" = "Service", ".v" = "Service",
":g" = "changeling", "#g" = "changeling", ".g" = "changeling",
":R" = "right hand", "#R" = "right hand", ".R" = "right hand",
@@ -30,6 +31,7 @@ var/list/department_radio_keys = list(
":A" = "alientalk", "#A" = "alientalk", ".A" = "alientalk",
":T" = "Syndicate", "#T" = "Syndicate", ".T" = "Syndicate",
":U" = "Supply", "#U" = "Supply", ".U" = "Supply",
+ ":V" = "Service", "#V" = "Service", ".V" = "Service",
":G" = "changeling", "#G" = "changeling", ".G" = "changeling",
//kinda localization -- rastaf0
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index b2495c0f730..c97fa96e0fe 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -323,7 +323,7 @@
/obj/item/weapon/paper/djstation
name = "paper - 'DJ Listening Outpost'"
- info = "Welcome new owner!
You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
- Equip yourself with a multi-tool
- Use the multitool on each machine, that is the broadcaster, receiver and the relay.
- Turn all the machines on, it has already been configured for you to listen on.
Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
- 145.7 - Common Channel
- 144.7 - Private AI Channel
- 135.9 - Security Channel
- 135.7 - Engineering Channel
- 135.5 - Medical Channel
- 135.3 - Command Channel
- 135.1 - Science Channel
- 134.9 - Mining Channel
- 134.7 - Cargo Channel
"
+ info = "Welcome new owner!
You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
- Equip yourself with a multi-tool
- Use the multitool on each machine, that is the broadcaster, receiver and the relay.
- Turn all the machines on, it has already been configured for you to listen on.
Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
- 145.7 - Common Channel
- 144.7 - Private AI Channel
- 135.9 - Security Channel
- 135.7 - Engineering Channel
- 135.5 - Medical Channel
- 135.3 - Command Channel
- 135.1 - Science Channel
- 134.9 - Service Channel
- 134.7 - Supply Channel
"
/obj/item/weapon/paper/jobs
name = "paper- 'Job Information'"
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index 3571d3a2244..24b807d4a30 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -191,7 +191,7 @@ var/obj/machinery/blackbox_recorder/blackbox
var/list/msg_security = list()
var/list/msg_deathsquad = list()
var/list/msg_syndicate = list()
- var/list/msg_mining = list()
+ var/list/msg_service = list()
var/list/msg_cargo = list()
var/list/datum/feedback_variable/feedback = new()
@@ -216,7 +216,7 @@ var/obj/machinery/blackbox_recorder/blackbox
BR.msg_security = msg_security
BR.msg_deathsquad = msg_deathsquad
BR.msg_syndicate = msg_syndicate
- BR.msg_mining = msg_mining
+ BR.msg_service = msg_service
BR.msg_cargo = msg_cargo
BR.feedback = feedback
BR.messages = messages
@@ -257,7 +257,7 @@ var/obj/machinery/blackbox_recorder/blackbox
feedback_add_details("radio_usage","SEC-[msg_security.len]")
feedback_add_details("radio_usage","DTH-[msg_deathsquad.len]")
feedback_add_details("radio_usage","SYN-[msg_syndicate.len]")
- feedback_add_details("radio_usage","MIN-[msg_mining.len]")
+ feedback_add_details("radio_usage","SRV-[msg_service.len]")
feedback_add_details("radio_usage","CAR-[msg_cargo.len]")
feedback_add_details("radio_usage","OTH-[messages.len]")
feedback_add_details("radio_usage","PDA-[pda_msg_amt]")
diff --git a/code/modules/scripting/Implementations/Telecomms.dm b/code/modules/scripting/Implementations/Telecomms.dm
index f88bbde0e3e..97632823ef8 100644
--- a/code/modules/scripting/Implementations/Telecomms.dm
+++ b/code/modules/scripting/Implementations/Telecomms.dm
@@ -84,6 +84,7 @@
interpreter.SetVar("$engineering",1357)
interpreter.SetVar("$security", 1359)
interpreter.SetVar("$supply", 1347)
+ interpreter.SetVar("$service", 1349)
// Signal data
diff --git a/maps/tgstation.2.1.2.dmm b/maps/tgstation.2.1.2.dmm
index d5b2ffecb43..493eb98fd69 100644
--- a/maps/tgstation.2.1.2.dmm
+++ b/maps/tgstation.2.1.2.dmm
@@ -1731,7 +1731,7 @@
"aHo" = (/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aHp" = (/obj/structure/kitchenspike,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"aHq" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Pete"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aHr" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/clothing/head/chefhat,/obj/item/clothing/under/rank/chef,/obj/item/weapon/storage/box/mousetraps{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/item/clothing/under/waiter,/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
+"aHr" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/chefcloset,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"aHs" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/hydroponics)
"aHt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hydroponics)
"aHu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
@@ -7986,6 +7986,7 @@
"cXD" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
"cXE" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
"cXF" = (/obj/machinery/conveyor{icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/mineral/input,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/mine/production)
+"cXG" = (/obj/machinery/telecomms/server/presets/service,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8151,14 +8152,14 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOgbOhbOibOjbOkbOjbOlbOmbOnbOobOpbOqbOrbNpbOsbOtbOubOubOubOubOvbOwbOwbOxbOwbOybOwbOwbOwbOwbOzbOAbFYbKibOBbOCbODbIzbIzbIzbOEbOFbIzbIzbOGbOHbOIbIsbOJbOKbOLbOMbIsbONbOObOPbKzaafbKAbOQbORbOSbIBaafbsCbOTbGvbGvbGvbOUbHAbOVbNMbOWbOXbOYbOZbLKbPabPbbPcbNNbMWbLObDRbDRbDRbDRbPdbPebMZbPfbPdbDRbDRbDRbDRbwJbLXaZWaZWbPgaZWaZWbmJaZWaZWaZWaZWbPhaZWbObbOcbPibPjbPkbOcaafaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaabPlbPlbPlbPlbPlbPmbPnbPobPpbPpbPqbNpbMlbPrbPrbPrbPrbPrbPrbPrbPrbPsbPsbPtbPsbPsbPubyxbwcbPvbFYbKibOBbPwbPxbPybPzbLqbPAbPBbLqbLqbPCbPDbPEbPFbPGbPHbPIbPJbIsbONbPKbPLbPMbLzbJybPNbNFbNFbIBaafbPObPPbPPbPPbxDbHzbHAbPQbKKbIJbPRbPSbNIbPTbPSbPTbNIbNNbMWbLObLPbLQbLQbPUbLSbGEbLTbLUbPVbPWbxVbxVbxVbwJbLXbLYbPXbPXbPXbPXbPXbPXbPXbPXbPXbPYbPXbPZbOcbQabQbbQcbOcaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbQdbQebQfbQgbQfbQhbQibQjbQkbQlbQmbNpbMlbPrbQnbQobQpbQqbQrbQsbQnbQtbQubQvbQwbPsbPsbyxbwcbQxbFYbKibQybQzbQAbQBbQCbQDbQEbQFbQEbQGbQHbQIbHibHibHibQJbIsbOLbIsbONbOObQKbKzaafbIBbIBbIBbIBbIBaafaafaafaafaafbsCbHzbHAbQLbKKbQMbQNbPSbIJbQObPSbQObQPbNNbMWbLObxVbQQbxVbQRbMYbGEbMZbGEbNabQSbxVbQQbxVbwJbLXbQTaZWbQUbQVaZWaZWaZWbQUbQWbQWbQVaZWaZWbOcbQXbQYbQZbOcaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbQdbRabRbbRcbRdbPobRebPobRfbPobRgbRhbRibPrbQnbRjbRkbQnbRlbRmbQnbRnbRobRpbRqbRrbPsbyxbwcbPvbFYbKibRsbRtbGgbRubRvbGgbRwbRxbRybGgbRzbMzbRAbHibRBbPJbIsbPHbRCbRDbREbRFbNDbJxbJybRGbRHbRIbIBaafaaaaaaaaaaaabJCbHzbHAbRJbQObRKbRLbRMbMIbRNbRMbRNbMIbNNbMWbLObxVbxVbxVbRObRPbLUbNQbGEbNRbRQbLQbLQbNTbwJbLXbQTaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaabRRbRSbRTbRUbRVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbQdbRWbRXbRYbRXbRZbSabSbbScbSdbSebNpbSfbPrbSgbSgbShbQnbSibSgbSgbRnbSjbSkbSlbSmbSnbSobSpbSqbSrbSsbStbSubSvbSwbSxbSybSzbSAbSBbGgbIsbMzbRAbSCbRBbSDbIsbPHbRCbONbOObSEbKzaafbKAbSFbSGbSHbIBaafaaaaaaaaaaaabKDbHzbHAbHAbSIbSJbHAbHAbHAbHAbHAbHAbHAbNNbMWbLObDRbDRbDRbDRbPdbSKbMZbSLbPdbDRbDRbDRbDRbwJbLXbSMaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafbSNbSObSNaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbQdbRabRbbRcbRdbPobRebPobRfbPobRgbRhbRibPrbQnbWobRkbQnbRlbRmbQnbRnbRobRpbRqbRrbPsbyxbwcbPvbFYbKibRsbRtbGgbRubRvbGgbRwbRxbRybGgbRzbMzbRAbHibRBbPJbIsbPHbRCbRDbREbRFbNDbJxbJybRGbRHbRIbIBaafaaaaaaaaaaaabJCbHzbHAbRJbQObRKbRLbRMbMIbRNbRMbRNbMIbNNbMWbLObxVbxVbxVbRObRPbLUbNQbGEbNRbRQbLQbLQbNTbwJbLXbQTaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaabRRbRSbRTbRUbRVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbQdbRWbRXbRYbRXbRZbSabSbbScbSdbSebNpbSfbPrbSgbVBbShbQnbSibSgbSgbRnbSjbSkbSlbSmbSnbSobSpbSqbSrbSsbStbSubSvbSwbSxbSybSzbSAbSBbGgbIsbMzbRAbSCbRBbSDbIsbPHbRCbONbOObSEbKzaafbKAbSFbSGbSHbIBaafaaaaaaaaaaaabKDbHzbHAbHAbSIbSJbHAbHAbHAbHAbHAbHAbHAbNNbMWbLObDRbDRbDRbDRbPdbSKbMZbSLbPdbDRbDRbDRbDRbwJbLXbSMaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafbSNbSObSNaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbPlbPlbPlbPlbPlbNpbNpbNpbNpbNpbNpbNpbSPbPrbSgbSgbQnbQnbQnbSgbSQbSRbSSbSTbSUbSVbPsbyxbwcbSWbSXbSYbSZbTabTbbTcbTdbTebTfbTgbThbGgbTibTjbRAbHibRBbTkbIsbTlbRCbONbTmbTnbPMbLzbJybTobRHbRHbIBaafaaaaaaaaaaaabLBbHzbTpbHAbHAbTqbHAbTrbTsbTtbTpbTpbTpbTubMWbLObLPbLQbLQbTvbLSbGEbLTbLUbTwbTxbxVbxVbxVbwJbLXbTyaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafbTzbRTbTzaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafUafUafUafTafTafUafTafTafTagzafTafTafTafUafTaafaafaafbwcbDbbyxbyxbyxbyxbyxbyxbyxbyxbyxbMlbPrbTAbTBbTCbTDbQnbQnbTEbTFbTEbTGbRqbTHbPsbyxbTIbKhbFYbTJbTKbTLbTbbTMbTNbTObTPbTQbTRbTSbJobTTbHibHibHibTUbIsbTVbTWbONbOObIsbKzaafbIBbIBbIBbIBbIBaafaafaafaafaafbsCbOTbGvbGvbGvbTXbGvbGvbGvbGvbGvbGvbGvbTYbTZbLObxVbxVbxVbUabMYbGEbMZbGEbNabUbbxVbxVbxVbwJbLXbTyaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaabUcaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafUaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaafTaafaaaaaabwcbUdbUebwcbwcbUfbUgbwcbwcbwcbwcbMlbPrbUhbSgbQnbQnbQnbSgbSQbUibUjbUkbUlbUmbSnbSpbSpbUnbUobUpbTKbTKbUqbTcbUrbUsbUtbUubUvbGgbIsbIvbUwbUxbUybKsbUzbUAbUBbRDbUCbUDbNDbJxbJybUEbUFbUFbIBaafaaaaaaaaaaaabPObPPbPPbPPbPPbUGbUHbUHbUHbUHbUHbUHbUHbUIbUJbUKbxVbxVbxVbULbUMbUNbUObGEbNRbUPbLQbLQbNTbwJbLXbTyaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaafaaabUcaaaaafaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafUaaabUQbURbUSaaabUQbURbUSaaabUQbURbUSaafafTaaaaaaaaabwcbwcbwcbwcaaaaaaaaaaaaaaaaafbwcbMlbPrbSgbUTbUUbQnbUVbSgbSgbRnbUWbUkbRqbUXbPsbUYbUZbVabVbbVcbVdbVebVfbTcbVfbTbbTbbTcbVgbGgbVhbVibVjbLqbLqbLsbNwbVkbNAbLtbOObVlbKzaafbKAbVmbVnbVobIBaafaaaaaaaaaaaaaafaaaaaaaaabwkbVpbVqbVrbVsbVtbVqbVqbVubsCbVvbLObwJbwJbwJbwJbwJbwJbVwbwJbwJbwJbwJbwJbwJbwJbLXbVxaaaaaaaaaaaaaaaaaabVybVybVybVzaafaafaafaafbUcaafaafaafaafaafagzbVybVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafUaaabUQbVAbUSaaabUQbVAbUSaaabUQbVAbUSaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaabwcbwcbwcbwcbMlbPrbQnbVBbVCbQnbVDbVEbQnbRnbVFbVGbVHbVIbVJbVKbVLbVMbVNbVObVPbVQbVRbVSbVTbTbbTbbTcbVUbGgbVVbIsbIvbNwbIzbVWbVXbVYbVZbHwbWabWbbPMbLzbJybWcbUFbUFbIBaafaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaabWdbTpbWeaaaaaaaafbFybWfbWgbWhbWhbWhbWhbWhbWhbWibWjbWjbWjbWjbWjbWjbWjbWkbQTaaaaaaaaaaaaaaaaaabVyaaaaafaaaaafaaaaaaaaabWlaaaaafaafaaaaaaaaaaaabVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaafTaafbUQbVAbUSaaabUQbVAbUSaafbUQbVAbUSaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaabWmbWnbWmbyxbMlbPrbQnbWobWpbWqbWrbWsbQnbWtbWubWvbWwbWxbPsbWybWzbWAbWBbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbGgbWMbKvbWNbWObIsbIsbIsbIybOIbWObOObQKbKzaafbIBbIBbIBbIBbIBaafaafaafaafaafaafaafaafaafaafaafaafbWPbVsbWQaaaaaaaafbFybWRbPXbWSbWTbWUbWUbPXbPXbPXbPXbWVbPXbPXbWWbWXbWYbWZbXaaaaaaaaaaaaaaaaaaabVyaaabXbbXbbXbbXbbXbaafbXcaafbXbbXbbXbbXbbXbaaabVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafUaaabUQbVAbUSaaabUQbVAbUSaaabUQbVAbUSaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaabwcbwcbwcbwcbMlbPrbQnbRjbVCbQnbVDbVEbQnbRnbVFbVGbVHbVIbVJbVKbVLbVMbVNbVObVPbVQbVRbVSbVTbTbbTbbTcbVUbGgbVVbIsbIvbNwbIzbVWbVXbVYbVZbHwbWabWbbPMbLzbJybWcbUFbUFbIBaafaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaabWdbTpbWeaaaaaaaafbFybWfbWgbWhbWhbWhbWhbWhbWhbWibWjbWjbWjbWjbWjbWjbWjbWkbQTaaaaaaaaaaaaaaaaaabVyaaaaafaaaaafaaaaaaaaabWlaaaaafaafaaaaaaaaaaaabVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaafTaafbUQbVAbUSaaabUQbVAbUSaafbUQbVAbUSaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaabWmbWnbWmbyxbMlbPrbQncXGbWpbWqbWrbWsbQnbWtbWubWvbWwbWxbPsbWybWzbWAbWBbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbGgbWMbKvbWNbWObIsbIsbIsbIybOIbWObOObQKbKzaafbIBbIBbIBbIBbIBaafaafaafaafaafaafaafaafaafaafaafaafbWPbVsbWQaaaaaaaafbFybWRbPXbWSbWTbWUbWUbPXbPXbPXbPXbWVbPXbPXbWWbWXbWYbWZbXaaaaaaaaaaaaaaaaaaabVyaaabXbbXbbXbbXbbXbaafbXcaafbXbbXbbXbbXbbXbaaabVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaabUQbVAbUSaafbUQbVAbUSaaabUQbVAbUSaaaaafaafaafaafaafaafaaaaafaaaaafaafbwcbwcbwcbyxbMlbPrbPrbPrbPrbPrbPrbPrbPrbPsbPsbPsbPsbPsbPsbwcbXdbwcbXebXfbXfbXfbXgbXhbXibXfbXjbXkbXlbXmbXnbXobLvbXpbXqbXrbXqbXpbXsbXpbXtbNwbXuaafaafaafaafaafaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafbFybXvbQUbQWbQWbQVaZWbQUbQWbQWbQVaZWbQUbQWbQWbQVaZWaZWaZWaaaaaaaaaaaaaaaaaabVyaafbXwbXxbXxbXxbXxbXybXcbXzbXAbXAbXAbXAbXBaafbVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafUafUafTaafaaabUQbVAbUSaafbUQbVAbUSaaabUQbVAbUSaafaafaaaaaaaaaaaaaafaafbXCbXDbXDbXDbXDbXEbyxbyxbMlbwcbXFbKXbXGbXGbXGbXGbXGbXGbXGbXGbXGbXHbXHbXGbXIbXJbXebXKbXLbXMbXNbXObXPbXfbXQbXRbXSbGgbXTbXUbXVbXWbXXbXYbXZbYabIsbYbbYcbYdbIuaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbYebYfaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaabVyaafbYgbYgbYgbYgbYgaaabXcaaabYgbYgbYgbYgbYgaafbVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafUaaaaafaaaaafaafbYhaafaafaafbYhaafaaaaafbYhaafaaaaafaaaaaaaaaaaabYibYjbYkbYlbYmbYnbYobYpbYqbYqbYrbwcbYsbYtbYubYubYubYubYubYubYubYubYubYubYubYubYvbYwbYxbYybYzbYAbYBbYCbYDbYEbYFbYGbYHbYIbYJbYKbYLbYMbYLbYKbYLbYMbYLbYNbYLbYNbYOaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYPbYfaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaabVyaaaaafaaaaafaafaafaaabXcaaaaafaaaaafaaaaafaaabVyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa