From e7385e829b7354d5ffbc543056ab73cf8faae742 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 22 Aug 2014 11:28:59 +0200 Subject: [PATCH 01/12] Fixes #5984 by having ED-209s now pass through each other. --- code/game/machinery/bots/ed209bot.dm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 4893bf47c2..e7d3ded73f 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -729,14 +729,21 @@ Auto Patrol: []"}, return threatcount /obj/machinery/bot/ed209/Bump(M as mob|obj) //Leave no door unopened! - if ((istype(M, /obj/machinery/door)) && (!isnull(src.botcard))) + if ((istype(M, /obj/machinery/door)) && !isnull(src.botcard)) var/obj/machinery/door/D = M if (!istype(D, /obj/machinery/door/firedoor) && D.check_access(src.botcard) && !istype(D,/obj/machinery/door/poddoor)) D.open() src.frustration = 0 - else if ((istype(M, /mob/living/)) && (!src.anchored)) - src.loc = M:loc - src.frustration = 0 + else if(!src.anchored) + if ((istype(M, /mob/living/))) + var/mob/living/O = M + src.loc = O.loc + src.frustration = 0 + else if (istype(M, /obj/machinery/bot)) + var/obj/machinery/bot/B = M + if (B.dir != src.dir) // Avoids issues if two bots are currently patrolling in the same direction + src.loc = B.loc + src.frustration = 0 return /* terrible From ad387fda96b954750b9c396b4d674fbdd69b91c1 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 22 Aug 2014 19:39:35 +0200 Subject: [PATCH 02/12] One can now update crew record photos using a security console. --- baystation12.dme | 1 + .../computer3/computers/medical.dm | 4 +- .../computer3/computers/security.dm | 31 +------ code/datums/datacore.dm | 6 +- code/defines/procs/records.dm | 36 ++++++++ code/game/machinery/computer/medical.dm | 4 +- code/game/machinery/computer/security.dm | 85 ++++++++++--------- code/game/machinery/computer/skills.dm | 19 +---- code/game/machinery/newscaster.dm | 6 +- code/modules/paperwork/silicon_photography.dm | 5 ++ 10 files changed, 101 insertions(+), 96 deletions(-) create mode 100644 code/defines/procs/records.dm diff --git a/baystation12.dme b/baystation12.dme index 7aadf41ef0..677d4ed90c 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -171,6 +171,7 @@ #include "code\defines\procs\AStar.dm" #include "code\defines\procs\command_alert.dm" #include "code\defines\procs\dbcore.dm" +#include "code\defines\procs\records.dm" #include "code\defines\procs\sd_Alert.dm" #include "code\defines\procs\statistics.dm" #include "code\game\asteroid.dm" diff --git a/code/WorkInProgress/computer3/computers/medical.dm b/code/WorkInProgress/computer3/computers/medical.dm index f1d5018bc0..5cb984ee36 100644 --- a/code/WorkInProgress/computer3/computers/medical.dm +++ b/code/WorkInProgress/computer3/computers/medical.dm @@ -86,8 +86,8 @@ if(3.0) dat += text("Records Maintenance
\nBackup To Disk
\nUpload From disk
\nDelete All Records
\n
\nBack", src, src, src, src) if(4.0) - var/icon/front = new(active1.fields["photo"], dir = SOUTH) - var/icon/side = new(active1.fields["photo"], dir = WEST) + var/icon/front = active1.fields["photo_front"] + var/icon/side = active1.fields["photo_side"] usr << browse_rsc(front, "front.png") usr << browse_rsc(side, "side.png") dat += "
Medical Record

" diff --git a/code/WorkInProgress/computer3/computers/security.dm b/code/WorkInProgress/computer3/computers/security.dm index f4682a8d50..f3a3d3ae2b 100644 --- a/code/WorkInProgress/computer3/computers/security.dm +++ b/code/WorkInProgress/computer3/computers/security.dm @@ -127,8 +127,8 @@ if(3.0) dat += "
Security Record

" if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) - var/icon/front = new(active1.fields["photo"], dir = SOUTH) - var/icon/side = new(active1.fields["photo"], dir = WEST) + var/icon/front = active1.fields["photo_front"] + var/icon/side = active1.fields["photo_side"] usr << browse_rsc(front, "front.png") usr << browse_rsc(side, "side.png") dat += text("
\ @@ -430,34 +430,11 @@ What a mess.*/ //RECORD CREATE if ("New Record (Security)") if ((istype(active1, /datum/data/record) && !( istype(active2, /datum/data/record) ))) - var/datum/data/record/R = new /datum/data/record() - R.fields["name"] = active1.fields["name"] - R.fields["id"] = active1.fields["id"] - R.name = text("Security Record #[]", R.fields["id"]) - R.fields["criminal"] = "None" - R.fields["mi_crim"] = "None" - R.fields["mi_crim_d"] = "No minor crime convictions." - R.fields["ma_crim"] = "None" - R.fields["ma_crim_d"] = "No major crime convictions." - R.fields["notes"] = "No notes." - data_core.security += R - active2 = R + active2 = CreateSecurityRecord(active1.fields["name"], active1.fields["id"]) screen = 3 if ("New Record (General)") - var/datum/data/record/G = new /datum/data/record() - G.fields["name"] = "New Record" - G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) - G.fields["rank"] = "Unassigned" - G.fields["real_rank"] = "Unassigned" - G.fields["sex"] = "Male" - G.fields["age"] = "Unknown" - G.fields["fingerprint"] = "Unknown" - G.fields["p_stat"] = "Active" - G.fields["m_stat"] = "Stable" - G.fields["species"] = "Human" - data_core.general += G - active1 = G + active1 = CreateGeneralRecord() active2 = null //FIELD FUNCTIONS diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index a1a626313b..143e24a7f9 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -52,7 +52,8 @@ var/id = add_zero(num2hex(rand(1, 1.6777215E7)), 6) //this was the best they could come up with? A large random number? *sigh* - + var/icon/front = new(get_id_photo(H), dir = SOUTH) + var/icon/side = new(get_id_photo(H), dir = WEST) //General Record var/datum/data/record/G = new() G.fields["id"] = id @@ -65,7 +66,8 @@ G.fields["m_stat"] = "Stable" G.fields["sex"] = H.gender G.fields["species"] = H.get_species() - G.fields["photo"] = get_id_photo(H) + G.fields["photo_front"] = front + G.fields["photo_side"] = side if(H.gen_record && !jobban_isbanned(H, "Records")) G.fields["notes"] = H.gen_record else diff --git a/code/defines/procs/records.dm b/code/defines/procs/records.dm new file mode 100644 index 0000000000..9d419607c0 --- /dev/null +++ b/code/defines/procs/records.dm @@ -0,0 +1,36 @@ +/proc/CreateGeneralRecord() + var/mob/living/carbon/human/dummy = new() + dummy.mind = new() + var/icon/front = new(get_id_photo(dummy), dir = SOUTH) + var/icon/side = new(get_id_photo(dummy), dir = WEST) + var/datum/data/record/G = new /datum/data/record() + G.fields["name"] = "New Record" + G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) + G.fields["rank"] = "Unassigned" + G.fields["real_rank"] = "Unassigned" + G.fields["sex"] = "Male" + G.fields["age"] = "Unknown" + G.fields["fingerprint"] = "Unknown" + G.fields["p_stat"] = "Active" + G.fields["m_stat"] = "Stable" + G.fields["species"] = "Human" + G.fields["photo_front"] = front + G.fields["photo_side"] = side + data_core.general += G + + del(dummy) + return G + +/proc/CreateSecurityRecord(var/name as text, var/id as text) + var/datum/data/record/R = new /datum/data/record() + R.fields["name"] = name + R.fields["id"] = id + R.name = text("Security Record #[id]") + R.fields["criminal"] = "None" + R.fields["mi_crim"] = "None" + R.fields["mi_crim_d"] = "No minor crime convictions." + R.fields["ma_crim"] = "None" + R.fields["ma_crim_d"] = "No major crime convictions." + R.fields["notes"] = "No notes." + data_core.security += R + return R \ No newline at end of file diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 18f1ca059f..a23c717a7b 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -78,8 +78,8 @@ if(3.0) dat += text("Records Maintenance
\nBackup To Disk
\nUpload From disk
\nDelete All Records
\n
\nBack", src, src, src, src) if(4.0) - var/icon/front = new(active1.fields["photo"], dir = SOUTH) - var/icon/side = new(active1.fields["photo"], dir = WEST) + var/icon/front = active1.fields["photo_front"] + var/icon/side = active1.fields["photo_side"] user << browse_rsc(front, "front.png") user << browse_rsc(side, "side.png") dat += "
Medical Record

" diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index e7060f7577..fde49fb7e3 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -123,21 +123,21 @@ if(3.0) dat += "
Security Record

" if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) - var/icon/front = new(active1.fields["photo"], dir = SOUTH) - var/icon/side = new(active1.fields["photo"], dir = WEST) - user << browse_rsc(front, "front.png") - user << browse_rsc(side, "side.png") + user << browse_rsc(active1.fields["photo_front"], "front.png") + user << browse_rsc(active1.fields["photo_side"], "side.png") dat += text(" \ -
\ Name: [active1.fields["name"]]
\ - ID: [active1.fields["id"]]
\n \ + ID: [active1.fields["id"]]
\n \ Sex: [active1.fields["sex"]]
\n \ Age: [active1.fields["age"]]
\n \ Rank: [active1.fields["rank"]]
\n \ Fingerprint: [active1.fields["fingerprint"]]
\n \ Physical Status: [active1.fields["p_stat"]]
\n \ Mental Status: [active1.fields["m_stat"]]
Photo:
\ -
") +
Photo:
\ + \ +

Update front photo

Update side photo
\ +
") else dat += "General Record Lost!
" if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) @@ -413,57 +413,36 @@ What a mess.*/ //RECORD CREATE if ("New Record (Security)") if ((istype(active1, /datum/data/record) && !( istype(active2, /datum/data/record) ))) - var/datum/data/record/R = new /datum/data/record() - R.fields["name"] = active1.fields["name"] - R.fields["id"] = active1.fields["id"] - R.name = text("Security Record #[]", R.fields["id"]) - R.fields["criminal"] = "None" - R.fields["mi_crim"] = "None" - R.fields["mi_crim_d"] = "No minor crime convictions." - R.fields["ma_crim"] = "None" - R.fields["ma_crim_d"] = "No major crime convictions." - R.fields["notes"] = "No notes." - data_core.security += R - active2 = R + active2 = CreateSecurityRecord(active1.fields["name"], active1.fields["id"]) screen = 3 if ("New Record (General)") - var/datum/data/record/G = new /datum/data/record() - G.fields["name"] = "New Record" - G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) - G.fields["rank"] = "Unassigned" - G.fields["real_rank"] = "Unassigned" - G.fields["sex"] = "Male" - G.fields["age"] = "Unknown" - G.fields["fingerprint"] = "Unknown" - G.fields["p_stat"] = "Active" - G.fields["m_stat"] = "Stable" - G.fields["species"] = "Human" - data_core.general += G - active1 = G + active1 = CreateGeneralRecord() active2 = null //FIELD FUNCTIONS if ("Edit Field") + if (is_not_allowed(usr)) + return var/a1 = active1 var/a2 = active2 switch(href_list["field"]) if("name") if (istype(active1, /datum/data/record)) var/t1 = reject_bad_name(input("Please input name:", "Secure. records", active1.fields["name"], null) as text) - if ((!( t1 ) || !length(trim(t1)) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon)))) || active1 != a1) + if (!t1 || active1 != a1) return active1.fields["name"] = t1 if("id") if (istype(active2, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please input id:", "Secure. records", active1.fields["id"], null) as text)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + if (!t1 || active1 != a1) return active1.fields["id"] = t1 if("fingerprint") if (istype(active1, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please input fingerprint hash:", "Secure. records", active1.fields["fingerprint"], null) as text)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + if (!t1 || active1 != a1) return active1.fields["fingerprint"] = t1 if("sex") @@ -475,37 +454,37 @@ What a mess.*/ if("age") if (istype(active1, /datum/data/record)) var/t1 = input("Please input age:", "Secure. records", active1.fields["age"], null) as num - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + if (!t1 || active1 != a1) return active1.fields["age"] = t1 if("mi_crim") if (istype(active2, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please input minor disabilities list:", "Secure. records", active2.fields["mi_crim"], null) as text)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + if (!t1 || active2 != a2) return active2.fields["mi_crim"] = t1 if("mi_crim_d") if (istype(active2, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please summarize minor dis.:", "Secure. records", active2.fields["mi_crim_d"], null) as message)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + if (!t1 || active2 != a2) return active2.fields["mi_crim_d"] = t1 if("ma_crim") if (istype(active2, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please input major diabilities list:", "Secure. records", active2.fields["ma_crim"], null) as text)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + if (!t1 || active2 != a2) return active2.fields["ma_crim"] = t1 if("ma_crim_d") if (istype(active2, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please summarize major dis.:", "Secure. records", active2.fields["ma_crim_d"], null) as message)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + if (!t1 || active2 != a2) return active2.fields["ma_crim_d"] = t1 if("notes") if (istype(active2, /datum/data/record)) var/t1 = copytext(html_encode(trim(input("Please summarize notes:", "Secure. records", html_decode(active2.fields["notes"]), null) as message)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + if (!t1 || active2 != a2) return active2.fields["notes"] = t1 if("criminal") @@ -532,9 +511,18 @@ What a mess.*/ if("species") if (istype(active1, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please enter race:", "General records", active1.fields["species"], null) as message)),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + if (!t1 || active1 != a1) return active1.fields["species"] = t1 + if("photo front") + var/icon/photo = get_photo(usr) + if(photo) + active1.fields["photo_front"] = photo + if("photo side") + var/icon/photo = get_photo(usr) + if(photo) + active1.fields["photo_side"] = photo + //TEMPORARY MENU FUNCTIONS else//To properly clear as per clear screen. @@ -582,6 +570,19 @@ What a mess.*/ updateUsrDialog() return +/obj/machinery/computer/secure_data/proc/is_not_allowed(var/mob/user) + return !src.authenticated || user.stat || user.restrained() || (!in_range(src, user) && (!istype(user, /mob/living/silicon))) + +/obj/machinery/computer/secure_data/proc/get_photo(var/mob/user) + if(istype(user.get_active_hand(), /obj/item/weapon/photo)) + var/obj/item/weapon/photo/photo = user.get_active_hand() + return photo.img + if(istype(user, /mob/living/silicon)) + var/mob/living/silicon/tempAI = usr + var/datum/picture/selection = tempAI.GetPicture() + if (selection) + return selection.fields["img"] + /obj/machinery/computer/secure_data/emp_act(severity) if(stat & (BROKEN|NOPOWER)) ..(severity) diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index bc4d977dad..6d2a4857c5 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -87,8 +87,8 @@ if(3.0) dat += "
Employment Record

" if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) - var/icon/front = new(active1.fields["photo"], dir = SOUTH) - var/icon/side = new(active1.fields["photo"], dir = WEST) + var/icon/front = active1.fields["photo_front"] + var/icon/side = active1.fields["photo_side"] user << browse_rsc(front, "front.png") user << browse_rsc(side, "side.png") dat += text("
\ @@ -302,22 +302,9 @@ What a mess.*/ temp += "No" //RECORD CREATE if ("New Record (General)") - if(PDA_Manifest.len) PDA_Manifest.Cut() - var/datum/data/record/G = new /datum/data/record() - G.fields["name"] = "New Record" - G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) - G.fields["rank"] = "Unassigned" - G.fields["real_rank"] = "Unassigned" - G.fields["sex"] = "Male" - G.fields["age"] = "Unknown" - G.fields["fingerprint"] = "Unknown" - G.fields["p_stat"] = "Active" - G.fields["m_stat"] = "Stable" - G.fields["species"] = "Human" - data_core.general += G - active1 = G + active1 = CreateGeneralRecord() //FIELD FUNCTIONS if ("Edit Field") diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 18b8e96186..794fd75c2e 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -758,11 +758,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co photo.loc = src else if(istype(user,/mob/living/silicon)) var/mob/living/silicon/tempAI = user - var/obj/item/device/camera/siliconcam/camera = tempAI.aiCamera - - if(!camera) - return - var/datum/picture/selection = camera.selectpicture() + var/datum/picture/selection = tempAI.GetPicture() if (!selection) return diff --git a/code/modules/paperwork/silicon_photography.dm b/code/modules/paperwork/silicon_photography.dm index 4fbe953d72..ce31514adc 100644 --- a/code/modules/paperwork/silicon_photography.dm +++ b/code/modules/paperwork/silicon_photography.dm @@ -160,3 +160,8 @@ obj/item/device/camera/siliconcam/proc/getsource() else Cinfo = src return Cinfo + +/mob/living/silicon/proc/GetPicture() + if(!aiCamera) + return + return aiCamera.selectpicture() From dfa960c55b29746a381c1f0bbd98eb3a46d6a16d Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 22 Aug 2014 14:58:33 +0200 Subject: [PATCH 03/12] Can again create newfeeds. sanitizeSQL returned nothing most likely because the input more often than not is not proper SQL. Removes the check and replaces strip_html_simple with strip_html to match all other sanitizing calls in the class. --- code/game/machinery/newscaster.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 18b8e96186..5a0537da17 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -435,7 +435,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.set_machine(src) if(href_list["set_channel_name"]) - src.channel_name = sanitizeSQL(strip_html_simple(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", ""))) + src.channel_name = strip_html(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", "")) while (findtext(src.channel_name," ") == 1) src.channel_name = copytext(src.channel_name,2,lentext(src.channel_name)+1) src.updateUsrDialog() @@ -483,7 +483,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co for(var/datum/feed_channel/F in news_network.network_channels) if( (!F.locked || F.author == scanned_user) && !F.censored) available_channels += F.channel_name - src.channel_name = strip_html_simple(input(usr, "Choose receiving Feed Channel", "Network Channel Handler") in available_channels ) + src.channel_name = strip_html(input(usr, "Choose receiving Feed Channel", "Network Channel Handler") in available_channels ) src.updateUsrDialog() else if(href_list["set_new_message"]) From d8b803d5e32496dbe7979a664a89f81c8cbadb75 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 22 Aug 2014 22:37:10 +0200 Subject: [PATCH 04/12] Fixes #6130 The construction outpost now has an air supply and rudimentary distribution system. Glass and wood stacks are filled to their max stack sizes, 50 and 32 sheets respectively. Ghosts can now teleport to Z-level 4. There are now special air alarms which do not broadcast their alarms. These are used in the mass driver areas to let crew know when it's safe to use them again. These air alarms have also been installed in the Research isolation cells to finally allow scientists to check what's up, at least as long as they are in there or have AI assistance. --- code/game/area/Space Station 13 areas.dm | 8 +- code/game/machinery/alarm.dm | 33 ++- code/modules/research/xenoarchaeology/misc.dm | 4 + icons/turf/areas.dmi | Bin 22639 -> 22742 bytes maps/tgstation2.dmm | 198 +++++++++++------- 5 files changed, 153 insertions(+), 90 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index a8df7deb6a..cd247fd68c 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -79,11 +79,11 @@ var/list/ghostteleportlocs = list() /hook/startup/proc/setupGhostTeleportLocs() for(var/area/AR in world) if(ghostteleportlocs.Find(AR.name)) continue - if(istype(AR, /area/turret_protected/aisat) || istype(AR, /area/derelict) || istype(AR, /area/tdome)) + if(istype(AR, /area/turret_protected/aisat) || istype(AR, /area/derelict) || istype(AR, /area/tdome) || istype(AR, /area/shuttle/specops/centcom)) ghostteleportlocs += AR.name ghostteleportlocs[AR.name] = AR var/turf/picked = pick(get_area_turfs(AR.type)) - if (picked.z == 1 || picked.z == 5 || picked.z == 3) + if (picked.z == 1 || picked.z == 3 || picked.z == 4 || picked.z == 5) ghostteleportlocs += AR.name ghostteleportlocs[AR.name] = AR @@ -1505,11 +1505,11 @@ var/list/ghostteleportlocs = list() /area/djstation name = "\improper Listening Post" - icon_state = "DJ" + icon_state = "LP" /area/djstation/solars name = "\improper Listening Post Solars" - icon_state = "DJ" + icon_state = "LPS" //DERELICT diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 1914e5206c..19ac17a2b7 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -102,6 +102,14 @@ var/temperature_dangerlevel = 0 var/other_dangerlevel = 0 + var/apply_danger_level = 1 + var/post_alert = 1 + +/obj/machinery/alarm/monitor + apply_danger_level = 0 + breach_detection = 0 + post_alert = 0 + /obj/machinery/alarm/server/New() ..() req_access = list(access_rd, access_atmospherics, access_engine_equip) @@ -216,7 +224,7 @@ regulating_temperature = 0 visible_message("\The [src] clicks quietly as it stops [environment.temperature > target_temperature ? "cooling" : "heating"] the room.",\ "You hear a click as a faint electronic humming stops.") - + if (regulating_temperature) if(target_temperature > T0C + MAX_TEMPERATURE) target_temperature = T0C + MAX_TEMPERATURE @@ -227,26 +235,26 @@ var/datum/gas_mixture/gas gas = environment.remove(0.25*environment.total_moles) if(gas) - + if (gas.temperature <= target_temperature) //gas heating var/energy_used = min( gas.get_thermal_energy_change(target_temperature) , active_power_usage) - + gas.add_thermal_energy(energy_used) //use_power(energy_used, ENVIRON) //handle by update_use_power instead else //gas cooling var/heat_transfer = min(abs(gas.get_thermal_energy_change(target_temperature)), active_power_usage) - + //Assume the heat is being pumped into the hull which is fixed at 20 C //none of this is really proper thermodynamics but whatever - + var/cop = gas.temperature/T20C //coefficient of performance -> power used = heat_transfer/cop - + heat_transfer = min(heat_transfer, cop * active_power_usage) //this ensures that we don't use more than active_power_usage amount of power - + heat_transfer = -gas.add_thermal_energy(-heat_transfer) //get the actual heat transfer - + //use_power(heat_transfer / cop, ENVIRON) //handle by update_use_power instead - + environment.merge(gas) /obj/machinery/alarm/proc/overall_danger_level(var/datum/gas_mixture/environment) @@ -412,7 +420,7 @@ for (var/area/RA in alarm_area.related) for (var/obj/machinery/alarm/AA in RA) AA.mode = mode - + switch(mode) if(AALARM_MODE_SCRUBBING) for(var/device_id in alarm_area.air_scrub_names) @@ -445,12 +453,15 @@ send_signal(device_id, list("power"= 0) ) /obj/machinery/alarm/proc/apply_danger_level(var/new_danger_level) - if (alarm_area.atmosalert(new_danger_level)) + if (apply_danger_level && alarm_area.atmosalert(new_danger_level)) post_alert(new_danger_level) update_icon() /obj/machinery/alarm/proc/post_alert(alert_level) + if(!post_alert) + return + var/datum/radio_frequency/frequency = radio_controller.return_frequency(alarm_frequency) if(!frequency) return diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm index 23eb5faa62..85cfbbee16 100644 --- a/code/modules/research/xenoarchaeology/misc.dm +++ b/code/modules/research/xenoarchaeology/misc.dm @@ -111,3 +111,7 @@ /obj/machinery/alarm/isolation name = "Isolation room air control" req_one_access = list(access_research, access_atmospherics, access_engine_equip) + +/obj/machinery/alarm/monitor/isolation + name = "Isolation cell air monitor" + req_one_access = list(access_research, access_atmospherics, access_engine_equip) diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index 0a0853cafc59c9d4ed319278c6dc34a13c4608db..c1d9749e3165b439a8e4fb2c2a5fb8bcbecdebf3 100755 GIT binary patch delta 21545 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 z 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 V%H-s!+YSdOb*~v*E!MOP`Y%_(LWlqW delta 21462 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 A)&Kwi diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index b13c0978bc..f0fa096da8 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -8348,7 +8348,7 @@ "deB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/atmos) "deC" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plating,/area/maintenance/asmaint) "deD" = (/turf/simulated/wall,/area/djstation) -"deE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) +"deE" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/djstation/solars) "deF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation) "deG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) "deH" = (/turf/simulated/floor/plating,/area/djstation) @@ -8359,17 +8359,17 @@ "deM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint) "deN" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "deO" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 8; pixel_y = -28; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/medical/virology) -"deP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) +"deP" = (/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/djstation/solars) "deQ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "deR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/box/lights/mixed,/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/djstation) "deS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/djstation) "deT" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/djstation) -"deU" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/turf/simulated/floor/plating,/area/djstation) +"deU" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "deV" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "deW" = (/obj/machinery/vending/snack,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "deX" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"deY" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"deZ" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"deY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) +"deZ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "dfa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation) "dfb" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor{icon_state = "bar"},/area/djstation) "dfc" = (/turf/simulated/floor{icon_state = "bar"},/area/djstation) @@ -8381,10 +8381,10 @@ "dfi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) "dfj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation) "dfk" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 8},/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dfl" = (/obj/machinery/door/airlock/glass{name = "Kitchen"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"dfl" = (/turf/simulated/wall,/area/djstation/solars) "dfm" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "dfn" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dfo" = (/obj/machinery/door/airlock/glass{name = "Cabin"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"dfo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation/solars) "dfp" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) "dfq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) "dfr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation) @@ -8402,10 +8402,10 @@ "dfD" = (/obj/machinery/door/airlock{name = "Restroom"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dfE" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dfF" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) -"dfG" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"dfG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation/solars) "dfH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "dfI" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "virology_airlock_exterior"; id_tag = "virology_airlock_control"; tag_interior_door = "virology_airlock_interior"; name = "Virology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "greencorner"},/area/medical/virology) -"dfJ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) +"dfJ" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) "dfK" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "dfL" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "dfM" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/engine/engine_eva_maintenance) @@ -8672,25 +8672,25 @@ "dkN" = (/obj/machinery/door/airlock/research,/turf/simulated/floor/airless,/area/constructionsite/storage) "dkO" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/storage) "dkP" = (/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dkQ" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/djstation) -"dkR" = (/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/djstation) -"dkS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation) +"dkQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation/solars) +"dkR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation/solars) +"dkS" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/djstation) "dkT" = (/obj/machinery/autolathe,/turf/simulated/floor/plating,/area/djstation) "dkU" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor/plating,/area/djstation) -"dkV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dkW" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation) +"dkV" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/djstation) +"dkW" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "dkX" = (/turf/simulated/wall,/area/constructionsite/ai) "dkY" = (/turf/simulated/floor/plating/airless,/area/constructionsite/ai) "dkZ" = (/turf/simulated/floor/airless{tag = "icon-bcircuit"; icon_state = "bcircuit"},/area/constructionsite/ai) "dla" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dlb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"dlc" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/djstation) +"dlb" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"dlc" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "dld" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) "dle" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) "dlf" = (/obj/structure/lattice,/turf/space,/area/solar/constructionsite) "dlg" = (/turf/simulated/floor/plating/airless,/area/solar/constructionsite) -"dlh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation) -"dli" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) +"dlh" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_station_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) +"dli" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dlj" = (/turf/simulated/wall,/area/solar/constructionsite) "dlk" = (/turf/space,/area/solar/constructionsite) "dll" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/solar/constructionsite) @@ -8698,7 +8698,7 @@ "dln" = (/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/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "listeningpost_pump"},/turf/simulated/floor/plating,/area/djstation) "dlo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) "dlp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation) -"dlq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_station_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/djstation) +"dlq" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dlr" = (/turf/simulated/floor/airless,/area/constructionsite/hallway/aft) "dls" = (/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) "dlt" = (/turf/simulated/wall,/area/constructionsite/hallway/aft) @@ -8715,7 +8715,7 @@ "dlE" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dlF" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/wall,/area/constructionsite/hallway/aft) "dlG" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) -"dlH" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) +"dlH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dlI" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) "dlJ" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "dlK" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_station_airlock"; name = "interior access button"; pixel_x = 30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;32"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) @@ -8739,48 +8739,48 @@ "dmc" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/djstation) "dmd" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/djstation) "dme" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/djstation) -"dmf" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/djstation) +"dmf" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "engineering_station_airlock"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;32"; tag_airpump = "engineering_station_pump"; tag_chamber_sensor = "engineering_station_sensor"; tag_exterior_door = "engineering_station_outer"; tag_interior_door = "engineering_station_inner"},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; icon_state = "map"; tag = "icon-manifold (WEST)"},/turf/simulated/floor/plating,/area/djstation) "dmg" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) "dmh" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai) "dmi" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai) "dmj" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dmk" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation) +"dmk" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dml" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/djstation) "dmm" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating,/area/djstation) -"dmn" = (/obj/machinery/driver_button{id = "constructiondriver2"; name = "Construction Driver #2"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation) +"dmn" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dmo" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating/airless,/area/constructionsite/ai) "dmp" = (/obj/structure/rack,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/djstation) "dmq" = (/obj/machinery/door/poddoor{id = "constructiondriver2"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) "dmr" = (/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{icon_state = "warnplate"; dir = 4},/area/djstation) -"dms" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver2"; name = "construction driver #2"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) +"dms" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dmt" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) "dmu" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/djstation) -"dmv" = (/obj/machinery/driver_button{id = "constructiondriver1"; name = "Construction Driver #1"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation) +"dmv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) "dmw" = (/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh{name = "Cuban Pete-Meat"},/turf/simulated/floor/engine,/area/tcommsat/computer) -"dmx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation) -"dmy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) +"dmx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) +"dmy" = (/obj/structure/closet,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) "dmz" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/djstation) "dmA" = (/obj/machinery/door/poddoor{id = "constructiondriver1"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) -"dmB" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver1"; name = "construction driver #1"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) -"dmC" = (/obj/structure/rack,/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/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/wood{amount = 30},/turf/simulated/floor/plating,/area/djstation) -"dmD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dmE" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dmF" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation) +"dmB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"dmC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/djstation) +"dmD" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/djstation) +"dmE" = (/obj/machinery/door/airlock/glass{name = "Kitchen"},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"dmF" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dmG" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/djstation) "dmH" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) "dmI" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar_control{id = "construction_solar"; name = "Construction Solar Control"; track = 0},/turf/simulated/floor/plating,/area/djstation) "dmJ" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/djstation) "dmK" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/djstation) -"dmL" = (/obj/machinery/driver_button{id = "constructiondriver0"; name = "Construction Driver #0"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation) +"dmL" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor{icon_state = "bar"},/area/djstation) "dmM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) "dmN" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/djstation) "dmO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"dmP" = (/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,/area/djstation) -"dmQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation) +"dmP" = (/obj/machinery/door/airlock{name = "Restroom"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) +"dmQ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dmR" = (/obj/machinery/door/poddoor{id = "constructiondriver0"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) -"dmS" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver0"; name = "construction driver #0"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) -"dmT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dmU" = (/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,/area/djstation) +"dmS" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) +"dmT" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) +"dmU" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1},/turf/simulated/floor/plating,/area/djstation) "dmV" = (/obj/machinery/power/terminal,/obj/structure/cable,/turf/simulated/floor/plating,/area/djstation) "dmW" = (/obj/item/device/multitool,/turf/simulated/floor/plating,/area/djstation) "dmX" = (/obj/structure/lattice,/turf/space,/area/constructionsite/medical) @@ -8792,7 +8792,7 @@ "dnd" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "dne" = (/obj/machinery/sleeper,/turf/simulated/floor/airless{icon_state = "white"},/area/constructionsite/medical) "dnf" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/site) -"dng" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/constructionsite/site) +"dng" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "bar"},/area/djstation) "dnh" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/constructionsite/site) "dni" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) "dnj" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) @@ -9634,8 +9634,8 @@ "dDn" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/clothing/gloves/white,/obj/item/weapon/storage/box/syringes,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) "dDo" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint) "dDp" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint) -"dDq" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint) -"dDr" = (/obj/machinery/conveyor_switch{id = "anosample"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/maint) +"dDq" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "bar"},/area/djstation) +"dDr" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dDs" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "dDt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "dDu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/botany{pixel_x = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/research_outpost/maintstore1) @@ -10151,7 +10151,7 @@ "dNk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "48"},/turf/simulated/floor/plating,/area/mine/living_quarters) "dNl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/mine/west_outpost) "dNm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dNn" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "engineering_station_airlock"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;32"; tag_airpump = "engineering_station_pump"; tag_chamber_sensor = "engineering_station_sensor"; tag_exterior_door = "engineering_station_outer"; tag_interior_door = "engineering_station_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/plating,/area/djstation) +"dNn" = (/obj/machinery/door/airlock/glass{name = "Cabin"},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dNo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/living_quarters) "dNp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) "dNq" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/mine/production) @@ -10225,7 +10225,7 @@ "dOG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "dOH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "dOI" = (/obj/machinery/door/airlock/glass_medical{name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/wall,/area/constructionsite/medical) -"dOJ" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_station_sensor"; pixel_x = -25; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating,/area/djstation) +"dOJ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dOK" = (/obj/machinery/door/window/westright{name = "Production Area"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/production) "dOL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/space,/area/mine/production) "dOM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) @@ -10586,7 +10586,7 @@ "dVD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "dVE" = (/obj/machinery/camera{c_tag = "Isolation Room Two"; dir = 8; network = list("Anomaly Isolation")},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) "dVF" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/wall/r_wall,/area/research_outpost/iso3) -"dVG" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"dVG" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) "dVH" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 6},/obj/item/device/mass_spectrometer/adv,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/machinery/door_control{id = "chemwindow"; name = "Pharmacy Windows Shutter Control"; pixel_x = -22; pixel_y = -10; pixel_z = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "dVI" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "dVJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -10617,8 +10617,8 @@ "dWi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/medical/virology) "dWj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/medical/virology) "dWk" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/wall/r_wall,/area/research_outpost/iso2) -"dWl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"dWm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) +"dWl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "bar"},/area/djstation) +"dWm" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/djstation) "dWn" = (/obj/structure/table,/obj/item/weapon/storage/fancy/vials,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dWo" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/vials,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dWp" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Three"; req_access_txt = "39"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) @@ -11075,12 +11075,60 @@ "eeY" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area/space) "eeZ" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "mining_outpost_airlock"; name = "exterior access button"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;48"},/turf/space,/area/space) "efa" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"efb" = (/obj/structure/cable,/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation) -"efc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/djstation) +"efb" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/djstation) +"efc" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/djstation) "efd" = (/obj/machinery/telecomms/relay/preset/ruskie,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/djstation) "efe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Engine Filter Outpump"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) "eff" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor,/area/tcommsat/entrance) "efg" = (/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance) +"efh" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/djstation) +"efi" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/djstation) +"efj" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"efk" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"efl" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"efm" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/djstation) +"efn" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1; icon_state = "map"; tag = "icon-manifold (NORTH)"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/djstation) +"efo" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1; icon_state = "map"; tag = "icon-manifold (NORTH)"},/obj/machinery/meter,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/djstation) +"efp" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; name = "Air to Distro"; target_pressure = 285},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/turf/simulated/floor/plating,/area/djstation) +"efq" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1; icon_state = "map"; tag = "icon-manifold (NORTH)"},/turf/simulated/floor/plating,/area/djstation) +"efr" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/djstation) +"efs" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/djstation) +"eft" = (/obj/structure/cable,/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"efu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation/solars) +"efv" = (/obj/machinery/driver_button{id = "constructiondriver2"; name = "Construction Driver #2"; pixel_x = 25; pixel_y = 7},/turf/simulated/floor/plating,/area/djstation) +"efw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) +"efx" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; icon_state = "map"; tag = "icon-manifold (WEST)"},/turf/simulated/floor/plating,/area/djstation) +"efy" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver2"; name = "construction driver #2"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm/monitor{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) +"efz" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) +"efA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/djstation) +"efB" = (/obj/machinery/driver_button{id = "constructiondriver1"; name = "Construction Driver #1"; pixel_x = 25; pixel_y = 7},/turf/simulated/floor/plating,/area/djstation) +"efC" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation/solars) +"efD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation/solars) +"efE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/djstation) +"efF" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver1"; name = "construction driver #1"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm/monitor{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) +"efG" = (/obj/structure/rack,/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/wood{amount = 32},/obj/item/stack/sheet/wood{amount = 32},/obj/item/stack/sheet/wood{amount = 32},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/wood{amount = 32},/turf/simulated/floor/plating,/area/djstation) +"efH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/djstation) +"efI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) +"efJ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) +"efK" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"efL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation/solars) +"efM" = (/obj/machinery/driver_button{id = "constructiondriver0"; name = "Construction Driver #0"; pass_flags = null; pixel_x = 25; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/djstation) +"efN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation/solars) +"efO" = (/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,/area/djstation/solars) +"efP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation/solars) +"efQ" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver0"; name = "construction driver #0"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm/monitor{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) +"efR" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/plating,/area/djstation) +"efS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) +"efT" = (/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,/area/djstation/solars) +"efU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) +"efV" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_station_sensor"; pixel_x = -25; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/djstation) +"efW" = (/obj/machinery/pipedispenser,/turf/simulated/floor/airless,/area/constructionsite/atmospherics) +"efX" = (/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/airless,/area/constructionsite/atmospherics) +"efY" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/machinery/alarm/monitor/isolation{pixel_y = 22},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"efZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/alarm/monitor/isolation{pixel_y = 22},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) +"ega" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/alarm/monitor/isolation{pixel_y = 22},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) +"egb" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/plating,/area/research_outpost/maint) +"egc" = (/obj/machinery/conveyor_switch{id = "anosample"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/maint) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11946,35 +11994,35 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaedkJdkEdkDdkCdkCdkHaaeaaeaaeaaeaaeaaeaaedkJdkEdkEdkEdkEdkDdkDdkDdkCdkCdkCdkDdkDdkDdkEdkEdkEdkEdkJaaeaaeaaeaaeaaeaaeaaedkHdkPdkPdkDdkEdkJdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlfdlgdlfdlfdlfaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaaaaedkJdkEdkDdkCdkCdkHaaeaaaaaeaaaaaeaaaaaedkJdkEdkDdkDdkDdkDdkPdkPdkCdkCdkCdkPdkPdkDdkDdkDdkDdkEdkJaaeaaaaaeaaaaaeaaaaaedkHdkPdkPdkDdkEdkJdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgdlgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdkEdkDdkCdkCdkHaaeaaaaaeaaaaaeaaeaaedkDdkIdkDdkPdkPdkPdkPdkPdkCdkCdkCdkPdkPdkPdkPdkPdkDdkIdkDaaeaaeaaeaaaaaeaaaaaedkHdkCdkPdkDdkEdkJdlfdlgdlfdlgdlfdlgdlfdlgdlfdlfdlgdlgdlgdlfdlfdlfaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkQdkQdkQdkQdkQdkQdkQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaaaaedkJdkEdkDdkCdkCdkHaaeaaeaaeaaeaaeaaedkDdkDdkPdkPdkPdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkPdkPdkPdkPdkDdkDaaeaaeaaeaaeaaeaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedkQdkSdlhdkWdlidmkdkQaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdkEdkDdkCdkCdkHaaedkJdkJdkJdkJdkDdkDdkPdkPdkPdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkPdkPdkDdkDdkJdkJdkJdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaedkQdkSdkRdkSdkVdmkdkQaaeaaeaaaaaadeDdeDdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaaaaedkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkEdkIdkPdkPdkCdkCdkCdkCdkCdkDdkDdkDdladkDdkDdkDdkCdkCdkCdkCdkPdkPdkPdkIdkEdkEdkEdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaedkQdkSdkRdkSdkVdmkdkQaaeaaeaaeaaadeGdkTdkUdeHdeGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkDdkDdkPdkPdkCdkCdkCdkDdkDdkDdkXdkYdkZdkYdkXdkDdkDdkDdkCdkCdkCdkPdkPdkDdkDdkEdkEdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaedkQdkSdkRdkSdkVdmkdkQaaeaaeaaeaaedledeHdeHdeHdleaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaaaaedkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkDdkPdkPdkPdkCdkCdkDdkDaaeaaedkXdkYdkZdkYdkXaaeaaedkDdkDdkCdkCdkCdkPdkPdkDdkEdkEdkJaaedkHdkPdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkQdkQdkQdkQdkQdeDdeEdlbdeDdlddeFdeDdkQdkQdkQdkQdeDdeDdlcdeDdeDaajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaeabcaaeabcabcaaeaaeabcaaeaaeabcdkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkDdkPdkCdkCdkCdkDdkDaaeaaeaaedkXdkYdkZdkYdkXaaeaaeaaedkDdkDdkPdkCdkPdkPdkDdkEdkEdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedkQdmFdmFdmFdmFdeGdmGdmHdmIdmMdmNdeGdmFdmFdmFdmFdeDdmJdeHdmKdmLdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeabcaaeaaeabcabcabcabcabcabcabcabcabcabcabcdkJdkEdkDdkCdkCdkDdkJdkJdkEdkDdkDdkPdkCdkCdkCdkDaaeaaeaaedkXdkXdkXdlYdkXdkXdkXaaeaaeaaedkDdkPdkPdkCdkPdkDdkDdkEdkJdkJdkDdkPdkCdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedkQdmUdmTdmTdmTdledmOdeHdmVdmWefadledmQdmQdmQdmPdeDdmJdeHdeHdeHdmSdmrdmRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcdkJdkEdkDdkCdkCdkDdkEdkEdkEdkDdkPdkPdkCdkCdkDdkDaaeaaedkXdkXdlZdlZdkYdlZdlZdkXdkXaaeaaedkDdkDdkPdkCdkPdkPdkDdkEdkEdkEdkDdkPdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedkQefbefbefbefbdeDdmtdeHdmudeHdePdeDefbefbefbefbdeDdEFdeHdeHdmvdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaajaaeaaeaaeaaeaaeaajaajaajaajaajaaeabcaaeabcaaeabcaaeabcaaeabcdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkEdkDdkCdkCdkDdkIdkDdkDdkDdkPdkPdkPdkPdkDdkXdkXdkXdkXdkYdlZdkYdkYdkYdlZdkYdkXdkXdkXdkXdkDdkPdkPdkCdkPdkDdkDdkDdkIdkDdkPdkPdkDdkJdkJaajaajaajaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedkQdmEdmDdmDdmDdmydeSdeHdePdeHdmzdmydmxdmxdmxdlhdeDdmCdeHdeHdeHdmBdmrdmAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaeabcabcabcabcabcabcabcabcabcabcabcabcabcdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkDdkCdkCdkPdkPdkPdkPdkPdkPdkCdkPdkPdkDdkYdkYdkYdkXdlZdlZdkYdkZdkYdlZdlZdkXdkYdkYdkYdkDdkPdkPdkCdkPdkPdkPdkPdkCdkPdkPdkCdkDdkEdkEabcabcabcabcabcabcabcabcabcabcabcabcaaaaaaaaeaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedkQefbefbefbefbdeJdmldeRefcefddeTdeJefbefbefbefbdeDdmmdeHdeHdmndeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeabcabcabcabcabcaaeaaeabcabcaaeabcaaeabcaaeabcaaeabcaaeabcdlwdkEdlwdkEdkEdkEdkEdkEdkEdkEdkEdkEdkDdkPdkPdkPdkPdkPdkPdkPdkCdkPdkPdkPdmgdkZdkZdkZdmhdkYdkYdkYdkZdkYdkYdkYdmidkZdkZdkZdmjdkCdkPdkCdkCdkCdkCdkCdkCdkPdkPdkPdkDdkEdkEabcabcabcabcabcabcabcabcabcaaeabcaaeabcaaeabcabcabcaaeabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeDdeDdeDdeDdeDdeDdeDdeDdeDdeUdeDdeDdeDdeDdeDdeDdeDdeDdmpdeHdeHdeHdmsdmrdmqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeabcabcabcabcabcabcabcaaeabcaaeabcabcabcabcabcdkEdkEdkEdlwdkEdkEdkEdkEdkEdkEdkEdkEdkDdkCdkCdkPdkCdkCdkCdkCdkCdkCdkCdkCdkDdkYdkYdkYdkXdlZdlZdkYdkZdkYdlZdlZdkXdmodmodmodkDdkPdkPdkCdkPdkPdkPdkPdkPdkPdkCdkCdkDdkEdkEabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfadlXdmcdmddmddmcdfadeVdeWdeXdeYdeZdlcdmfdeHdeHdmfdlcdeHdeHdeHdmedeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaajaaeaaeaaeaaeaaeaajaajaajaajaajaajaajaajaajaajaajdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkDdkCdkCdkDdmbdkDdkDdkDdmadkPdmadkPdkDdkXdkXdkXdkXdkYdlZdkYdkYdkYdlZdkYdkXdkXdkXdkXdkDdkPdkPdkCdkPdkDdkDdkDdkIdkDdkPdkCdkDdkJdkJaajaajaajaajaajaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdlXdfcdlXdlXdfcdfjdeXdeXdeXdeXdeXdeDdeDdeDdeDdeDdeDdeHdeHdeHdeHdfiaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlrdltdkEdkEdkEdltdlsdlsdlsdlsdltdltaaeaaedkXdkXdlZdlZdkYdlZdlZdkXdkXaaeaaedltdltdlsdlsdlsdlsdltdkEdkEdkEdltdlrdlrdlsdkEdkJaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdfbdfcdlXdlXdfcdfjdfvdfndfvdeXdeXdfddfedffdfgdfhdeDdlNdlWdlOdeHdfqaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlrdltdkJdkJdkEdltdltdlsdlvdlsdlvdltaaeaaeaaedkXdkXdkXdlYdkXdkXdkXaaeaaeaaedltdlsdlsdlrdlsdltdltdkEdkJdkJdltdlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdfkdfcdfudfudfcdfrdfvdfvdfvdeXdeXdfodfedfedfedfpdeDdeHdeHdeHdeHdfqaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlrdluaaedkJdkEdkEdltdlsdlsdlsdlsdltdltaaeaaeaaedkXdkYdkZdkYdkXaaeaaeaaedltdltdlsdlsdlrdlsdltdkEdkEdkJaaedludlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfrdfsdftdfcdfcdfcdfldeXdeXdeXdeXdeXdfidfedfedfedfBdeDdlNdlPdlOdeHdfqaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlrdluaaedkJdkEdkEdltdlsdlvdlsdlvdlsdltdltaaeaaedkXdkYdkZdkYdkXaaeaaedltdltdlsdlsdlsdlsdlsdltdkEdkEdkJaaedludlsdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeDdfCdeDdfDdeDdeDdeDdeDdeDdlRdNUdfEdfqdfedfedfgdfhdeDdlVdODdOmdOldeJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdltdltdlsdlsdlsdlsdlsdltdltdltdkXdkYdkZdkYdkXdltdltdltdlsdlrdlrdlrdlsdltdltdkEdkEdkJaaedludlsdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaecoddeDdfFdeDdlEdeDdlEdeDdfGdlDdeXdfqdfedfedfedfpdeDdNrdfddeDdlCdeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdkEdlFdlvdlsdlvdlsdlvdlsdlrdltdltdltdlGdltdltdltdlsdlsdlrdlrdlrdlsdlsdlAdkEdkEdkEdkJaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoddeDdlHdeDdfDdeDdfDdeDdlLdlKdeXdeJdfydlMdfAdfBdeDdNSdNIdeDaajaajaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlsdluaaedkJdkJdkJdkJdltdltdlsdlsdlsdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlsdlsdltdltdkJdkJdkJdkJaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoddeDdfJdfFdfFdfFdfFdeDdeDdlqdfddeDdlddlodlpdeFdeDdlmdlndeDaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaeaaeaaeaaeaaeaaedltdltdlvdlsdlvdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlsdlsdltdltaaeaaeaaeaaeaaeaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactEdeDdeDdeDdeDdeDdeDdeDdeDdNndlydeDaaeaaeaaeaaedeDdlxdfddeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaeaaaaaeaaaaaeaaeaaedltdlAdltdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdltdlAdltaaeaaeaaeaaaaaeaaaaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaedeDdOJdnzdeDaaeaaeaaaaaedrYabcabcabcaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaedkJdlwdltdlrdlrdluaaeaaaaaeaaaaaeaaaaaedkJdkEdltdltdltdltdlrdlrdlrdlrdlrdlrdlrdltdltdltdltdkEdkJaaeaaaaaeaaaaaeaaaaaedludlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeEdeEdeEdeEdeEdeEdeEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaaaaedkJdkEdkDdkCdkCdkHaaeaaeaaeaaeaaeaaedkDdkDdkPdkPdkPdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkPdkPdkPdkPdkDdkDaaeaaeaaeaaeaaeaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeEdeUdkWdlbdlcdeZdeEaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdkEdkDdkCdkCdkHaaedkJdkJdkJdkJdkDdkDdkPdkPdkPdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkPdkPdkDdkDdkJdkJdkJdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaedeEdeUdePdeUdeYdeZdeEaaeaaeaaaaaadeDdeDdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaaaaedkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkEdkIdkPdkPdkCdkCdkCdkCdkCdkDdkDdkDdladkDdkDdkDdkCdkCdkCdkCdkPdkPdkPdkIdkEdkEdkEdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaedeEdeUdePdeUdeYdeZdeEaaeaaeaaeaaadeGdkTdkUdeHdeGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkDdkDdkPdkPdkCdkCdkCdkDdkDdkDdkXdkYdkZdkYdkXdkDdkDdkDdkCdkCdkCdkPdkPdkDdkDdkEdkEdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaedeEdeUdePdeUdeYdeZdeEaaeaaeaaeaaedledkVdkSdeHdleaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaaaaedkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkDdkPdkPdkPdkCdkCdkDdkDaaeaaedkXdkYdkZdkYdkXaaeaaedkDdkDdkCdkCdkCdkPdkPdkDdkEdkEdkJaaedkHdkPdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeEdeEdeEdeEdeEdfldfGdfodfldkQdkRdfldeEdeEdeEdeEdeDdeDdfJdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaeabcaaeabcabcaaeaaeabcaaeaaeabcdkJdkEdkDdkCdkCdkHaaedkJdkEdkEdkDdkPdkCdkCdkCdkDdkDaaeaaeaaedkXdkYdkZdkYdkXaaeaaeaaedkDdkDdkPdkCdkPdkPdkDdkEdkEdkJaaedkHdkCdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeEefKefKefKefKefLdmGdmHdmIdmMdmNefLefKefKefKefKdeDdmJdmTdmKefMdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeabcaaeaaeabcabcabcabcabcabcabcabcabcabcabcdkJdkEdkDdkCdkCdkDdkJdkJdkEdkDdkDdkPdkCdkCdkCdkDaaeaaeaaedkXdkXdkXdlYdkXdkXdkXaaeaaeaaedkDdkPdkPdkCdkPdkDdkDdkEdkJdkJdkDdkPdkCdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeEefTefSefSefSefNdmOdeHdmVdmWefaefNefPefPefPefOdeDdmJefxdWmefRefQdmrdmRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcdkJdkEdkDdkCdkCdkDdkEdkEdkEdkDdkPdkPdkCdkCdkDdkDaaeaaedkXdkXdlZdlZdkYdlZdlZdkXdkXaaeaaedkDdkDdkPdkCdkPdkPdkDdkEdkEdkEdkDdkPdkPdkDdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeEefteftefteftdfldmtdeHdmudeHefAdflefteftefteftdeDdEFdmTdeHefBdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaajaaeaaeaaeaaeaaeaajaajaajaajaajaaeabcaaeabcaaeabcaaeabcaaeabcdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkEdkDdkCdkCdkDdkIdkDdkDdkDdkPdkPdkPdkPdkDdkXdkXdkXdkXdkYdlZdkYdkYdkYdlZdkYdkXdkXdkXdkXdkDdkPdkPdkCdkPdkDdkDdkDdkIdkDdkPdkPdkDdkJdkJaajaajaajaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeEefJefIefIefIefDdeSefHefEdeHdmzefDefCefCefCdkWdeDefGefxdWmdWmefFdmrdmAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaeabcabcabcabcabcabcabcabcabcabcabcabcabcdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkEdkDdkCdkCdkPdkPdkPdkPdkPdkPdkCdkPdkPdkDdkYdkYdkYdkXdlZdlZdkYdkZdkYdlZdlZdkXdkYdkYdkYdkDdkPdkPdkCdkPdkPdkPdkPdkCdkPdkPdkCdkDdkEdkEabcabcabcabcabcabcabcabcabcabcabcabcaaaaaaaaeaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeEefteftefteftefudmldeRefwefddeTefuefteftefteftdeDdmmdmTdeHefvdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeabcabcabcabcabcaaeaaeabcabcaaeabcaaeabcaaeabcaaeabcaaeabcdlwdkEdlwdkEdkEdkEdkEdkEdkEdkEdkEdkEdkDdkPdkPdkPdkPdkPdkPdkPdkCdkPdkPdkPdmgdkZdkZdkZdmhdkYdkYdkYdkZdkYdkYdkYdmidkZdkZdkZdmjdkCdkPdkCdkCdkCdkCdkCdkCdkPdkPdkPdkDdkEdkEabcabcabcabcabcabcabcabcabcaaeabcaaeabcaaeabcabcabcaaeabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeDdeDdeDdeDdeDdeDdeDdeDdeDefzdeDdeDdeDdeDdeDdeDdeDdeDdmpefxdWmdWmefydmrdmqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeabcabcabcabcabcabcabcaaeabcaaeabcabcabcabcabcdkEdkEdkEdlwdkEdkEdkEdkEdkEdkEdkEdkEdkDdkCdkCdkPdkCdkCdkCdkCdkCdkCdkCdkCdkDdkYdkYdkYdkXdlZdlZdkYdkZdkYdlZdlZdkXdmodmodmodkDdkPdkPdkCdkPdkPdkPdkPdkPdkPdkCdkCdkDdkEdkEabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfadlXdmcdmddmddWldfadeVdeWefkefjeflefbefiefhdWmefiefbdWmefcdeHdmedeDdeDdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaajaaeaaeaaeaaeaaeaajaajaajaajaajaajaajaajaajaajaajdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkJdkDdkCdkCdkDdmbdkDdkDdkDdmadkPdmadkPdkDdkXdkXdkXdkXdkYdlZdkYdkYdkYdlZdkYdkXdkXdkXdkXdkDdkPdkPdkCdkPdkDdkDdkDdkIdkDdkPdkCdkDdkJdkJaajaajaajaajaajaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdlXdfcdlXdlXdfcdfjdeXdeXdlDdeXdeXdeDdeDdeDdeDdeDdeDefsefrdWmefqefpefoefnefmdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlrdltdkEdkEdkEdltdlsdlsdlsdlsdltdltaaeaaedkXdkXdlZdlZdkYdlZdlZdkXdkXaaeaaedltdltdlsdlsdlsdlsdltdkEdkEdkEdltdlrdlrdlsdkEdkJaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdfbdfcdngdlXdfcdfjdfvdfndmQdeXdeXdfddmSdffdfgdfhdeDdlNdlWdlOdmTdeDdmUdmUdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlrdltdkJdkJdkEdltdltdlsdlvdlsdlvdltaaeaaeaaedkXdkXdkXdlYdkXdkXdkXaaeaaeaaedltdlsdlsdlrdlsdltdltdkEdkJdkJdltdlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfjdfkdfcdDqdfudfcdfrdfvdDrdOJdmFdmFdNndVGdfedfedfpdeDdeHdeHdeHdmTdeDdeDdeDdeDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlrdluaaedkJdkEdkEdltdlsdlsdlsdlsdltdltaaeaaeaaedkXdkYdkZdkYdkXaaeaaeaaedltdltdlsdlsdlrdlsdltdkEdkEdkJaaedludlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedfrdfsdftdmLdmDdmDdmEdmFdmFdmBdeXdeXdfidmxdmvdmvdmydeDdlNdlPdlOdmCdfiaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlrdluaaedkJdkEdkEdltdlsdlvdlsdlvdlsdltdltaaeaaedkXdkYdkZdkYdkXaaeaaedltdltdlsdlsdlsdlsdlsdltdkEdkEdkJaaedludlsdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedeDdfCdeDdmPdeDdeDdeDdeDdeDdlRdNUdfEdfqdfedfedfgdfhdeDdlVdODdOmdOldeJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdltdltdlsdlsdlsdlsdlsdltdltdltdkXdkYdkZdkYdkXdltdltdltdlsdlrdlrdlrdlsdltdltdkEdkEdkJaaedludlsdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaecoddeDdmndeDdlEdeDdlEdeDdmkdlDdeXdfqdfedfedfedfpdeDdNrdfddeDdlCdeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaedkJdkEdkEdkEdlFdlvdlsdlvdlsdlvdlsdlrdltdltdltdlGdltdltdltdlsdlsdlrdlrdlrdlsdlsdlAdkEdkEdkEdkJaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoddeDdmsdeDdfDdeDdfDdeDdlLdlKdeXdeJdfydlMdfAdfBdeDdNSdNIdeDdeDdeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaedkJdlwdltdlrdlsdluaaedkJdkJdkJdkJdltdltdlsdlsdlsdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlsdlsdltdltdkJdkJdkJdkJaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoddeDdlqdlHdfFdfFdlideDdeDdlhdfddeDdlddlodlpdeFdeDdlmdlndeDaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaeaaeaaeaaeaaeaaedltdltdlvdlsdlvdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlsdlsdltdltaaeaaeaaeaaeaaeaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactEdeDdeDdeDdeDdeDdeDdeDdeDdmfdlydeDaaeaaeaaeaaedeDdlxdfddeDaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaeaaaaaeaaaaaeaaeaaedltdlAdltdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdltdlAdltaaeaaeaaeaaaaaeaaaaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaedeDefVdnzdeDaaeaaeaaaaaedrYabcabcabcaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaedkJdlwdltdlrdlrdluaaeaaaaaeaaaaaeaaaaaedkJdkEdltdltdltdltdlrdlrdlrdlrdlrdlrdlrdltdltdltdltdkEdkJaaeaaaaaeaaaaaeaaaaaedludlrdlrdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaedeDdnwdfddeDdrIaaaaaaaaaaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlrdlsdluaaeaaeaaeaaeaaeaaeaaedkJdkEdkEdkEdkEdltdltdltdlrdlrdlrdltdltdltdkEdkEdkEdkEdkJaaeaaeaaeaaeaaeaaeaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadntdnfdnfdnvdnfdnfdnuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaeaaedkJdlwdltdlsdlsdluaaeaaaaaeaaaaaeaaaaaedkJdkEdkEdkEdkEdkEdkEdltdlrdlrdlrdltdkEdkEdkEdkEdkEdkEdkJaaeaaaaaeaaaaaeaaaaaedludlrdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnndnmdnidnkdnrdnsdnqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedkJdlwdltdlsdlsdluaaeaaaaaeaaaaaeaaaaaedkJdkJdkJdkJdkJdkJdkEdltdlrdlrdlrdltdkEdkJdkJdkJdkJdkJdkJaaeaaaaaeaaaaaeaaaaaedludlsdlsdltdkEdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnndnmdnidnkdnkdnodnpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkJdltdltdlsdlsdltdltaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaedkJdkEdlAdlrdlrdlrdlAdkEdkJaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaedltdltdlsdlsdltdltdkJaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnndnmdnidnkdnidnjdnlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedltdlsdlsdlsdlsdltdludludludludludludludludludludludltdltdltdlrdlrdlrdltdltdltdludludludludludludludludludludludltdlrdlrdlrdlrdluaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadngdnfdnfdnfdnfdnfdnhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedltdlsdlsdlrdlsdlsdlsdlsdlsdlsdlsdlsdlsdlrdlrdlrdlsdlrdlrdlsdlrdlrdlrdlsdlsdlsdlrdlrdlrdlrdlsdlrdlsdlsdlrdlrdlrdlsdlrdlrdlrdlrdluaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaefUdnfdnfdnfdnfdnfdnhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedltdlsdlsdlrdlsdlsdlsdlsdlsdlsdlsdlsdlsdlrdlrdlrdlsdlrdlrdlsdlrdlrdlrdlsdlsdlsdlrdlrdlrdlrdlsdlrdlsdlsdlrdlrdlrdlsdlrdlrdlrdlrdluaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedltdlsdlsdlsdlsdlsdlrdlrdlrdlrdlrdlrdlsdlrdlrdlrdlrdlsdlsdlrdlrdlrdlrdlsdlsdlrdlrdlsdlsdlsdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdlrdluaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedltdlsdlsdlsdlsdltdludludludludludludludludludludludludltdlrdlrdlsdlsdlrdltdludludludludludludludludludludludludltdlrdlrdlrdlrdluaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedltdltdltdltdltdltdnbdnbdnbdnbdncdnbdnednbdnednbdnednbdltdlrdlrdlrdlrdlsdltdmZdmZdnadnadnadnadnadnadnadnadmZdmZdltdltdlrdlrdltdltaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11998,7 +12046,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoddoddoddoddnVdnVdnVdnVdnVdmYdmYdmYdmYdmYdmYdPYdlrdlrdlrdlrdlrdlrdlrdlrdlrdnWdnadnadnadnadnadnadnadokdPZdQrdomdltdlsdlsdluaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoddoddoddoddnVdnVdnVdnVdnVdnVdnVdnVdnVdmXdmXdltdlrdlrdlrdlrdlrdlrdlrdlrdlrdltdnadnadnadnadnadnadnadnadoedoedoedltdlsdlsdluaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadordoqdoqdoqdoqdoqdoqdoqdoqdoqdoqdoqdordmXdmXdmXdmXdmXdltdlrdlrdlrdlrdlrdlrdlrdlrdlrdltdnadnadnadnadnadnadokdosdnYdRddoudltdlsdlsdluaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadordovdowdovdowdovdovdovdovdovdovdowdoqdnVdmXdnVdmYdmYdltdltdlrdlrdlrdlrdlrdlrdlrdltdltdoedoednadnadozdokdnadokdPZdRwdoxdltdlvdlvdluaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadordovdowdovdowdovdovdovdovdovdovdowdoqdnVdmXdnVdmYdmYdltdltdlrdlrdlrdlrdlrdlrdlrdltdltdoedoeefXefWdozdokdnadokdPZdRwdoxdltdlvdlvdluaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadordovdovdovdovdovdowdovdowdordowdowdoqaaaaaeaaadowdovdowdltdltdltdlrdlrdlrdltdltdltaaeaaedoedoedoedoedoedoedoedoedoedoedltdlsdlsdluabcaaeabcaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadordovdowdovdowdovdovdovdovdovdovdoAdoqaaeaaeaaedovdovdovdovdovdltdlrdlrdlrdltdowdowdovdovdowdovdowdovdovdovdovdowdovdowdlsdlvdlvdlsaaeaaeaaeabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadordovdovdovdovdovdoAdovdovdoAdoAdoAdoqaaaaaeaaadowdovdowdovdowdltdlsdlrdlrdltdowdovdovdovdordordordordordordordordordordordordordordordowdowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12179,9 +12227,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaedAqdArdAsdxqdzxdAtdxUdAudxVdAvdvcdAwdAxdvcdAydxudAzdAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaadABdACdyLdyLeaodyLdAEdAFdBDeatdBFeapeaqdDXdyUdBfeaveaydAPdBHdBGeaBdBPeaCdBSdBWdBVdBZdBYdqhdBVdBVdCrdBWdBVeaGeaKeaLdCBdCCeaMdCFdCIeaNeaRdBmdBmdBndzrdxoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaedsadsadvcdxtdBodBpdBqdAsdBrdBsdxWdBtdszduBdBudvcdAydwodxudAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdBvdBvdBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdBwdTyaaaaaaaaadBydBzdyLdBAdAYdAZdDTdBbdBcdBddBedZYdBJdBKdyUdqcdZZeamdBMdBMdrDdrDdqfdBOdBidBkdBOdBRdBjdBCdBRdBUdBBdBgdBUdrDdqddqedvZeaidzreakealdzrdCddBmdBmdCedzrdxoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedvcdvcdvcdvcdvcdvcdxsdxVdCfdBodxVdzydCgdBtdBtdxYdxudAwdvcdAydvIdChdAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdBvdCidCidCidCidBvdBvdBvdqTdqTdCjdCkdCldxMaaaaaaaaadCmdCndyddyedCodCodCodCodvUdWudvSdrTdrTdrTdyUdWvdBMdCtdBMdCudCvdWHdWJdBOdwfdwcdWCdBRdwbdwedWGdBUdwddvVdWydBUdCHdwadvZdyvdCKdzrdzrdzrdCLdCMdCNdApdzrdxoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedvcedaduBdxWdCPdvcdCQdCRdCSdvcdzzdvcdCTdCUdCVdvcduBdCWdtbdCXdvIdwndtbdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdBvdBvdCidCidCidCidCidCidCidCidBvdBvdqTdCYdCZdyEdBxduEduEduEdDadEoaaeaaedDbdDcdDddDedwHdDgdwtdwjdWOdwGdpjdpidWWdDodDpdDqdDrdXpdXsdBOdxfdWZdALdBRdxadXkdBadBUdxedXHdCxdBUdXOdxKdxCdYidDmdDIdDJdzrdzrdzrdzrdzrdDKdyDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaedvcedaduBdxWdCPdvcdCQdCRdCSdvcdzzdvcdCTdCUdCVdvcduBdCWdtbdCXdvIdwndtbdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdBvdBvdCidCidCidCidCidCidCidCidBvdBvdqTdCYdCZdyEdBxduEduEduEdDadEoaaeaaedDbdDcdDddDedwHdDgdwtdwjdWOdwGdpjdpidWWdDodDpegbegcdXpdXsdBOdxfdWZdALdBRdxadXkdBadBUdxedXHdCxdBUdXOdxKdxCdYidDmdDIdDJdzrdzrdzrdzrdzrdDKdyDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadvcedadvIduBdxUdzzdCWdBodDLdBodDMduBduBdDNdxuduBdvIdvIdvcdtbdDOdvIduBdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdCidCidCidCidCidCidCidCidCidCidDPdDQdDRdDQaaaaaaaaaaaaaaaaaaaaaaaaaaedDbdDcdVxdvudvsdVvdvpdxgdDYdDYdpadpbdBMdCtdBMdEadBMdoZdEcdVodBOdVldBOdBRdBRdVjdBRdBUdBUdVadBUdBUdUvdvkdvjdUodEldEldEmdCKdEnduQduEduEduiduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadvcecZdEqdvIdvIdzzdvIdChdwTdvIdErdDMdChdBudEsdvIdEtdwodvcdBodtbdCWduBdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdDQdCidCidCidCidCidCidCidCidCidCidCidEudEvdEwdtDaaaaaaaaaaaaaaaaaaaaaaaaaaedDbdDcdWtdvQdvRdvQdvPdECdEDdDYdpfdyUdyUdEGdpddEIdBMdpcdEJdvFdWmdVKdWhdWkdWldVzdVEdVFdVGdvOdEVdBUdEWdpedCKdwlduTduTduTdCKdFadFbdsaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadvcecZdEqdvIdvIdzzdvIdChdwTdvIdErdDMdChdBudEsdvIdEtdwodvcdBodtbdCWduBdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdDQdCidCidCidCidCidCidCidCidCidCidCidEudEvdEwdtDaaaaaaaaaaaaaaaaaaaaaaaaaaedDbdDcdWtdvQdvRdvQdvPdECdEDdDYdpfdyUdyUdEGdpddEIdBMdpcdEJdvFegadVKdWhdWkefZdVzdVEdVFefYdvOdEVdBUdEWdpedCKdwlduTduTduTdCKdFadFbdsaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadvcecZdFcdxUdxsdvcdFddvcdFedFfdvcdxWdvcdFedFfdvcdxVdCWdvcdDNdFgdtbdAwdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdFhdCidCidCidCidCidCidCidCidCidCidCidCidFidFjdtDaaaaaaaaaaaaaaaaaaaaaaaaaaedDbdoVdECdECdFkdFldTHdECeeAdDYdEEdyUdMCdFqdFpdFsdBMdoWdTQdTLdFwdTZdFydBRdFzdUadFBdBUdFCdTIdFEdBUdFFdwFdFHdCKdCKdCKdCKdFIdFJdqTdsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadvcdvcdvcdvcdvcdvcdFddvcdFKdxudxWdAwdwodxVdBrdxVdzBdxUdvcdFedFLdFMdFNdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdDPdCidCidCidCidCidCidCidCidCidCidCidCidFidEwdtDaaaaaaaaaaaaaaaaaaaaaaaeaaedDbdFOdFPdFPdFQdFRdECdFSeeBdDYdFodyUdoXdFqdoYdFsdBMdUgedgdBOdtXdFYdFZdBRdtYdGbdGcdBUdGddtZdGfdBUdGgdGhdFHdqTdsadqTdGidGjdGkdqTdsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadsadsadsadsadsadsadsadsadsadsadvcdFddvcdxudAwdGldzydtWdxUdxudvcdxVdwodvcdGmdGndGndGodvcdGpdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdBvdCidCidCidoPdCidCidCidCidCidCidCidCidGqdGraaeaaaaaaaaaaaaaaaaaaaaeaaeaaedDbdDbdGsdGtdDbduSdGvdTtdGvdDbdoOdGTdCidCidCidCidBMdBMdBMdBOdBOdBOdBOdBRdBRdBRdBRdBUdBUdBUdBUdBUdFHdFHdGydGzdrndrndGAdFbdqTdqTdsadsadsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From bca85c892167d26462b891f94172d4f4bd5c8b0e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 23 Aug 2014 12:13:49 +0200 Subject: [PATCH 05/12] Adds a brief description on how to use the department and other channels on join. --- code/game/jobs/job_controller.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 580d4f0fac..2459b01cb2 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -494,6 +494,7 @@ var/global/datum/controller/occupations/job_master H << "You are the [alt_title ? alt_title : rank]." H << "As the [alt_title ? alt_title : rank] you answer directly to [job.supervisors]. Special circumstances may change this." + H << "To speak on your department's radio channel use :h. For the use of other channels, examine your headset." if(job.req_admin_notify) H << "You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp." From 54706d79b3545689b4b6e88b12604de1fcace353 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 23 Aug 2014 12:45:21 +0200 Subject: [PATCH 06/12] Sec-huds can now handle alt-titles. --- code/game/jobs/access.dm | 9 +++++---- code/game/jobs/jobs.dm | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index a6a5c38d30..7424cea16d 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -498,14 +498,15 @@ proc/get_all_job_icons() //For all existing HUD icons var/jobName if(istype(src, /obj/item/device/pda)) - if(src:id) - jobName = src:id:assignment + var/obj/item/device/pda/P = src + if(P.id) + jobName = P.id.rank if(istype(src, /obj/item/weapon/card/id)) - jobName = src:assignment + var/obj/item/weapon/card/id/I = src + jobName = I.rank if(jobName in get_all_job_icons()) //Check if the job has a hud icon return jobName if(jobName in get_all_centcom_jobs()) //Return with the NT logo if it is a Centcom job return "Centcom" return "Unknown" //Return unknown if none of the above apply - diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index b139711f43..a90f3ad716 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -134,9 +134,7 @@ var/list/nonhuman_positions = list( var/list/titles = list() for(var/datum/job/J in jobs) - if(!J) continue if(J.title == job) titles = J.alt_titles return titles - From 368f6ef744728c113f2b1a453b97c46dc4a056c4 Mon Sep 17 00:00:00 2001 From: Walter0o Date: Sat, 23 Aug 2014 16:23:23 +0200 Subject: [PATCH 07/12] removes duplicate handle_hud_list() --- code/modules/mob/living/carbon/human/life.dm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0080f217f9..b0869e969b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1188,15 +1188,13 @@ return 1 proc/handle_regular_hud_updates() - if(hud_updateflag) + if(hud_updateflag) // update our mob's hud overlays, AKA what others see flaoting above our head handle_hud_list() + // now handle what we see on our screen - if(!client) return 0 - - if(hud_updateflag) - handle_hud_list() - + if(!client) + return 0 for(var/image/hud in client.images) if(copytext(hud.icon_state,1,4) == "hud") //ugly, but icon comparison is worse, I believe From f19001feb8a528a41ca4ab4f4b8f355897832397 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 23 Aug 2014 16:33:29 +0200 Subject: [PATCH 08/12] Renames anti-toxin bottles to dylovene. Soporific tossed out. Sleep toxin renamed to Soporific. Based on http://baystation12.net/forums/viewtopic.php?p=237269#p237269 --- code/game/machinery/adv_med.dm | 2 +- .../mecha/equipment/tools/medical_tools.dm | 2 +- code/modules/paperwork/paper.dm | 2 +- code/modules/reagents/Chemistry-Reagents.dm | 38 +------------------ code/modules/reagents/Chemistry-Recipes.dm | 6 +-- .../reagent_containers/glass/bottle.dm | 8 ++-- 6 files changed, 12 insertions(+), 46 deletions(-) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 9c9cd2b5ab..0995780dc9 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -277,7 +277,7 @@ dat += text("[]\tBlood Level %: [] ([] units)
", (blood_volume > 448 ?"" : ""), blood_percent, blood_volume) if(occupant.reagents) dat += text("Inaprovaline units: [] units
", occupant.reagents.get_reagent_amount("inaprovaline")) - dat += text("Soporific (Sleep Toxin): [] units
", occupant.reagents.get_reagent_amount("stoxin")) + dat += text("Soporific: [] units
", occupant.reagents.get_reagent_amount("stoxin")) dat += text("[]\tDermaline: [] units

", (occupant.reagents.get_reagent_amount("dermaline") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dermaline")) dat += text("[]\tBicaridine: [] units
", (occupant.reagents.get_reagent_amount("bicaridine") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("bicaridine")) dat += text("[]\tDexalin: [] units
", (occupant.reagents.get_reagent_amount("dexalin") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dexalin")) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 6b3700164a..015c8f8a24 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -408,7 +408,7 @@ ..() flags |= NOREACT syringes = new - known_reagents = list("inaprovaline"="Inaprovaline","anti_toxin"="Anti-Toxin (Dylovene)") + known_reagents = list("inaprovaline"="Inaprovaline","anti_toxin"="Dylovene") processed_reagents = new create_reagents(max_volume) synth = new (list(src),0) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 515d6b0bc8..a347fca1be 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -450,7 +450,7 @@ /obj/item/weapon/paper/Toxin name = "Chemical Information" - info = "Known Onboard Toxins:
\n\tGrade A Semi-Liquid Phoron:
\n\t\tHighly poisonous. You cannot sustain concentrations above 15 units.
\n\t\tA gas mask fails to filter phoron after 50 units.
\n\t\tWill attempt to diffuse like a gas.
\n\t\tFiltered by scrubbers.
\n\t\tThere is a bottled version which is very different
\n\t\t\tfrom the version found in canisters!
\n
\n\t\tWARNING: Highly Flammable. Keep away from heat sources
\n\t\texcept in a enclosed fire area!
\n\t\tWARNING: It is a crime to use this without authorization.
\nKnown Onboard Anti-Toxin:
\n\tAnti-Toxin Type 01P: Works against Grade A Phoron.
\n\t\tBest if injected directly into bloodstream.
\n\t\tA full injection is in every regular Med-Kit.
\n\t\tSpecial toxin Kits hold around 7.
\n
\nKnown Onboard Chemicals (other):
\n\tRejuvenation T#001:
\n\t\tEven 1 unit injected directly into the bloodstream
\n\t\t\twill cure paralysis and sleep phoron.
\n\t\tIf administered to a dying patient it will prevent
\n\t\t\tfurther damage for about units*3 seconds.
\n\t\t\tit will not cure them or allow them to be cured.
\n\t\tIt can be administeredd to a non-dying patient
\n\t\t\tbut the chemicals disappear just as fast.
\n\tSleep Toxin T#054:
\n\t\t5 units wilkl induce precisely 1 minute of sleep.
\n\t\t\tThe effect are cumulative.
\n\t\tWARNING: It is a crime to use this without authorization" + info = "Known Onboard Toxins:
\n\tGrade A Semi-Liquid Phoron:
\n\t\tHighly poisonous. You cannot sustain concentrations above 15 units.
\n\t\tA gas mask fails to filter phoron after 50 units.
\n\t\tWill attempt to diffuse like a gas.
\n\t\tFiltered by scrubbers.
\n\t\tThere is a bottled version which is very different
\n\t\t\tfrom the version found in canisters!
\n
\n\t\tWARNING: Highly Flammable. Keep away from heat sources
\n\t\texcept in a enclosed fire area!
\n\t\tWARNING: It is a crime to use this without authorization.
\nKnown Onboard Anti-Toxin:
\n\tAnti-Toxin Type 01P: Works against Grade A Phoron.
\n\t\tBest if injected directly into bloodstream.
\n\t\tA full injection is in every regular Med-Kit.
\n\t\tSpecial toxin Kits hold around 7.
\n
\nKnown Onboard Chemicals (other):
\n\tRejuvenation T#001:
\n\t\tEven 1 unit injected directly into the bloodstream
\n\t\t\twill cure paralysis and sleep phoron.
\n\t\tIf administered to a dying patient it will prevent
\n\t\t\tfurther damage for about units*3 seconds.
\n\t\t\tit will not cure them or allow them to be cured.
\n\t\tIt can be administeredd to a non-dying patient
\n\t\t\tbut the chemicals disappear just as fast.
\n\tSoporific T#054:
\n\t\t5 units wilkl induce precisely 1 minute of sleep.
\n\t\t\tThe effect are cumulative.
\n\t\tWARNING: It is a crime to use this without authorization" /obj/item/weapon/paper/courtroom name = "A Crash Course in Legal SOP on SS13" diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 0d8986fcfd..2088fa555b 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -368,40 +368,6 @@ datum ..() return - srejuvenate - name = "Soporific Rejuvenant" - id = "stoxin2" - description = "Put people to sleep, and heals them." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - overdose = REAGENTS_OVERDOSE - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(!data) data = 1 - data++ - if(M.losebreath >= 10) - M.losebreath = max(10, M.losebreath-10) - holder.remove_reagent(src.id, 0.2) - switch(data) - if(1 to 15) - M.eye_blurry = max(M.eye_blurry, 10) - if(15 to 25) - M.drowsyness = max(M.drowsyness, 20) - if(25 to INFINITY) - M.sleeping += 1 - M.adjustOxyLoss(-M.getOxyLoss()) - M.SetWeakened(0) - M.SetStunned(0) - M.SetParalysis(0) - M.dizziness = 0 - M.drowsyness = 0 - M.stuttering = 0 - M.confused = 0 - M.jitteriness = 0 - ..() - return - inaprovaline name = "Inaprovaline" id = "inaprovaline" @@ -1147,7 +1113,7 @@ datum return anti_toxin - name = "Anti-Toxin (Dylovene)" + name = "Dylovene" id = "anti_toxin" description = "Dylovene is a broad-spectrum antitoxin." reagent_state = LIQUID @@ -1794,7 +1760,7 @@ datum H.adjustToxLoss(50) toxin/stoxin - name = "Sleep Toxin" + name = "Soporific" id = "stoxin" description = "An effective hypnotic used to treat insomnia." reagent_state = LIQUID diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index c8e317ca86..2b76e810f9 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -64,7 +64,7 @@ datum result_amount = 3 */ stoxin - name = "Sleep Toxin" + name = "Soporific" id = "stoxin" result = "stoxin" required_reagents = list("chloralhydrate" = 1, "sugar" = 4) @@ -85,7 +85,7 @@ datum result_amount = 3 anti_toxin - name = "Anti-Toxin (Dylovene)" + name = "Dylovene" id = "anti_toxin" result = "anti_toxin" required_reagents = list("silicon" = 1, "potassium" = 1, "nitrogen" = 1) @@ -478,7 +478,7 @@ datum result_amount = 4 stoxin - name = "Sleep Toxin" + name = "Soporific" id = "stoxin" result = "stoxin" required_reagents = list("chloralhydrate" = 1, "sugar" = 4) diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index c4beb0a8f9..ae78984385 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -55,8 +55,8 @@ reagents.add_reagent("cyanide", 30) /obj/item/weapon/reagent_containers/glass/bottle/stoxin - name = "sleep-toxin bottle" - desc = "A small bottle of sleep toxins. Just the fumes make you sleepy." + name = "soporific bottle" + desc = "A small bottle of soporific. Just the fumes make you sleepy." icon = 'icons/obj/chemical.dmi' icon_state = "bottle20" @@ -75,8 +75,8 @@ reagents.add_reagent("chloralhydrate", 15) //Intentionally low since it is so strong. Still enough to knock someone out. /obj/item/weapon/reagent_containers/glass/bottle/antitoxin - name = "anti-toxin bottle" - desc = "A small bottle of Anti-toxins. Counters poisons, and repairs damage, a wonder drug." + name = "dylovene bottle" + desc = "A small bottle of dylovene. Counters poisons, and repairs damage. A wonder drug." icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" From 61d40e2405b1771a7057b128e70a046d14a1d9c4 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 24 Aug 2014 12:47:48 +0200 Subject: [PATCH 09/12] Non-random traitor code word assignment. --- code/game/gamemodes/traitor/traitor.dm | 38 +++++++------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 7d7651a362..899f7f42cc 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -150,6 +150,14 @@ ..() return//Traitors will be checked as part of check_extra_completion. Leaving this here as a reminder. +/datum/game_mode/proc/give_codewords(mob/living/traitor_mob) + traitor_mob << "The Syndicate provided you with the following information on how to identify their agents:" + traitor_mob << "Code Phrase: [syndicate_code_phrase]" + traitor_mob << "Code Response: [syndicate_code_response]" + traitor_mob.mind.store_memory("Code Phrase: [syndicate_code_phrase]") + traitor_mob.mind.store_memory("Code Response: [syndicate_code_response]") + traitor_mob << "Use the code words, preferably in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe." + /datum/game_mode/traitor/process() // Make sure all objectives are processed regularly, so that objectives // which can be checked mid-round are checked mid-round. @@ -165,21 +173,7 @@ killer.set_zeroth_law(law, law_borg) killer << "New law: 0. [law]" - //Begin code phrase. - killer << "The Syndicate provided you with the following information on how to identify their agents:" - if(prob(80)) - killer << "\red Code Phrase: \black [syndicate_code_phrase]" - killer.mind.store_memory("Code Phrase: [syndicate_code_phrase]") - else - killer << "Unfortunately, the Syndicate did not provide you with a code phrase." - if(prob(80)) - killer << "\red Code Response: \black [syndicate_code_response]" - killer.mind.store_memory("Code Response: [syndicate_code_response]") - else - killer << "Unfortunately, the Syndicate did not provide you with a code response." - killer << "Use the code words in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe." - //End code phrase. - + give_codewords(killer) /datum/game_mode/proc/auto_declare_completion_traitor() if(traitors.len) @@ -305,19 +299,7 @@ traitor_mob.mind.store_memory("Uplink Passcode: [pda_pass] ([R.name] [loc]).") //Begin code phrase. if(!safety)//If they are not a rev. Can be added on to. - traitor_mob << "The Syndicate provided you with the following information on how to identify other agents:" - if(prob(80)) - traitor_mob << "\red Code Phrase: \black [syndicate_code_phrase]" - traitor_mob.mind.store_memory("Code Phrase: [syndicate_code_phrase]") - else - traitor_mob << "Unfortunetly, the Syndicate did not provide you with a code phrase." - if(prob(80)) - traitor_mob << "\red Code Response: \black [syndicate_code_response]" - traitor_mob.mind.store_memory("Code Response: [syndicate_code_response]") - else - traitor_mob << "Unfortunately, the Syndicate did not provide you with a code response." - traitor_mob << "Use the code words in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe." - //End code phrase. + give_codewords(traitor_mob) // Tell them about people they might want to contact. var/mob/living/carbon/human/M = get_nt_opposed() From 1084a1d6d7d3044e4d5b902085c2b67316025556 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 24 Aug 2014 22:39:17 +0200 Subject: [PATCH 10/12] Optimization of machinery sort? --- code/controllers/master_controller.dm | 8 ++++++++ code/game/machinery/machinery.dm | 7 ++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 0777c6aa41..204081716c 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -278,9 +278,17 @@ datum/controller/game_controller/proc/process_diseases() active_diseases.Cut(i,i+1) datum/controller/game_controller/proc/process_machines() + process_machines_sort() process_machines_process() process_machines_power() process_machines_rebuild() + +/var/global/machinery_sort_required = 0 +datum/controller/game_controller/proc/process_machines_sort() + if(machinery_sort_required) + machinery_sort_required = 0 + machines = dd_sortedObjectList(machines) + datum/controller/game_controller/proc/process_machines_process() var/i = 1 while(i<=machines.len) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index c1438b236d..b4ec54d615 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -114,6 +114,7 @@ Class Procs: /obj/machinery/New() ..() machines += src + machinery_sort_required = 1 /obj/machinery/Del() machines -= src @@ -161,15 +162,15 @@ Class Procs: /obj/machinery/proc/update_use_power(var/new_use_power) if (new_use_power == use_power) return //don't need to do anything - + use_power = new_use_power - + //force area power update //use_power() forces an area power update on the next tick so have to pass the correct power amount for this tick if (use_power >= 2) use_power(active_power_usage) else if (use_power == 1) - use_power(idle_power_usage) + use_power(idle_power_usage) else use_power(0) From 3367fdf8bb3ab082379cf02f168e05ce4f2166ae Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 24 Aug 2014 23:41:15 +0200 Subject: [PATCH 11/12] Now mecha area denial feedback is closer to 5 seconds apart then ever. --- code/game/mecha/mech_sensor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm index d7e1937715..a00e9d6594 100644 --- a/code/game/mecha/mech_sensor.dm +++ b/code/game/mecha/mech_sensor.dm @@ -51,7 +51,7 @@ E.load << block_message feedback_timer = 1 - spawn(5) //Without this timer the feedback becomes horribly spamy + spawn(50) //Without this timer the feedback becomes horribly spamy feedback_timer = 0 /obj/machinery/mech_sensor/proc/enabled() From 3377ca1bfbe3ba9cb985075e42878ce5b9f1508b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 24 Aug 2014 23:40:12 +0200 Subject: [PATCH 12/12] Based on https://github.com/tgstation/-tg-station/pull/4562 and adapted to BS12 shuttle code. Credit to @Ikarrus. --- code/game/gamemodes/gameticker.dm | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 797afab1d4..f87d2c6b32 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -372,10 +372,29 @@ var/global/datum/controller/gameticker/ticker /datum/controller/gameticker/proc/declare_completion() + world << "


The round has ended." + for(var/mob/Player in player_list) + if(Player.mind) + if(Player.stat != DEAD) + var/turf/playerTurf = get_turf(Player) + if(emergency_shuttle.departed && emergency_shuttle.evac) + if(playerTurf.z != 2) + Player << "You managed to survive, but were marooned on [station_name()]..." + else + Player << "You managed to survive the events on [station_name()] as [Player.real_name]." + else if(playerTurf.z == 2) + Player << "You successfully underwent crew transfer after events on [station_name()] as [Player.real_name]." + else if(issilicon(Player)) + Player << "You remain operational after the events on [station_name()] as [Player.real_name]." + else + Player << "You missed the crew transfer after events on [station_name()] as [Player.real_name]." + else + Player << "You did not survive the events on [station_name()]..." + world << "
" for (var/mob/living/silicon/ai/aiPlayer in mob_list) if (aiPlayer.stat != 2) - world << "[aiPlayer.name] (Played by: [aiPlayer.key])'s laws at the end of the game were:" + world << "[aiPlayer.name] (Played by: [aiPlayer.key])'s laws at the end of the round were:" else world << "[aiPlayer.name] (Played by: [aiPlayer.key])'s laws when it was deactivated were:" aiPlayer.show_laws(1)