From 6a975a1e6aa781a77ccdac75c1e669313bd9e433 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 29 Nov 2014 17:32:45 +0000 Subject: [PATCH 01/40] Noise emotes Conflicts: code/modules/mob/living/carbon/brain/say.dm --- code/__HELPERS/global_lists.dm | 7 ++- code/game/gamemodes/heist/heist.dm | 1 + code/game/machinery/hologram.dm | 10 ++- .../objects/items/weapons/storage/storage.dm | 4 +- code/game/objects/objs.dm | 2 +- .../structures/crates_lockers/closets.dm | 4 +- code/modules/assembly/holder.dm | 6 +- code/modules/clothing/suits/storage.dm | 4 +- code/modules/clothing/under/ties.dm | 4 +- code/modules/mob/hear_say.dm | 63 ++++++++++--------- code/modules/mob/language.dm | 40 +++++++----- code/modules/mob/living/carbon/alien/say.dm | 15 +---- code/modules/mob/living/carbon/brain/say.dm | 19 +++++- code/modules/mob/living/carbon/human/say.dm | 4 +- .../mob/living/carbon/human/whisper.dm | 6 +- code/modules/mob/living/living.dm | 4 ++ code/modules/mob/living/silicon/say.dm | 22 ++++--- code/modules/mob/living/silicon/silicon.dm | 3 +- code/modules/mob/say.dm | 3 + code/setup.dm | 2 + 20 files changed, 131 insertions(+), 92 deletions(-) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 8bde73c238e..313b5b0743b 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -106,9 +106,10 @@ var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Al for (var/language_name in all_languages) var/datum/language/L = all_languages[language_name] - language_keys[":[lowertext(L.key)]"] = L - language_keys[".[lowertext(L.key)]"] = L - language_keys["#[lowertext(L.key)]"] = L + if(!(L.flags & NONGLOBAL)) + language_keys[":[lowertext(L.key)]"] = L + language_keys[".[lowertext(L.key)]"] = L + language_keys["#[lowertext(L.key)]"] = L var/rkey = 0 paths = typesof(/datum/species)-/datum/species diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index 14e1b5a30eb..4f08fac88d1 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -109,6 +109,7 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind' vox.add_language("Vox-pidgin") vox.add_language("Galactic Common") vox.add_language("Tradeband") + vox.add_language("Noise") vox.h_style = "Short Vox Quills" vox.f_style = "Shaved" diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 66708db7f7b..dc98e0ce7e9 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -81,13 +81,17 @@ var/const/HOLOPAD_MODE = 0 /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. For the other part of the code, check silicon say.dm. Particularly robot talk.*/ -/obj/machinery/hologram/holopad/hear_talk(mob/living/M, text, verb) +/obj/machinery/hologram/holopad/hear_talk(mob/living/M, text, verb, datum/language/speaking) if(M&&hologram&&master)//Master is mostly a safety in case lag hits or something. - if(!master.say_understands(M))//The AI will be able to understand most mobs talking through the holopad. + if(!master.say_understands(M, speaking))//The AI will be able to understand most mobs talking through the holopad. text = stars(text) var/name_used = M.GetVoice() //This communication is imperfect because the holopad "filters" voices and is only designed to connect to the master only. - var/rendered = "Holopad received, [name_used] [verb], \"[text]\"" + var/rendered + if(speaking) + rendered = "Holopad received, [name_used] [speaking.format_message(text, verb)]" + else + rendered = "Holopad received, [name_used] [verb], \"[text]\"" master.show_message(rendered, 2) return diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 291418f5108..12078e0addf 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -452,11 +452,11 @@ del(src) //BubbleWrap END -/obj/item/weapon/storage/hear_talk(mob/M as mob, text) +/obj/item/weapon/storage/hear_talk(mob/M as mob, text, verb, datum/language/speaking) for (var/atom/A in src) if(istype(A,/obj/)) var/obj/O = A - O.hear_talk(M, text) + O.hear_talk(M, text, verb, speaking) //Returns the storage depth of an atom. This is the number of storage items the atom is contained in before reaching toplevel (the area). //Returns -1 if the atom was not found on container. diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 44fc441926f..ba696b6850b 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -126,7 +126,7 @@ return -/obj/proc/hear_talk(mob/M as mob, text) +/obj/proc/hear_talk(mob/M as mob, text, verb, datum/language/speaking) if(talking_atom) talking_atom.catchMessage(text, M) /* diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 44c2c3b9002..8ff522a8585 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -293,11 +293,11 @@ else icon_state = icon_opened -/obj/structure/closet/hear_talk(mob/M as mob, text) +/obj/structure/closet/hear_talk(mob/M as mob, text, verb, datum/language/speaking) for (var/atom/A in src) if(istype(A,/obj/)) var/obj/O = A - O.hear_talk(M, text) + O.hear_talk(M, text, verb, speaking) /obj/structure/closet/attack_generic(var/mob/user, var/damage, var/attack_message = "destroys", var/wallbreaker) if(!damage || !wallbreaker) diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index a9a4f2cc25b..82f74509813 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -211,11 +211,11 @@ return 1 -/obj/item/device/assembly_holder/hear_talk(mob/living/M as mob, msg) +/obj/item/device/assembly_holder/hear_talk(mob/living/M as mob, msg, verb, datum/language/speaking) if(a_right) - a_right.hear_talk(M,msg) + a_right.hear_talk(M,msg,verb,speaking) if(a_left) - a_left.hear_talk(M,msg) + a_left.hear_talk(M,msg,verb,speaking) diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm index 5e37fd240fe..f34c9f00c3e 100644 --- a/code/modules/clothing/suits/storage.dm +++ b/code/modules/clothing/suits/storage.dm @@ -24,8 +24,8 @@ pockets.emp_act(severity) ..() -/obj/item/clothing/suit/storage/hear_talk(mob/M, var/msg) - pockets.hear_talk(M, msg) +/obj/item/clothing/suit/storage/hear_talk(mob/M, var/msg, verb, datum/language/speaking) + pockets.hear_talk(M, msg, verb, speaking) ..() //Jackets with buttons, used for labcoats, IA jackets, First Responder jackets, and brown jackets. diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 51290cf7773..b70df2c84b0 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -347,8 +347,8 @@ hold.emp_act(severity) ..() -/obj/item/clothing/tie/storage/hear_talk(mob/M, var/msg) - hold.hear_talk(M, msg) +/obj/item/clothing/tie/storage/hear_talk(mob/M, var/msg, verb, datum/language/speaking) + hold.hear_talk(M, msg, verb, speaking) ..() /obj/item/clothing/tie/storage/attack_self(mob/user as mob) diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index 04fa4273a07..7765cda9289 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -24,23 +24,19 @@ if(sleeping || stat == 1) hear_sleep(message) return - - var/style = "body" //non-verbal languages are garbled if you can't see the speaker. Yes, this includes if they are inside a closet. if (language && (language.flags & NONVERBAL)) if (!speaker || (src.sdisabilities & BLIND || src.blinded) || !(speaker in view(src))) message = stars(message) - if(!say_understands(speaker,language)) - if(istype(speaker,/mob/living/simple_animal)) - var/mob/living/simple_animal/S = speaker - message = pick(S.speak) - else - message = stars(message) - - if(language) - style = language.colour + if(!(language && (language.flags & INNATE))) // skip understanding checks for INNATE languages + if(!say_understands(speaker,language)) + if(istype(speaker,/mob/living/simple_animal)) + var/mob/living/simple_animal/S = speaker + message = pick(S.speak) + else + message = stars(message) var/speaker_name = speaker.name if(istype(speaker, /mob/living/carbon/human)) @@ -61,12 +57,16 @@ message = "[message]" if(sdisabilities & DEAF || ear_deaf) - if(speaker == src) - src << "You cannot hear yourself speak!" - else - src << "[speaker_name][alt_name] talks but you cannot hear \him." + if(!language || !(language.flags & INNATE)) // INNATE is the flag for audible-emote-language, so we don't want to show an "x talks but you cannot hear them" message if it's set + if(speaker == src) + src << "You cannot hear yourself speak!" + else + src << "[speaker_name][alt_name] talks but you cannot hear \him." else - src << "[speaker_name][alt_name] [track][verb], \"[message]\"" + if(language) + src << "[speaker_name][alt_name] [track][language.format_message(message, verb)]" + else + src << "[speaker_name][alt_name] [track][verb], \"[message]\"" if (speech_sound && (get_dist(speaker, src) <= world.view && src.z == speaker.z)) var/turf/source = speaker? get_turf(speaker) : get_turf(src) src.playsound_local(source, speech_sound, sound_vol, 1) @@ -83,26 +83,22 @@ var/track = null - var/style = "body" - //non-verbal languages are garbled if you can't see the speaker. Yes, this includes if they are inside a closet. if (language && (language.flags & NONVERBAL)) if (!speaker || (src.sdisabilities & BLIND || src.blinded) || !(speaker in view(src))) message = stars(message) - if(!say_understands(speaker,language)) - if(istype(speaker,/mob/living/simple_animal)) - var/mob/living/simple_animal/S = speaker - message = pick(S.speak) - else + if(!(language && (language.flags & INNATE))) // skip understanding checks for INNATE languages + if(!say_understands(speaker,language)) + if(istype(speaker,/mob/living/simple_animal)) + var/mob/living/simple_animal/S = speaker + message = pick(S.speak) + else + message = stars(message) + + if(hard_to_hear) message = stars(message) - if(language) - style = language.colour - - if(hard_to_hear) - message = stars(message) - var/speaker_name = speaker.name if(vname) @@ -162,13 +158,18 @@ speaker_name = "[speaker.real_name] ([speaker_name])" track = "[speaker_name] (follow)" + var/formatted + if(language) + formatted = language.format_message_radio(message, verb) + else + formatted = "[verb], \"[message]\"" if(sdisabilities & DEAF || ear_deaf) if(prob(20)) src << "You feel your headset vibrate but can hear nothing from it!" else if(track) - src << "[part_a][track][part_b][verb], \"[message]\"" + src << "[part_a][track][part_b][formatted]" else - src << "[part_a][speaker_name][part_b][verb], \"[message]\"" + src << "[part_a][speaker_name][part_b][formatted]" /mob/proc/hear_signlang(var/message, var/verb = "gestures", var/datum/language/language, var/mob/speaker = null) if(!client) diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 2e627330a06..e619734700e 100755 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -15,23 +15,21 @@ var/flags = 0 // Various language flags. var/native // If set, non-native speakers will have trouble speaking. -/datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask) +/datum/language/proc/format_message(message, verb) + return "[verb], \"[capitalize(message)]\"" +/datum/language/proc/format_message_radio(message, verb) + return "[verb], \"[capitalize(message)]\"" + +/datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask) log_say("[key_name(speaker)] : ([name]) [message]") + if(!speaker_mask) speaker_mask = speaker.name + var/msg = "[name], [speaker_mask] [format_message(message, get_spoken_verb(message))]" + for(var/mob/player in player_list) - - var/understood = 0 - - if(istype(player,/mob/dead)) - understood = 1 - else if((src in player.languages) && check_special_condition(player)) - understood = 1 - - if(understood) - if(!speaker_mask) speaker_mask = speaker.name - var/msg = "[name], [speaker_mask] [speech_verb], \"[message]\"" - player << "[msg]" + if(istype(player,/mob/dead) || ((src in player.languages) && check_special_condition(player))) + player << msg /datum/language/proc/check_special_condition(var/mob/other) return 1 @@ -44,6 +42,19 @@ return ask_verb return speech_verb +// Noise "language", for audible emotes. +/datum/language/noise + name = "Noise" + desc = "Noises" + key = "" + flags = RESTRICTED|NONGLOBAL|INNATE + +/datum/language/noise/format_message(message, verb) + return "[message]" + +/datum/language/noise/format_message_radio(message, verb) + return "[message]" + /datum/language/unathi name = "Sinta'unathi" desc = "The common language of Moghes, composed of sibilant hisses and rattles. Spoken natively by Unathi." @@ -305,7 +316,8 @@ var/dat = "Known Languages

" for(var/datum/language/L in languages) - dat += "[L.name] (:[L.key])
[L.desc]

" + if(!(L.flags & NONGLOBAL)) + dat += "[L.name] (:[L.key])
[L.desc]

" src << browse(dat, "window=checklanguage") return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/say.dm b/code/modules/mob/living/carbon/alien/say.dm index 8b13a07fdc2..038c77fcde3 100644 --- a/code/modules/mob/living/carbon/alien/say.dm +++ b/code/modules/mob/living/carbon/alien/say.dm @@ -15,21 +15,12 @@ if(copytext(message,1,2) == "*") return emote(copytext(message,2)) - var/datum/language/speaking = null - - if(length(message) >= 2) - var/channel_prefix = copytext(message, 1 ,3) - if(languages.len) - for(var/datum/language/L in languages) - if(lowertext(channel_prefix) == ":[L.key]") - verb = L.speech_verb - speaking = L - break + var/datum/language/speaking = parse_language(message) if(speaking) - message = trim(copytext(message,3)) + message = copytext(message, 2+length(speaking.key)) - message = capitalize(trim_left(message)) + message = trim(message) if(!message || stat) return diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index 6c2394eb614..ecfb8256848 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -2,10 +2,23 @@ /mob/living/carbon/brain/say(var/message) if (silent) return - - if(!(container && istype(container, /obj/item/device/mmi))) + + if(!(container && istype(container, /obj/item/device/mmi))) return //No MMI, can't speak, bucko./N else + var/datum/language/speaking = parse_language(message) + if(speaking) + message = copytext(message, 2+length(speaking.key)) + var/verb = "says" + var/ending = copytext(message, length(message)) + if (speaking) + verb = speaking.get_spoken_verb(ending) + else + if(ending=="!") + verb=pick("exclaims","shouts","yells") + if(ending=="?") + verb="asks" + if(prob(emp_damage*4)) if(prob(10))//10% chane to drop the message entirely return @@ -14,5 +27,5 @@ if(istype(container, /obj/item/device/mmi/radio_enabled)) var/obj/item/device/mmi/radio_enabled/R = container if(R.radio) - spawn(0) R.radio.hear_talk(src, sanitize(message)) + spawn(0) R.radio.hear_talk(src, trim(sanitize(message)), verb, speaking) ..() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 6b13e0b3a1c..d787c3f7333 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -33,7 +33,7 @@ //parse the language code and consume it var/datum/language/speaking = parse_language(message) if(speaking) - message = copytext(message,3) + message = copytext(message,2+length(speaking.key)) else if(species.default_language) speaking = all_languages[species.default_language] @@ -55,7 +55,7 @@ if (istype(wear_mask, /obj/item/clothing/mask/muzzle)) return - message = capitalize(trim(message)) + message = trim(message) if(speech_problem_flag) var/list/handle_r = handle_speech_problems(message) diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm index dc81d3d1b5b..0c6b9e147f9 100644 --- a/code/modules/mob/living/carbon/human/whisper.dm +++ b/code/modules/mob/living/carbon/human/whisper.dm @@ -29,7 +29,7 @@ //parse the language code and consume it var/datum/language/speaking = parse_language(message) if (speaking) - message = copytext(message,3) + message = copytext(message,2+length(speaking.key)) whisper_say(message, speaking, alt_name) @@ -49,7 +49,7 @@ else var/adverb = pick("quietly", "softly") verb = "[speaking.speech_verb] [adverb]" - not_heard = "[verb] something [adverb]" + not_heard = "[speaking.speech_verb] something [adverb]" else not_heard = "[verb] something" //TODO get rid of the null language and just prevent speech if language is null @@ -126,7 +126,7 @@ for (var/obj/O in view(message_range, src)) spawn (0) if (O) - O.hear_talk(src, message) //O.hear_talk(src, message, verb, speaking) + O.hear_talk(src, message, verb, speaking) var/list/eavesdropping = hearers(eavesdropping_range, src) eavesdropping -= src diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index f883ce46ff1..a712d261394 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1,3 +1,7 @@ +/mob/living/New() + ..() + add_language("Noise") + //mob verbs are faster than object verbs. See mob/verb/examine. /mob/living/verb/pulled(atom/movable/AM as mob|obj in oview(1)) set name = "Pull" diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 22db25d6786..caf62e484f8 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -72,7 +72,7 @@ var/datum/language/speaking = parse_language(message) if (speaking) verb = speaking.speech_verb - message = copytext(message,3) + message = trim(copytext(message,2+length(speaking.key))) if(speaking.flags & HIVEMIND) speaking.broadcast(src,trim(message)) @@ -102,7 +102,7 @@ if("department") switch(bot_type) if(IS_AI) - return AI.holopad_talk(message) + return AI.holopad_talk(message, verb, speaking) if(IS_ROBOT) log_say("[key_name(src)] : [message]") return R.radio.talk_into(src,message,message_mode,verb,speaking) @@ -149,7 +149,7 @@ return ..(message,speaking,verb) //For holopads only. Usable by AI. -/mob/living/silicon/ai/proc/holopad_talk(var/message) +/mob/living/silicon/ai/proc/holopad_talk(var/message, verb, datum/language/speaking) log_say("[key_name(src)] : [message]") @@ -160,16 +160,22 @@ var/obj/machinery/hologram/holopad/T = src.holo if(T && T.hologram && T.master == src)//If there is a hologram and its master is the user. - var/verb = say_quote(message) //Human-like, sorta, heard by those who understand humans. - var/rendered_a = "[name] [verb], \"[message]\"" - + var/rendered_a //Speach distorted, heard by those who do not understand AIs. var/message_stars = stars(message) - var/rendered_b = "[voice_name] [verb], \"[message_stars]\"" + var/rendered_b + + if(speaking) + rendered_a = "[name] [speaking.format_message(message, verb)]" + rendered_b = "[voice_name] [speaking.format_message(message_stars, verb)]" + src << "Holopad transmitted, [real_name] [speaking.format_message(message, verb)]"//The AI can "hear" its own message. + else + rendered_a = "[name] [verb], \"[message]\"" + rendered_b = "[voice_name] [verb], \"[message_stars]\"" + src << "Holopad transmitted, [real_name] [verb], \"[message]\""//The AI can "hear" its own message. - src << "Holopad transmitted, [real_name] [verb], [message]"//The AI can "hear" its own message. for(var/mob/M in hearers(T.loc))//The location is the object, default distance. if(M.say_understands(src))//If they understand AI speak. Humans and the like will be able to. M.show_message(rendered_a, 2) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 93d4438d7b4..892f129f11b 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -197,7 +197,8 @@ var/dat = "Known Languages

" for(var/datum/language/L in languages) - dat += "[L.name] (:[L.key])
Speech Synthesizer: [(L in speech_synthesizer_langs)? "YES":"NOT SUPPORTED"]
[L.desc]

" + if(!(L.flags & NONGLOBAL)) + dat += "[L.name] (:[L.key])
Speech Synthesizer: [(L in speech_synthesizer_langs)? "YES":"NOT SUPPORTED"]
[L.desc]

" src << browse(dat, "window=checklanguage") return diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 10e6c4266c0..da75999c41c 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -142,6 +142,9 @@ //parses the language code (e.g. :j) from text, such as that supplied to say. //returns the language object only if the code corresponds to a language that src can speak, otherwise null. /mob/proc/parse_language(var/message) + if(length(message) >= 1 && copytext(message,1,2) == "!") + return all_languages["Noise"] + if(length(message) >= 2) var/language_prefix = lowertext(copytext(message, 1 ,3)) var/datum/language/L = language_keys[language_prefix] diff --git a/code/setup.dm b/code/setup.dm index 7de8cfc9871..9e204bf1203 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -764,6 +764,8 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse #define NONVERBAL 4 // Language has a significant non-verbal component. Speech is garbled without line-of-sight #define SIGNLANG 8 // Language is completely non-verbal. Speech is displayed through emotes for those who can understand. #define HIVEMIND 16 // Broadcast to all mobs with this language. +#define NONGLOBAL 32 // Do not add to general languages list +#define INNATE 64 // All mobs can be assumed to speak and understand this language (audible emotes) //Flags for zone sleeping #define ZONE_ACTIVE 1 From 17597af7fc2cd2f2fcde07e37ef174ea3694679f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 7 Dec 2014 12:04:09 +0000 Subject: [PATCH 02/40] Better handling of language list, mobs no longer require noise-language in their list --- code/game/gamemodes/heist/heist.dm | 1 - code/modules/mob/language.dm | 2 +- code/modules/mob/living/living.dm | 4 ---- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index 4f08fac88d1..14e1b5a30eb 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -109,7 +109,6 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind' vox.add_language("Vox-pidgin") vox.add_language("Galactic Common") vox.add_language("Tradeband") - vox.add_language("Noise") vox.h_style = "Short Vox Quills" vox.f_style = "Shaved" diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index e619734700e..2734438494b 100755 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -305,7 +305,7 @@ // Can we speak this language, as opposed to just understanding it? /mob/proc/can_speak(datum/language/speaking) - return (universal_speak || speaking in src.languages) + return (universal_speak || (speaking.flags & INNATE) || speaking in src.languages) //TBD /mob/verb/check_languages() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a712d261394..f883ce46ff1 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1,7 +1,3 @@ -/mob/living/New() - ..() - add_language("Noise") - //mob verbs are faster than object verbs. See mob/verb/examine. /mob/living/verb/pulled(atom/movable/AM as mob|obj in oview(1)) set name = "Pull" From b6de85ec56e68face46547be192738dfb7583b87 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 7 Dec 2014 17:01:19 +0000 Subject: [PATCH 03/40] Fixes, better handling of things --- code/modules/mob/language.dm | 19 +++++++++++++------ code/modules/mob/living/carbon/human/say.dm | 10 +++++++--- code/modules/mob/say.dm | 3 +++ code/setup.dm | 1 + 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 2734438494b..5ba78b33c51 100755 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -21,6 +21,10 @@ /datum/language/proc/format_message_radio(message, verb) return "[verb], \"[capitalize(message)]\"" +/datum/language/proc/get_talkinto_msg_range(message) + // if you yell, you'll be heard from two tiles over instead of one + return (copytext(message, length(message)) == "!") ? 2 : 1 + /datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask) log_say("[key_name(speaker)] : ([name]) [message]") @@ -47,7 +51,7 @@ name = "Noise" desc = "Noises" key = "" - flags = RESTRICTED|NONGLOBAL|INNATE + flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG /datum/language/noise/format_message(message, verb) return "[message]" @@ -55,6 +59,10 @@ /datum/language/noise/format_message_radio(message, verb) return "[message]" +/datum/language/noise/get_talkinto_msg_range(message) + // if you make a loud noise (screams etc), you'll be heard from 4 tiles over instead of two + return (copytext(message, length(message)) == "!") ? 4 : 2 + /datum/language/unathi name = "Sinta'unathi" desc = "The common language of Moghes, composed of sibilant hisses and rattles. Spoken natively by Unathi." @@ -297,15 +305,14 @@ return 1 /mob/proc/remove_language(var/rem_language) - - languages.Remove(all_languages[rem_language]) - - return 0 + var/datum/language/L = all_languages[rem_language] + . = (L in languages) + languages.Remove(L) // Can we speak this language, as opposed to just understanding it? /mob/proc/can_speak(datum/language/speaking) - return (universal_speak || (speaking.flags & INNATE) || speaking in src.languages) + return (universal_speak || (speaking && speaking.flags & INNATE) || speaking in src.languages) //TBD /mob/verb/check_languages() diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index d787c3f7333..7201cfc8e40 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -132,10 +132,14 @@ if(used_radios.len) italics = 1 message_range = 1 - + if(speaking) + message_range = speaking.get_talkinto_msg_range(message) + var/msg + if(!speaking || !(speaking.flags & NO_TALK_MSG)) + msg = "\The [src] talks into \the [used_radios[1]]" for(var/mob/living/M in hearers(5, src)) - if(M != src) - M.show_message("[src] talks into [used_radios.len ? used_radios[1] : "the radio."]") + if((M != src) && msg) + M.show_message(msg) if (speech_sound) sound_vol *= 0.5 diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index da75999c41c..8a7b7aa962c 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -79,6 +79,9 @@ return 1 return 0 + if(speaking.flags & INNATE) + return 1 + //Language check. for(var/datum/language/L in src.languages) if(speaking.name == L.name) diff --git a/code/setup.dm b/code/setup.dm index 9e204bf1203..8b8dcd82d8e 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -766,6 +766,7 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse #define HIVEMIND 16 // Broadcast to all mobs with this language. #define NONGLOBAL 32 // Do not add to general languages list #define INNATE 64 // All mobs can be assumed to speak and understand this language (audible emotes) +#define NO_TALK_MSG 128 // Do not show the "\The [speaker] talks into \the [radio]" message //Flags for zone sleeping #define ZONE_ACTIVE 1 From aa575b446a60b4b2abe9a8f90b311829babc34c9 Mon Sep 17 00:00:00 2001 From: Segrain Date: Mon, 8 Dec 2014 03:57:02 +0300 Subject: [PATCH 04/40] Fix for #7260. --- code/modules/mob/living/silicon/robot/robot.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index f2aa919eb00..38e0c0df6a0 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1322,9 +1322,9 @@ var/list/robot_verbs_default = list( if(!connected_ai) return switch(notifytype) - if(1) //New Cyborg - connected_ai << "

NOTICE - New cyborg connection detected: [name]
" + if(1) //New Robot + connected_ai << "

NOTICE - New [lowertext(braintype)] connection detected: [name]
" if(2) //New Module - connected_ai << "

NOTICE - Cyborg module change detected: [name] has loaded the [module.name] module.
" + connected_ai << "

NOTICE - [braintype] module change detected: [name] has loaded the [module.name].
" if(3) //New Name - connected_ai << "

NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].
" + connected_ai << "

NOTICE - [braintype] reclassification detected: [oldname] is now designated as [newname].
" \ No newline at end of file From 639c61721b64ef239b87b3afd80d1934e32bb7b3 Mon Sep 17 00:00:00 2001 From: Segrain Date: Mon, 8 Dec 2014 03:58:42 +0300 Subject: [PATCH 05/40] Fix for #7261. --- code/game/objects/effects/decals/contraband.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm index 68f60816fa7..7a55a1a7e52 100644 --- a/code/game/objects/effects/decals/contraband.dm +++ b/code/game/objects/effects/decals/contraband.dm @@ -35,14 +35,15 @@ obj/structure/sign/poster var/ruined = 0 obj/structure/sign/poster/New(var/serial) + serial_number = serial var/designtype if (poster_type) designtype = text2path(poster_type) else if(serial_number == loc) - serial_number = rand(1, poster_designs.len) //This is for the mappers that want individual posters without having to use rolled posters. + serial_number = rand(1, poster_designs.len) //This is for the mappers that want individual posters without having to use rolled posters. designtype = poster_designs[serial_number] - + var/datum/poster/design=new designtype() name += " - [design.name]" desc += " [design.desc]" From e0ab31756d5905cf7ae7b2ee0cc5d564467b6bbe Mon Sep 17 00:00:00 2001 From: Segrain Date: Mon, 8 Dec 2014 04:01:00 +0300 Subject: [PATCH 06/40] Fix for double definition. --- .../modules/mob/living/silicon/pai/examine.dm | 39 ++++++++----------- code/modules/mob/living/silicon/pai/pai.dm | 22 +---------- 2 files changed, 17 insertions(+), 44 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm index 7565c35844b..109e4ce43fe 100644 --- a/code/modules/mob/living/silicon/pai/examine.dm +++ b/code/modules/mob/living/silicon/pai/examine.dm @@ -1,26 +1,19 @@ -/mob/living/silicon/pai/examine(mob/user) //removed as it was pointless...moved to the pai-card instead. - /*..(user) +/mob/living/silicon/pai/examine(mob/user) + ..(user, infix = ", personal AI") var/msg = "" - if (src.stat == DEAD) - msg += "It appears to be offline.\n" - else - msg += "" - if (src.getBruteLoss()) - if (src.getBruteLoss() < 30) - msg += "It looks slightly dented.\n" - else - msg += "Its casing appears cracked and broken!\n" - if (src.getFireLoss()) - if (src.getFireLoss() < 30) - msg += "It looks slightly charred!\n" - else - msg += "Its casing is melted and heat-warped!\n" - if (src.stat == UNCONSCIOUS) - msg += "It doesn't seem to be responding and its text-output is lagging.\n" - msg += "" - msg += "*---------*" + switch(src.stat) + if(CONSCIOUS) + if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk + if(UNCONSCIOUS) msg += "\nIt doesn't seem to be responding." + if(DEAD) msg += "\nIt looks completely unsalvageable." + msg += "\n*---------*" - user << msg - */ - return \ No newline at end of file + if(print_flavor_text()) msg += "\n[print_flavor_text()]\n" + + if (pose) + if( findtext(pose,".",lentext(pose)) == 0 && findtext(pose,"!",lentext(pose)) == 0 && findtext(pose,"?",lentext(pose)) == 0 ) + pose = addtext(pose,".") //Makes sure all emotes end with a period. + msg += "\nIt is [pose]" + + user << msg \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index d8bf9706fd8..0fc0d5e1324 100755 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -415,26 +415,6 @@ else src << "You are too small to pull that." -/mob/living/silicon/pai/examine(mob/user) - ..(user) - - var/msg = "" - switch(src.stat) - if(CONSCIOUS) - if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk - if(UNCONSCIOUS) msg += "\nIt doesn't seem to be responding." - if(DEAD) msg += "\nIt looks completely unsalvageable." - msg += "\n*---------*" - - if(print_flavor_text()) msg += "\n[print_flavor_text()]\n" - - if (pose) - if( findtext(pose,".",lentext(pose)) == 0 && findtext(pose,"!",lentext(pose)) == 0 && findtext(pose,"?",lentext(pose)) == 0 ) - pose = addtext(pose,".") //Makes sure all emotes end with a period. - msg += "\nIt is [pose]" - - user << msg - // No binary for pAIs. /mob/living/silicon/pai/binarycheck() - return 0 + return 0 \ No newline at end of file From f9564cbe5e003d17f7bc5ab43e4e6eab47639edd Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 7 Dec 2014 22:14:49 -0500 Subject: [PATCH 07/40] Poster fixes Fixes #7261 Fixes placed posters being visible on both sides of the wall. Fixes the poster_type var used to specify certain poster designs on the map not working correctly, and makes the nuke op shuttle poster an actual poster. Poster placement now belongs to the poster object instead of turf/simulated/ Posters can now be placed on unsimulated and shuttle walls. --- code/__HELPERS/global_lists.dm | 8 +- code/__HELPERS/turfs.dm | 3 + .../game/objects/effects/decals/contraband.dm | 106 +++++++++++++++--- .../objects/effects/decals/posters/bs12.dm | 4 +- maps/exodus-2.dmm | 2 +- 5 files changed, 103 insertions(+), 20 deletions(-) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 8bde73c238e..c0fa2370ef6 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -26,7 +26,7 @@ var/global/list/language_keys[0] //table of say codes for all languages var/global/list/whitelisted_species = list("Human") // Posters -var/global/list/datum/poster/poster_designs = typesof(/datum/poster) - /datum/poster +var/global/list/poster_designs = list() // Uplinks var/list/obj/item/device/uplink/world_uplinks = list() @@ -121,6 +121,12 @@ var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Al if(S.flags & IS_WHITELISTED) whitelisted_species += S.name + //Posters + paths = typesof(/datum/poster) - /datum/poster + for(var/T in paths) + var/datum/poster/P = new T + poster_designs += P + return 1 /* // Uncomment to debug chemical reaction list. diff --git a/code/__HELPERS/turfs.dm b/code/__HELPERS/turfs.dm index 57d4b865557..3e26d117b2d 100644 --- a/code/__HELPERS/turfs.dm +++ b/code/__HELPERS/turfs.dm @@ -5,3 +5,6 @@ while(mloc && mloc.loc && !istype(mloc.loc, /turf/)) mloc = mloc.loc return mloc + +/proc/iswall(turf/T) + return (istype(T, /turf/simulated/wall) || istype(T, /turf/unsimulated/wall) || istype(T, /turf/simulated/shuttle/wall)) \ No newline at end of file diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm index 68f60816fa7..121c4d16678 100644 --- a/code/game/objects/effects/decals/contraband.dm +++ b/code/game/objects/effects/decals/contraband.dm @@ -23,9 +23,63 @@ name += " - No. [serial_number]" ..(loc) +//Places the poster on a wall +/obj/item/weapon/contraband/poster/afterattack(var/atom/A, var/mob/user, var/adjacent, var/clickparams) + if (!adjacent) + return + + //must place on a wall and user must not be inside a closet/mecha/whatever + var/turf/W = A + if (!iswall(W) || !isturf(user.loc)) + user << "\red You can't place this here!" + return + + var/placement_dir = get_dir(user, W) + if (!(placement_dir in cardinal)) + user << "You must stand directly in front of the wall you wish to place that on." + return + + //just check if there is a poster on or adjacent to the wall + var/stuff_on_wall = 0 + if (locate(/obj/structure/sign/poster) in W) + stuff_on_wall = 1 + + //crude, but will cover most cases. We could do stuff like check pixel_x/y but it's not really worth it. + for (var/dir in cardinal) + var/turf/T = get_step(W, dir) + if (locate(/obj/structure/sign/poster) in T) + stuff_on_wall = 1 + break + + if (stuff_on_wall) + user << "There is already a poster there!" + return + + user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster. + + var/obj/structure/sign/poster/P = new(user.loc, placement_dir=get_dir(user, W), serial=serial_number) + + flick("poster_being_set", P) + //playsound(W, 'sound/items/poster_being_created.ogg', 100, 1) //why the hell does placing a poster make printer sounds? + + var/oldsrc = src //get a reference to src so we can delete it after detaching ourselves + src = null + spawn(17) + if(!P) return + + if(iswall(W) && user && P.loc == user.loc) //Let's check if everything is still there + user << "You place the poster!" + else + P.roll_and_drop(P.loc) + + del(oldsrc) //delete it now to cut down on sanity checks afterwards. Agouri's code supports rerolling it anyway + +//I'm +/obj/structure/sign/poster/proc/placement_check() + //############################## THE ACTUAL DECALS ########################### -obj/structure/sign/poster +/obj/structure/sign/poster name = "poster" desc = "A large piece of space-resistant printed paper. " icon = 'icons/obj/contraband.dmi' @@ -34,22 +88,42 @@ obj/structure/sign/poster var/poster_type //So mappers can specify a desired poster var/ruined = 0 -obj/structure/sign/poster/New(var/serial) - var/designtype - if (poster_type) - designtype = text2path(poster_type) - else - if(serial_number == loc) - serial_number = rand(1, poster_designs.len) //This is for the mappers that want individual posters without having to use rolled posters. - designtype = poster_designs[serial_number] - - var/datum/poster/design=new designtype() - name += " - [design.name]" - desc += " [design.desc]" - icon_state = design.icon_state // poster[serial_number] - ..() +/obj/structure/sign/poster/New(var/newloc, var/placement_dir=null, var/serial=null) + ..(newloc) -obj/structure/sign/poster/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(!serial) + serial = rand(1, poster_designs.len) //use a random serial if none is given + + serial_number = serial + var/datum/poster/design = poster_designs[serial_number] + set_poster(design) + + switch (placement_dir) + if (NORTH) + pixel_x = 0 + pixel_y = 32 + if (SOUTH) + pixel_x = 0 + pixel_y = -32 + if (EAST) + pixel_x = 32 + pixel_y = 0 + if (WEST) + pixel_x = -32 + pixel_y = 0 + +/obj/structure/sign/poster/initialize() + if (poster_type) + var/path = text2path(poster_type) + var/datum/poster/design = new path + set_poster(design) + +/obj/structure/sign/poster/proc/set_poster(var/datum/poster/design) + name = "[initial(name)] - [design.name]" + desc = "[initial(desc)] [design.desc]" + icon_state = design.icon_state // poster[serial_number] + +/obj/structure/sign/poster/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wirecutters)) playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1) if(ruined) diff --git a/code/game/objects/effects/decals/posters/bs12.dm b/code/game/objects/effects/decals/posters/bs12.dm index 73700472334..eef2b2e3bfc 100644 --- a/code/game/objects/effects/decals/posters/bs12.dm +++ b/code/game/objects/effects/decals/posters/bs12.dm @@ -234,12 +234,12 @@ name = "Security pinup" desc = "This is a pin-up poster. A dark skinned white haired girl poses in the sunlight wearing a tank top with her stomach exposed. The text on the poster states \"M, Succubus of Security.\" and a lipstick mark stains the top right corner, as if kissed by the model herself." - /datum/poster/bay_48 +/datum/poster/bay_48 icon_state="bsposter48" name = "Borg pinup?" desc = "This is a.. pin-up poster? It is a diagram on an old model of cyborg with a note scribbled in marker on the bottom, on the top there is a large XO written in red marker." - /datum/poster/bay_49 +/datum/poster/bay_49 icon_state="bsposter49" name = "Engineering recruitment" desc = "This is a poster showing an engineer relaxing by a computer, the text states \"Living the life! Join Engineering today!\"" diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 292d13f23f7..0efa7bebc3d 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -758,7 +758,7 @@ "oD" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "oE" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "oF" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"oG" = (/obj/structure/sign{desc = "This is a pinup poster."; icon = 'icons/obj/contraband.dmi'; icon_state = "bsposter50"; name = "pinup poster"; pixel_x = -32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oG" = (/obj/structure/sign/poster{poster_type = "/datum/poster/bay_50"; pixel_x = -32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oH" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) "oJ" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) From d506eca89a904b6212a1737f1eb20bd1449b5d15 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 8 Dec 2014 00:15:27 -0500 Subject: [PATCH 08/40] Adds tape rolls to the tool storage spawner list --- code/game/objects/random/random.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index d9ed995845d..83923831506 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -102,4 +102,5 @@ prob(3);/obj/item/stack/cable_coil,\ prob(2);/obj/random/toolbox,\ prob(2);/obj/item/weapon/storage/belt/utility,\ - prob(5);/obj/random/tool) \ No newline at end of file + prob(5);/obj/random/tool,\ + prob(2);/obj/item/weapon/tape_roll) \ No newline at end of file From 7f1b5f0603533e0bf7cbcbd9edc47e77d033e272 Mon Sep 17 00:00:00 2001 From: Segrain Date: Mon, 8 Dec 2014 11:20:46 +0300 Subject: [PATCH 09/40] Fix for #7285. --- code/game/objects/items/devices/PDA/PDA.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 6071c4054f8..6a25b46444f 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -1048,10 +1048,10 @@ var/global/list/obj/item/device/pda/PDAs = list() // Do nothing /obj/item/device/pda/proc/new_message_from_pda(var/obj/item/device/pda/sending_device, var/message) - new_message(sending_device.name, sending_device.owner, sending_device.ownjob, message) + new_message(sending_device, sending_device.owner, sending_device.ownjob, message) /obj/item/device/pda/proc/new_message(var/sending_unit, var/sender, var/sender_job, var/message) - var/reception_message = "\icon[src] Message from [sender] ([sender_job]), \"[message]\" (Reply)" + var/reception_message = "\icon[src] Message from [sender] ([sender_job]), \"[message]\" (Reply)" new_info(news_silent, newstone, reception_message) log_pda("[usr] (PDA: [sending_unit]) sent \"[message]\" to [name]") From 439cbd6255a02ef56e96f5533dbcfbd1718e3355 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 8 Dec 2014 15:36:49 +0000 Subject: [PATCH 10/40] Properly merge stuff --- code/modules/mob/hear_say.dm | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index ee53cd5bacb..77f59c46047 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -24,19 +24,12 @@ if(sleeping || stat == 1) hear_sleep(message) return -<<<<<<< HEAD - -======= - var/style = "body" - ->>>>>>> upstream/dev //non-verbal languages are garbled if you can't see the speaker. Yes, this includes if they are inside a closet. if (language && (language.flags & NONVERBAL)) if (!speaker || (src.sdisabilities & BLIND || src.blinded) || !(speaker in view(src))) message = stars(message) -<<<<<<< HEAD - + if(!(language && (language.flags & INNATE))) // skip understanding checks for INNATE languages if(!say_understands(speaker,language)) if(istype(speaker,/mob/living/simple_animal)) @@ -44,18 +37,6 @@ message = pick(S.speak) else message = stars(message) -======= - - if(!say_understands(speaker,language)) - if(istype(speaker,/mob/living/simple_animal)) - var/mob/living/simple_animal/S = speaker - message = pick(S.speak) - else - message = stars(message) - - if(language) - style = language.colour ->>>>>>> upstream/dev var/speaker_name = speaker.name if(istype(speaker, /mob/living/carbon/human)) From 87998f7eb1a3d79601a99b5fd38122b86febc236 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 8 Dec 2014 14:29:04 +0100 Subject: [PATCH 11/40] Fixes #7295. Cleans up round end summary. Removes duplication of traitor summaries. Attempts to improve how the traitor purchase log is presented. Ghosts made manifest now have different names and assignments, otherwise one would get messages like "Anguished Phantom played as an Anguished Phantom". Instead the message is "Anguished Phantom played as a Manifest Ghost". --- code/game/gamemodes/changeling/changeling.dm | 2 +- code/game/gamemodes/cult/cult.dm | 2 +- code/game/gamemodes/cult/runes.dm | 8 +++---- code/game/gamemodes/game_mode.dm | 23 +++++++++++++++----- code/game/gamemodes/gameticker.dm | 2 +- code/game/gamemodes/nuclear/nuclear.dm | 2 +- code/game/gamemodes/traitor/traitor.dm | 2 +- code/game/objects/items/devices/uplinks.dm | 8 ++----- 8 files changed, 28 insertions(+), 21 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 1f7b8a6510c..e1ce51997d4 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -161,7 +161,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" var/text = "The changelings were:" for(var/datum/mind/changeling in changelings) var/changelingwin = changeling.current - text += printplayer(changeling) + text += print_player_full(changeling) //Removed sanity if(changeling) because we -want- a runtime to inform us that the changelings list is incorrect and needs to be fixed. text += "
Changeling ID: [changeling.changeling.changelingID]." diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index e6e70ff35f7..4c4226e4ea2 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -334,7 +334,7 @@ if( cult.len || (ticker && istype(ticker.mode,/datum/game_mode/cult)) ) var/text = "The cultists were:" for(var/datum/mind/cultist in cult) - text += printplayer(cultist) + text += print_player_full(cultist) text += "
" world << text diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index aeafddb0152..88e16dbe46b 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -414,12 +414,12 @@ var/list/sacrificed = list() else ticker.mode.cult+=D.mind - D.mind.assigned_role = pick("Anguished", "Blasphemous", "Corrupt", "Cruel", "Depraved", "Despicable", "Disturbed", "Exacerbated", "Foul", "Hateful", "Inexorable", "Implacable", "Impure", "Malevolent", "Malignant", "Malicious", "Pained", "Profane", "Profligate", "Relentless", "Resentful", "Restless", "Spiteful", "Tormented", "Unclean", "Unforgiving", "Vengeful", "Vindictive", "Wicked", "Wronged") - D.mind.assigned_role += " " - D.mind.assigned_role += pick("Apparition", "Aptrgangr", "Dis", "Draugr", "Dybbuk", "Eidolon", "Fetch", "Fylgja", "Ghast", "Ghost", "Gjenganger", "Haint", "Phantom", "Phantasm", "Poltergeist", "Revenant", "Shade", "Shadow", "Soul", "Spectre", "Spirit", "Spook", "Visitant", "Wraith") + D.mind.assigned_role = "Manifest Ghost" D.mind.special_role = "Cultist" if(!chose_name) - D.real_name = D.mind.assigned_role + D.real_name = pick("Anguished", "Blasphemous", "Corrupt", "Cruel", "Depraved", "Despicable", "Disturbed", "Exacerbated", "Foul", "Hateful", "Inexorable", "Implacable", "Impure", "Malevolent", "Malignant", "Malicious", "Pained", "Profane", "Profligate", "Relentless", "Resentful", "Restless", "Spiteful", "Tormented", "Unclean", "Unforgiving", "Vengeful", "Vindictive", "Wicked", "Wronged") + D.real_name += " " + D.real_name += pick("Apparition", "Aptrgangr", "Dis", "Draugr", "Dybbuk", "Eidolon", "Fetch", "Fylgja", "Ghast", "Ghost", "Gjenganger", "Haint", "Phantom", "Phantasm", "Poltergeist", "Revenant", "Shade", "Shadow", "Soul", "Spectre", "Spirit", "Spook", "Visitant", "Wraith") D << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root." D << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back." diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 12d9278205a..68bf3935d86 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -155,7 +155,7 @@ for(var/mob/M in player_list) if(M.mind) - pltext += printplayer(M.mind) + pltext += print_player_lite(M.mind) if(M.client) clients++ if(ishuman(M)) @@ -183,7 +183,7 @@ if(isobserver(M)) ghosts++ - var/text = "A round of [src.name] has ended." + var/text = "" if(surviving_total > 0) text += "
There [surviving_total>1 ? "were [surviving_total] survivors" : "was one survivor"]" text += " ([escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]) and [ghosts] ghosts.
" @@ -526,7 +526,7 @@ proc/get_nt_opposed() player.current << "Objective #[obj_count]: [objective.explanation_text]" obj_count++ -/datum/game_mode/proc/printplayer(var/datum/mind/ply) +/datum/game_mode/proc/print_player_lite(var/datum/mind/ply) var/role = ply.assigned_role == "MODE" ? "\improper[ply.special_role]" : "\improper[ply.assigned_role]" var/text = "
[ply.name] ([ply.key]) as \a [role] (" if(ply.current) @@ -540,6 +540,11 @@ proc/get_nt_opposed() text += "body destroyed" text += ")" + return text + +/datum/game_mode/proc/print_player_full(var/datum/mind/ply) + var/text = print_player_lite(ply) + var/TC_uses = 0 var/uplink_true = 0 var/purchases = "" @@ -547,9 +552,15 @@ proc/get_nt_opposed() if(H && H.uplink_owner && H.uplink_owner == ply) TC_uses += H.used_TC uplink_true = 1 - for(var/log in H.purchase_log) - purchases += "[log]" + var/list/refined_log = new() + for(var/datum/uplink_item/UI in H.purchase_log) + var/obj/I = new UI.path + refined_log.Add("[H.purchase_log[UI]]x\icon[I][I.name]") + del(I) + purchases = english_list(refined_log, nothing_text = "") if(uplink_true) - text += " (used [TC_uses] TC) [purchases]" + text += " (used [TC_uses] TC)" + if(purchases) + text += "
[purchases]" return text diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index d4d14c9120e..6f782176493 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -376,7 +376,7 @@ var/global/datum/controller/gameticker/ticker /datum/controller/gameticker/proc/declare_completion() - world << "


The round has ended." + world << "


A round of [mode.name] has ended!

" for(var/mob/Player in player_list) if(Player.mind && !isnewplayer(Player)) if(Player.stat != DEAD) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 980b7862003..8fd46fc8970 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -313,7 +313,7 @@ var/global/list/turf/synd_spawn = list() var/text = "The mercenaries were:" for(var/datum/mind/syndicate in syndicates) - text += printplayer(syndicate) + text += print_player_full(syndicate) world << text return 1 diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 7ac8ffd671f..2e0f8b91fa3 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -180,7 +180,7 @@ var/text = "The traitors were:" for(var/datum/mind/traitor in traitors) var/traitorwin = 1 - text += printplayer(traitor) + text += print_player_full(traitor) if(traitor.objectives.len)//If the traitor had no objectives, don't need to process this. var/count = 1 diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index 35a80a1b4e1..9b58a812ce1 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -128,11 +128,7 @@ datum/nano_item_lists var/mob/living/carbon/human/A = usr A.put_in_any_hand_if_possible(I) - if(istype(I ,/obj/item/weapon/storage/box/) && I.contents.len>0) - for(var/atom/o in I) - purchase_log += "\icon[o]" - else - purchase_log += "\icon[I]" + purchase_log[UI] = purchase_log[UI] + 1 return 1 return 0 @@ -192,7 +188,7 @@ datum/nano_item_lists data["menu"] = nanoui_menu data["nano_items"] = nanoui_items data += nanoui_data - + // update the ui if it exists, returns null if no ui is passed/found ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) From 268ec0d36a82e01103767a1506fbab2d7787e8a1 Mon Sep 17 00:00:00 2001 From: Akai Alonkai Date: Mon, 8 Dec 2014 11:12:30 -0500 Subject: [PATCH 12/40] Implements existing assistant alternate job titles Adds an option to choose one of the alternate job titles for assistant already defined at https://github.com/Baystation12/Baystation12/blob/master/code/game/jobs/job/assistant.dm#L12 --- code/modules/client/preferences.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 833d99f9fd8..c913dcf5696 100755 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -507,6 +507,8 @@ datum/preferences HTML += " \[Yes]" else HTML += " \[No]" + if(job.alt_titles) //Blatantly cloned from a few lines down. + HTML += " \[[GetPlayerAltTitle(job)]\]" HTML += "" continue From 887e2c3abfd71c068b809e31e5a5d2d8941ae22a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 8 Dec 2014 18:15:34 +0100 Subject: [PATCH 13/40] Fixes #7308. Adds missing parent call in Del(). --- code/game/machinery/jukebox.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 4bca09fdcc9..4301d344950 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -34,6 +34,7 @@ datum/track/New(var/title_name, var/audio) /obj/machinery/media/jukebox/Del() StopPlaying() + ..() /obj/machinery/media/jukebox/power_change() if(!powered(power_channel) || !anchored) From eb2a62c11b5b1cd0340b80d481120a27638bc955 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 8 Dec 2014 18:48:14 +0000 Subject: [PATCH 14/40] Fix virologists spawning without jumpsuits, IDs or PDAs. Fixes #7312. --- code/game/jobs/job/medical.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index b3c6ad7e98f..a63363f779c 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -68,8 +68,8 @@ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(H), slot_head) if("Virologist") - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask) switch(H.backbag) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/virology(H), slot_back) @@ -195,4 +195,4 @@ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) else H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) \ No newline at end of file + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) From b27adda1c3d38cc3845a827c0f4e05f66ead637e Mon Sep 17 00:00:00 2001 From: sabiram Date: Mon, 8 Dec 2014 14:30:03 -0500 Subject: [PATCH 15/40] Potentially fixes white sundress --- code/modules/clothing/under/miscellaneous.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 188790832b9..6daa9044531 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -395,9 +395,9 @@ /obj/item/clothing/under/sundress_white name = "white sundress" desc = "A white sundress decorated with purple lilies." - icon_state = "whitesundress" - item_state = "whitesundress" - item_color = "whitesundress" + icon_state = "sundress_white" + item_state = "sundress_white" + item_color = "sundress_white" body_parts_covered = UPPER_TORSO|LOWER_TORSO /obj/item/clothing/under/captainformal @@ -476,4 +476,4 @@ icon_state = "mai_yang" item_state = "mai_yang" item_color = "mai_yang" - body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS \ No newline at end of file + body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS From 362af29cbc745e04686a13b500d16b4faf2bec88 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 8 Dec 2014 20:11:07 +0000 Subject: [PATCH 16/40] Fixes #7320 --- code/game/machinery/cryopod.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index c2a6d996a1e..d1e3887e4b9 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -15,6 +15,7 @@ icon = 'icons/obj/Cryogenic2.dmi' icon_state = "cellconsole" circuit = "/obj/item/weapon/circuitboard/cryopodcontrol" + density = 0 interact_offline = 1 var/mode = null From 921249a335c85ca796d8808865a52de556c7e2db Mon Sep 17 00:00:00 2001 From: Raptor1628 Date: Mon, 8 Dec 2014 19:12:39 -0500 Subject: [PATCH 17/40] Hardsuit Fixes Should merge now, was missing the .dme. Fixes #7307. Adds helmet cameras for ERT and nukeops. Fixes incorrect lighting overlays. Fixes a weird sprite. --- baystation12.dme | 1 + .../clothing/spacesuits/rig/suits/combat.dm | 20 +------------ .../clothing/spacesuits/rig/suits/ert.dm | 1 + .../clothing/spacesuits/rig/suits/merc.dm | 27 ++++++++++++++++++ .../clothing/spacesuits/rig/suits/station.dm | 5 +++- icons/mob/feet.dmi | Bin 26523 -> 26514 bytes maps/exodus-2.dmm | 2 +- 7 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 code/modules/clothing/spacesuits/rig/suits/merc.dm diff --git a/baystation12.dme b/baystation12.dme index a7176e3b98a..112c747f103 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -819,6 +819,7 @@ #include "code\modules\clothing\spacesuits\rig\suits\combat.dm" #include "code\modules\clothing\spacesuits\rig\suits\ert.dm" #include "code\modules\clothing\spacesuits\rig\suits\light.dm" +#include "code\modules\clothing\spacesuits\rig\suits\merc.dm" #include "code\modules\clothing\spacesuits\rig\suits\station.dm" #include "code\modules\clothing\spacesuits\void\merc.dm" #include "code\modules\clothing\spacesuits\void\station.dm" diff --git a/code/modules/clothing/spacesuits/rig/suits/combat.dm b/code/modules/clothing/spacesuits/rig/suits/combat.dm index 8774a0310e7..55716179c6a 100644 --- a/code/modules/clothing/spacesuits/rig/suits/combat.dm +++ b/code/modules/clothing/spacesuits/rig/suits/combat.dm @@ -1,5 +1,5 @@ /obj/item/clothing/head/helmet/space/rig/combat - light_overlay = "helmet_light_green_dual" + light_overlay = "helmet_light_dual_green" /obj/item/weapon/rig/combat name = "combat hardsuit control module" @@ -22,22 +22,4 @@ /obj/item/rig_module/power_sink, /obj/item/rig_module/electrowarfare_suite, /obj/item/rig_module/chem_dispenser/combat - ) - -/obj/item/weapon/rig/combat/merc - name = "crimson hardsuit control module" - desc = "A blood-red hardsuit featuring some fairly illegal technology." - icon_state = "merc_rig" - suit_type = "crimson hardsuit" - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) - - initial_modules = list( - /obj/item/rig_module/mounted, - /obj/item/rig_module/vision/thermal, - /obj/item/rig_module/grenade_launcher, - /obj/item/rig_module/ai_container, - /obj/item/rig_module/power_sink, - /obj/item/rig_module/electrowarfare_suite, - /obj/item/rig_module/chem_dispenser/combat, - /obj/item/rig_module/fabricator/energy_net ) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index 3a8fdf6cd2f..f5d7a2f71e0 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -1,5 +1,6 @@ /obj/item/clothing/head/helmet/space/rig/ert light_overlay = "helmet_light_dual" + camera_networks = list("ERT","SS13") /obj/item/weapon/rig/ert name = "ERT-C hardsuit control module" diff --git a/code/modules/clothing/spacesuits/rig/suits/merc.dm b/code/modules/clothing/spacesuits/rig/suits/merc.dm new file mode 100644 index 00000000000..7a0d95a4bda --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/suits/merc.dm @@ -0,0 +1,27 @@ +/obj/item/clothing/head/helmet/space/rig/merc + light_overlay = "helmet_light_dual_green" + camera_networks = list("NUKE") + +/obj/item/weapon/rig/merc + name = "crimson hardsuit control module" + desc = "A blood-red hardsuit featuring some fairly illegal technology." + icon_state = "merc_rig" + suit_type = "crimson hardsuit" + armor = list(melee = 80, bullet = 65, laser = 50, energy = 15, bomb = 80, bio = 100, rad = 60) + slowdown = 1 + offline_slowdown = 3 + offline_vision_restriction = 1 + + helm_type = /obj/item/clothing/head/helmet/space/rig/merc + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) + + initial_modules = list( + /obj/item/rig_module/mounted, + /obj/item/rig_module/vision/thermal, + /obj/item/rig_module/grenade_launcher, + /obj/item/rig_module/ai_container, + /obj/item/rig_module/power_sink, + /obj/item/rig_module/electrowarfare_suite, + /obj/item/rig_module/chem_dispenser/combat, + /obj/item/rig_module/fabricator/energy_net + ) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/suits/station.dm b/code/modules/clothing/spacesuits/rig/suits/station.dm index 9abfe498557..44959068eb4 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station.dm @@ -59,7 +59,8 @@ offline_slowdown = 3 offline_vision_restriction = 1 - //Todo: add xenoarch gear. + helm_type = /obj/item/clothing/head/helmet/space/rig/ert + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils) req_access = list(access_rd) @@ -102,6 +103,8 @@ offline_slowdown = 3 offline_vision_restriction = 1 + helm_type = /obj/item/clothing/head/helmet/space/rig/ert + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton) req_access = null diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index f738d072fdd1bf2c33c14cfb93bf7bb9d3e68fca..afeb796a299127f2e5637514535f44b25b736ed7 100644 GIT binary patch delta 6574 zcmZu#cRW>p+&?ziWJKmqRD`U^-dj=`*Ul`mw>Z~MW#l4}tfK6_g{-=xwX zKYR#@AZN-hDB!m*QZQUIZ}916e5YFBp{|_3gLakxdxdrar1Iq}7nGJg>i(YXf4BsL z>RxBL*ZJTe)sx>>e=Da@qR(n?KJi%P28Y~5{RWvJD@$ZuU)hl6B zfyN_#O}aita=pr`tZ(0ld>YsSolsmlEMOxD1t%sYWmQ)vH|M=BDk@SnF}ZQPGhcG1 z>^GXLyMMmZ99Ld0;@33yebTSV0^YiKc``pKLt1(s*kmClA+dyZ$mnJi*wZOJ3lIHUATiuIMUVjKXetV{grHY?=?>^kN%@6oy>o!X4zzVlo;ZJn+GR4@d^tEMkFR35%@q0X5NHReJYJEdxp(j0vPH=KO)ey=rdm$MXN#GbnE2NKB?ZO8RGG~M z%RS}|Tpzo=x`0(`OiWB_vNVf`?dOO7*Wdy3E~;3UmFYCMdNr2#1WJ1o4WW%6(#YM2 zAKuy`L@nqh2tHDF#*wIe^(pk)X;<0Kib0Zwa=xMUUrjQy%^QurEGqI7ljai`dYUM` z;``Ygm8p0078TW!!nwQdQHZ`&i3R1Q^wOU{G61sIJMg5nTSKYPkQ`X(`-EE5V*^e1 zl%ohTUSHh758-T9D`6^KX(ibeIyyQ{?k8@Zk4x9%Goa%5;->I^j09QOCtz!@w+;*B z^6$Yh9&+i z3|GKJG}m(`-_&$9u`Nnnyz!AT01_(Fs6725!n|8H8htZ7lpkTbcyw%oyC7;Lnj3a! zfsp~me%zclY}gdVHyAY3{fD7PKmc1J`{nGEc?}+JV3TE=np+Db<#8JMCRx{x}Kj9#G$4p7I4tsbK&_1>gu1uD2Zaxn?%Z5COG2b1zcl_^IXQfkMOH+AufOI^}A_ zJxR}8dNmtja9(nUgNDK)l7}dBl05z^5Zc-+Ja8U0Gs!IKwx+Wle)ykBbFl2omoH(m zmCEH9*z%9)S%c^!3mPRR?9h{l_QV?nOw7N-_Nhw=S=b(l!{jcO~v~AGczBQBE z0+rV8S+B-Uz7iriNkd6(*5xln*MxpY45x(PJkxjQQf-+?35RF5LmSq8VUV}3dgL_B zL@Y4K1F$M6Lv_2Evb66zDNbJ#Xo&S8IeFSn(DVDAJ<)G|4&oR?kUqmVLTC8HYJHsj?J0k*lME0U#Kl?6jTEmch;3NWnQa zGL9jdo2DcdYD4ec0T!|+DRb@<)YbXtQ{Y`0$95Gwh1)~9d3kNC9?NU}X{CsJG+?+b z3_4(Fa*_bM7DS)){;h#BO@eh5!tG#9x7N(%YhK=em1R@W@2I@Cm$aPiq;RN@8az3v-^|*Js#?t4{uV{Wo81mZrw`V_?VcOnVHF%e{6g9 zT*RtXXacYFA2x5bem!F?HT(8+5ioQ&ImXHM@%0@?CdKb~7=*pe_Uvpit))r)^Nc6j z9DwC{voo3wwzwBjMWp)wC^M7g!d}(31uz~4;K2ZjjU6Q=7P4`3qk#>XS^a55e!W&A z3*7he`W(s0qg=vts-|FL*EcH0Miu2O@+m$(9so2nG?3l4p>2!t7!YGqL7xEkKKf*I zXr)vAm1Cvf?&;|%jpFAQl^*Es9yXAB|69RT-lihWlKHCQ4u^3g4CXLM8=*6 z3m$c_P--dFV_(xvTn4TD=DYBPjmXE|m_Mc&Pn>MNw6-ep@LsD85FcyE`V7*TP(yne z%?6iJl~?+3DR0WJUf?;g{A*LEgo!48=f-$Y*BC)dCLhOVs=!e1n($^T_Dvhm_k^Pzf%`tW_T?RWKe3!$M}k&R$Pl*zZO_lbbYJ z;kMMqU&($`%*!hSv3_)Xuo!iC==B#oQkoL)X(?pz9T~zX2jeR#b6L1T-{~_RyAo}= zN!sQNlV%KdnKqD-kukGeD^lOu+{BkI@p1a>U2<}CnFn=>@3FeAt@>1 z_}FLM`Fmku;=%qtrzRcHvb?wJsg^?vEF561#8|9rtJJ)@V%btFRcc&j?}~zyx!s31 z1h{BbY17lw^>g?#VfC(I#Gr=)0uHD<76h?-D&;yE+gznrBtDB z;K%HlL+L{Yb10NEGcS*Xa-%z1LsOSPn(yz?U-txKPQKh+-t>J@#3t)?r~RrCBZD%m zlnG6OTkC-|prEuQWb25fRT5O#(K| zQURodVUp`!*+t8uxEn=LT*0_bJag~WC;JO1CX)vQPoAJqk4>%Sjx5^0p_>C0*Fh3TYywuZK+%9I7~+);FO zb^K^Eacy&ZTUAq&OfUUmL_z|cmyeHLEzv+E&9!US0HlLyPZqUdFksz8ix^P-UQ#ky zX3act&|2%WjYx^n%cF;7YmFlAax#sZp?rr1DKrx}-*R7DA5@-+roVW-c;T<1sU60n zIYf@{8kDaJZ-R;QeMAk((oke~ZAWHKDqmMM?z3mV;8i*ZX%Znn6!=XNig$X83{I7p zk@~wNN@T+iibNMb@(5JTxNj!<%pgS!3`YG1qZF_Ek1&uDXE6~@ZTmEy56lR^;RXeR za8is6j7mbJlDjX{1>SPMoxJEsX(ssg?VAT2S0RT^?s~kN+~4;=TM6$*l}{@oH>A_` zPA`M6g0v6!^p9Uwpv5Th;m}j6KfaFxSJ?OL*|Ty+JV_R~6`6^M9oIx4Snl?)l`}%` zc}JigBhIHgWrxk>M16b#f8)#a%iH}GW~R^aQl<>D(kzs5F^Yl`^F5=(W$LN`{VBJ$SuG9 zLELp}A@k689|adxOj#2vMyimr(5&xVXWbk5>VW~hlzWVGN=DPNEUDC6NonwN6pH-u zBzIw~8)eU)?D^1ra|P7YNf#jsP+VBOSx`N{vwm+54z}m673b$KwYKh@EH}i-$7bLTzeO`i zypjrbsryz)YMe3 zo<*ebX$H}p2E;$;q-$$l%29-(x^hUhd?QeBGx!GwHaqoXe%Ak(n))^?i|bFVJ3-6# z-Y)9{7b{0c(x#>+`fDx!Eqc_&r>6EaEXlG{Q~R`RPt=dBl@Z$7Ntx75T_&AaPpSqF zb2}_Kk?}W=5GMmF6%3@ebb3zIpFAM3C_)APaS^yH(B8!X5kGMG)1LiHiG6EUR+dJU zc8lfsCpf)4aFyH7m^PRv^F(6~4{NO@OosyJ!mK!3O6;PM9nPJws8+;56Y+cx3xf;1 zJ7K{*a0Y1n)L3#WXoG69K$nxbF~`uB`i*6RpA>%Uu8MV~w9mL6QvGV?-&rQBcDdX3v^X;bF%J(9?0v*oUY5NAXC%yZ zbz`>n{Pgwpky%+;->JVvA8L%rLY0l*OKG0u>9k7a(Zh^enO&lIhra3KTr=}*BQh?s z+?1VE_sj-`XA&>^hTGuDC=CVS5E>ob*eG-L^6Q##+scsms(+6vtMC+z~$JE;Ng>K3}A^`vlQk%#V$I4P5)=(3upk!iI09IJ>-;+0>K{*049!*Z&G_-cPFf zZBxaBq(gPL8{wB41_lO78{Zf+V>Gt3EIGiwmLbFYWklS5?Hg}eRF>hak&)c3s|e@w zD4A~@YskVb$-A#9ZzOJL)O4;e2?!`?y=3`mUU@TE^H<%xGA>(O;PZtI#E zE={_CKQ6E`6NV~+#@7Ss9f`E-;j&4OKQOOVizB{wLH>9>gwt~ zl$ap3AnqMYAQs&k-c%j=#qpZUy#$^b=T6RzNLyrT2Y$7@d z?A9PPBqWz;H&$$XNB$f`?Onxh*rT1*2FHITLLg{-pzEJFi=(g;es71L?dtrC{2?0- zmxlIjHYTt*O{eGZ$%v@T))+rmb5c|z9=75Hd>=hBJ_!_v&V_#G#Qpe5ct0Wkqs7D> zBht@~PRkOdpH2~NYaGI?iPatLKq%)=#`ghqoR}pr2-_z4(3h%yEtnn{5T%`&PE3N(PIp6fORkg7n#wdXYW-5FMWo>QpEg$LQ2^XU(L0(hHr4)Jd9T$*% z*j~PFH#>c_e?jD5igva(hdzKMu%|s>TG^|bdD&_o5|>M4Y-U!7^%EYov8zUpozEZS zWM%*15;b4-kSuz0*xb9CkQD6Dg*b1nuTK>sd4CALc=5x`+?-7m;_sC~<9zGP_Wds9 z^9eIyw=gg`xQ_XkME?&t!=@gy#WAM67Dq*Qe*IhEJ z){OC*iB=BM@mHM8E0`@445~^pECk31ksslyD#;J#$-cdBYx~%m3$i$_olQNFEB&f| zU3HFNcw{6SeeJ!s(`4_loi~$vqYJrjgiXxUQA@ zSM>~Ri=_0!6xHmWF2@l7?BIoa;(pyggOAt12wh_tAqxp722I;su9ze&N zcG_u$7eyq`2s9U;X(f`WeKju&O)~K>Wax2MW3)vV2B!6Qh7}w3E=~zRjt|jjbR)y> zt&xD|hGM3PMF#ioGgHuX%=FH2UuF^YoY^Y+%>NAXTZ~{Tb)A=E59cm<_Qdi>&f)!o z<`F@zqG-dl?tSp9d}q)18hl>3{zJNiX{(jM=lqRD*a#F}wF!xjI!Iiv4W>4v)~cK^oTkCDS7>Upratboe0qA33y`@s=vLYT*JSAag5vRe0r(?+b@RA=gbx0Y&50ht0a3-GR1;Z)@6Lpd^a!-WF5gM8 z``^2rxF3)w2zuHZ<9n=SnE_>c;N!<1E@H)xsC%HedcmcfIJps(bE`H%He}k?DNYsZ zD0ztIvo)1SIZV`U@4T z<%^LV)*@VQ26_O(u?8Emc|u(V@^5AL2cat3GH~MAX2raTxwC)1vl)(KoFtJN1WrGA zF(#kq;sM6HB!Gh}$4}SVSWBqX!gU z0FdJpwl1Jpaq&KA$M}iOCdA}<04-cV&s~1n<0d!UJheMeek;=a06-Zfr-0o|0+9RT z1w(Fs34oUW=1oHGF+7Tt&HPDqHk=|b3r#m@vs*BA0F|iNLTKNiI%m;gM(IqxKn*K8 zgV#O)l}*HT+HRG3ktksK}fzG7xb3bZ@ks+qrZkKXfqAz`j)JI8L zq5!}#pQAt72eW0Jir7@!ngt$lUs-=mj&O9=GwiS%meLOPtr$(|-Z?}f8I6>2JcTnv{&PxZK3itbcJ^eb3O z@Vc_$n$$4l9y@>T*M0q}G27(tGZ}GB(IH^{FQx&TlXLy#&(G*o*?39UDQ+KcZ|jBj z@L#`v(a3yENC*z6yPQ)|A^N;X(O?`weIDI5XC}cPaplE1 zjs{fn(vSQ$Ce@~L!+ag>*d77#ml>Gm6eoWobEy<=1Ki7Hd}FC z$Z20z?TJOL#mIBp)`1uB6(YhyE4y_@t7NT>>Afq^_#at5@GB6yHsvZ$4xD+reKbBI zc8?n*3$V>NmnJn`?D$lzlV z&vhAex>j3i!bVcSgqO>GS3e|Wj`@-tH&H>tBzO7u_6pBpvKl2Ny@{YC^&q=(Oh+1< z4eGD*yzWE6{zj#kZd(d#Yp2Y#v#m*n96{r!vP!FSiWf*#jY%gYAhrB2VzItC7o zjuwx17V%dFuB;LJIG(HXTc$#+r+$#RDq@>1?{yU#tRA6?bl5I$f2qdCQXP@f-bRto zM$&M3*7)J24FEN#gA{ZRa3NBwe)cYWwe>@FGdm`TCIs>J{A+BIp>6(16uE$aub9j& z{-Gy{GD|+`8K^AXYgF{~^On=Js5V`8vJEt9UY8v-*-q>T){`eP2P?)~Z(2>!eVYs-KHJ{6gqA2< zD_`JWHXhO`4KRNAH~#YFsdz9sK5RL+%cE_C+}@a#f{PXK_@gQVD8i8o{CpkImZ@bEhIZL>_3 zNMmrMBB#O!erBUL^5cWCxuS2w5D?exQeNwcE>$M;dj~eBg|gs`&z2aVX!wzCM6?B_ zd2Zh0C`%DZmYjLQ02vJc9ARV_M(nX|E4aupCsrSLF|W@rgYT5~gWjzUee+vvD+Kb8 zw%+*9z`h?0$*c&W+4-8}ady>)Y9MnnIX;jZH&LRlqr(7+tudaTL(rxU^zWesYTw)z z<5bodwE?H6Uyj8`_f*%cK*LB!;$h;&O?&D1LcMUbEM0iG1ixTq%xPvK0H;ubTWy@? zgPnNFI>^+Ae45E;O;HqBB)*udDqP>W?pKkX$EzD4qd3Xf?J0W zB1Lt{BiqkMaVuhtQQFRe!eYPt5s()3?F@*sr_vdN6HJgCk!)8xkaS8K5fjsqKciPv z;K&yw!dyEOc)U`uFU@OJK}vz9x+0Z>rlT&LvAWiEWdKsw7*h!Ek2oyutKAWmsqw-Y zjNxo?<3%^deL&e$>vDAYiHSokH#0V~u3u@SM~wa+!%@yoF;EG0pozBu%OPCE zaB}d>jO^10;7$*_r*#g1V0IW88CmeGd$G5yV^qXKqYR30-v)ry&CQ56d(BZ=YWKf! z(R7!Z2-Lpb<9Q}1`Fms};Q%A~5VNS{6-RyP(xs_>n1|FgPhDL`EiJ8h6e_fvMwT&B zB{1M;K{Az`UEK{YcE-qO`uaggzs>Zl`CJ9MZ*CewEgFynhgTU+p@9sWTFLtG`0*oQ-!)_^QuSIzO|x!|+a~Cj z;_BUDGUbA{s5G4Sj_>J9XT(p#_WuB-f9JXi=g#KlI?`2P<1@05Z$XH;bwGhM%nRg{ zJEbLIoT^%}o;QxhS4O9j?JX^Vs3@{xbA|&q-W5*O@eUBbQt||3+$<^?2_OxQ_YAM6 zAJpy>kB)@%HG|BB5QsU^0`M&M8+8yR>GS8$rAH_vGJ;Z7JZij%gO~58(g_clU7poM zd9kPX0UsY9_UU(n9h>|S+PE(A+~HrLC39Pbk3ChBKXluM3_FB%Ee4OQEv*<9nTYdS zrSOg=>CIMEHQ6m*t*hVF)M+M%2)itQd+eC98yeC`h0hM*LHc|~AYXtToea33{Q1jg z00?PAP$( zuEzV~g$u%B%qDS@Xf&<2`R2G3&U|Zg6MLGGks+L-z3nTDpL7tr&c{dR>grm6);Bi3 zy@JImA-RE|uEm9w_i8tQ)|I_B2eEb!=a|)4b{R3yG0F{7|MdA)ZPc2mk@EF-*QKSU zKdI>{LO#;#-M}t)S#Z81x20`xPU`Dp9`X%eY8f~p444g-g@*cCNdXJdBWt@>^FsO;pPF&ybJ zya#1RrBiigY(r9ci7z09Q*x|Kl{ zEt9LXwl@RcWpz%$yTr>9OEWQ(ZrF%+ioqfH!pcUmGLji_>;YoJeXFG_M#$};SJUg#|KvHycG%T#yFu}C(!^e-kRH4BNiDQgp z+H-5K+P98!8yla+x&)USruBbugnxw!2*(Ip;eLO{$Q4xgdGuk&%Xm;1LlK zLy!{z_@}IRRugJa4FW*-9z859L>?ETKh?8At=vt|H)piZ*lfZku}A=Io%yJQ%-TC1 ze4M8S5A%I}*DlbT*N35siu4DxCdj-=K69_xR&Ed{AqTRoHu9x2b3AfzkgnBpgMQ<5 zWM6bsLPqj+!zn?)ik1p@Df#Y5SmLPIjOc+m1f0V?;y{G;-xNQgM~_B?ZNA)gF;aHS zwLrpYs61xZeylwP^M$>7m{%!-KfWxS3T(-$@r9KBnyg`{D%gY%{elE=HfDdtK_|Kl|cbgm7Ea%pImftYVP=OA~q~o9PohORhEQKKef^Tu>4(ms|g45M&PEJm? zab2MyA!PIn4EFK3pSWEJaSR!Uu z(cw2|8vU=3bS375)YJ$|L{Mxj;}RB|{qN<5o7}k!VTE2`dDSJL-A@+M;|vC4BQTzv zz)j0ianB_=Z+eqa1{}BM2-!XJS{>q=rA*1l=#R6QZ8CL5Tb)KSvi~t_Zr%KA@mz&J zq@uhJl|bKE8{lumeogunO@;kn=ln|Wd3o`>iC7oN)XKQx3JUI|uy?hSVq#*XB}m!L z&6%VDm$%^xiFQPlZ4e5`e^cx;Sq+shc+mt=dO;FbS4)7iej6Jb^mN1?!}05JW9ERC zHqS*1+E$ZIDAifo>Ay6#ggkg)Wp9U@g2sXs&X<_#!VzKOWnp&m8LEpy_H=K}VB9D| zIym`}*4L+O5tyqei_%iy_BY34?_tm5o3tz7){;WLUdB1o3WbM>QDGRjNN&wl?*^-C zBghLutA`sppDyvQiJ0<3#10-FwW+TxkOcL!na$@L>d|$xnet<|U=k7%>yt*eJpB9a z?fOX2nf4YNVXw&WRgA2?M{~DAwowO(I}!Pt)8svgdm z#plE4?(JAj+|%HD_oT_alEu~*IwX>L{EzO~`UCilZ+>fb8J^*-P#egNJT0n3+=U3M zP;xZYrbp2Hac=v13sx>jocO5l-sa`XrvVL-;qmMCa24<2Bd_He1GsZTgLzkU0b zpu=x~9Z98kR1Z4MEr`N1eD5N3G@hgd$kg-} z`jem-+Q&lYPS8S9RQwEqLZ^e9TLi|ft2tx(X;F0dcncdpqRW~l=%!rR#%tpm?OezRF^QffS(>j-1HeA!u^qi^3R#Z}^fc!YQOms_+A>#phY zT_AuC2WyARy4bAUgv9l=hmcN>AQIR6{GrLI8j8 zSd<-baCB69@SwMJE@{G%mBNUfw^vqX`T{D-Aulg)w-Eio3d#ZaS{}ay;#{c}`K%vK zK$dvC2o-;v;5GNA0~QIF$xq)%DFel34LPUaM6ub7U=d+(UD0^Cdsm^tZm~0Fv3~9= z3uAfNE5sX#dn)(z5K|{nIioEjuR-kh@nr2UrP(x^NNZ^(gvslw%&=~r=DS9%R&8;V zttH=^FW7~gcQh=tv@_sv4);t?pfr}i%|5T#`Sg9vQ%a&&AywDgTf&`Eq@gl1`BFcN z-S;OC=&8t6cMi*IG(d;oa(Ux;Obe)B?z=#_G1rnso&C#sY}9a_H=qw+QVBkA&PjS* zj^|v9D-&5S3ZjJ?S0Trz!o~k-yFq`QRQ}T|Qu@L5-^~KmYs&wZ1n~c5*Z=*d8X{i& zms`r5l4hP~FaXDDS|WjsxU5$S1YApkka;~l!0SQaU{g3&%x_NN$`l}F(*sO>DWQ6U z865+s7VG~geX%f0djiVQmd$!1T%BcZkU;tywdiX(Fq3==4w4!pDSfEWBXWYTp z0z9zQGXMPGlMwWF`fQk-|DnSd_BE1^-nA9jal+4|u2E7Q*m6&XA9n9dUodF$xCQF_ z2X>{NQe#Q#W}(Ncxp88{@=sb!spolQn!$(i>r7w}yNvg0wHxNn#}f1K#anuNxGY{0 z-_y-x7Xt6$ucDR4w^hZDvIran(LBrpDS`?QiH52Bt7_j#yY|(4Eu_<|r(H9ove7u} zIQ$;ys#pkmC7o{g7+f~Z8KQr;N_o zx)j)sIf$}3advk)83rV~_O%}32s07_`$>%u^7tPN?B-d~hIr2j4C!Nx9=Ab>$8z_N|=Z3bzs>`TN6iQU;rn?SO5BXXvbEc*H< z`bg63Zf@U>VH_s|=Kw{*0+W8T-%a4tn}a)}oJ0WF{^es}`QRs0JBPjnHNipq!(VW7 zT7an}+8UVBR38UVM5iB;DqOh;Sx7l!)gI7Djc{D0W3CP4JY*Gb2+3U|pH~3@v9Y-457N92g>?kHZX6`>x(+L6;T2{+ z`0kL#i%jb>p`-oa%3?_&CC7=p4RpM^SRKB`7NZ8#ewS}h6CgC8KR>Ng{~a^hyxKs+ lTFz6yL`rZyEjS~QVD~QOnqah%6>0! Date: Mon, 8 Dec 2014 20:31:34 -0500 Subject: [PATCH 18/40] Fixes #7277, map adjustments Fixes #7277, and includes some map changes and fixes from PR #7249. --- maps/exodus-1.dmm | 108 +++++++++++++++++++++++----------------------- maps/exodus-2.dmm | 36 ++++++++-------- 2 files changed, 72 insertions(+), 72 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index c427391b034..eb68b0aa79f 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5951,9 +5951,9 @@ "ckw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_port) "ckx" = (/obj/machinery/door/airlock/engineering{name = "Medbay Science Substation"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor/plating,/area/maintenance/substation/medical_science) "cky" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/medical_science) -"ckz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/substation/medical_science) -"ckA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/substation/medical_science) -"ckB" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/substation/medical_science) +"ckz" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Atmospherics"; name = "Atmospherics"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/atmos) +"ckA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/atmos) +"ckB" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/atmos) "ckC" = (/obj/machinery/door/window/northright{name = "Xenoflora Containment"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora_storage) "ckD" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora_storage) "ckE" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/rnd/xenobiology) @@ -6079,6 +6079,7 @@ "cmU" = (/obj/machinery/power/smes/buildable{charge = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cmV" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/port) "cmW" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/space) +"cmX" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating,/area/engine/engine_room) "cmY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cmZ" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "cna" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -6105,8 +6106,8 @@ "cnv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cnw" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cnx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/space) -"cny" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/space,/area/space) -"cnz" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/lattice,/turf/space,/area/space) +"cny" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engine/engine_room) +"cnz" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room) "cnA" = (/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/construction) "cnB" = (/obj/item/device/flashlight,/turf/simulated/floor,/area/construction) "cnC" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/construction) @@ -6157,6 +6158,7 @@ "cov" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cow" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/atmos) +"coy" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/plating,/area/engine/engine_room) "coz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/port) "coA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/atmos) "coB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/atmos) @@ -6167,6 +6169,7 @@ "coG" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor,/area/atmos) "coH" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor,/area/atmos) "coI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engine/atmos_monitoring) +"coJ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) "coK" = (/obj/machinery/firealarm{pixel_x = 32; pixel_y = 24},/turf/simulated/floor,/area/engine/atmos_monitoring) "coL" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/engine/atmos_monitoring) "coM" = (/turf/simulated/wall/r_wall,/area/engine/engineering_monitoring) @@ -6205,15 +6208,28 @@ "cpt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/atmos) "cpu" = (/turf/simulated/floor,/area/atmos) "cpv" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Outlet Valve"},/turf/simulated/floor{dir = 9; icon_state = "arrival"},/area/atmos) +"cpw" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) +"cpx" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engine/engine_room) +"cpy" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) +"cpz" = (/obj/machinery/atmospherics/tvalve/mirrored/digital{dir = 4; name = "coolant replacement valve"},/turf/simulated/floor/plating,/area/engine/engine_room) +"cpA" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact-supply (NORTHWEST)"; icon_state = "intact-supply"; dir = 9},/turf/simulated/floor,/area/atmos) +"cpB" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room) +"cpC" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) +"cpD" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) +"cpE" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/space,/area/space) +"cpF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/plating/airless,/area/atmos) +"cpG" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space) "cpH" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 25},/turf/simulated/floor,/area/atmos) +"cpI" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/space,/area/space) "cpJ" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/atmos) "cpK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry/aft) "cpL" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/machinery/camera{c_tag = "Atmospherics North East"; dir = 6},/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = 32},/obj/machinery/cell_charger,/turf/simulated/floor,/area/atmos) "cpM" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/atmos) "cpN" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/atmos) "cpO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/atmos) -"cpP" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Atmospherics"; name = "Atmospherics"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/atmos) +"cpP" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) "cpQ" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/atmos) +"cpR" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) "cpS" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/port) "cpT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engine/atmos_monitoring) "cpU" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/engine/atmos_monitoring) @@ -6259,14 +6275,15 @@ "cqI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk3"},/area/solar/starboard) "cqJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/atmos) "cqK" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/atmos) +"cqL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/lattice,/turf/space,/area/space) "cqM" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/atmos) +"cqN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/space,/area/space) "cqO" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "cqP" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/atmos) "cqQ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor,/area/atmos) "cqR" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/atmos) "cqS" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor,/area/atmos) "cqT" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/security/prison) -"cqU" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor,/area/atmos) "cqW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/plating,/area/atmos) "cqX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "cqY" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/atmos) @@ -6377,7 +6394,6 @@ "cta" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) "ctb" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) "ctc" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) -"ctd" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/engine/engine_room) "cte" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_waste) "ctf" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_waste) "ctg" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/atmos) @@ -6435,7 +6451,7 @@ "cug" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/meter,/turf/simulated/floor/plating,/area/engine/engine_room) "cuh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/atmos) "cui" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"cuj" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/engine/engine_room) +"cuj" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room) "cuk" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/atmos) "cul" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engine/hallway) "cum" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/engine/hallway) @@ -6492,17 +6508,13 @@ "cvl" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk12"},/area/solar/starboard) "cvm" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk12"},/area/solar/starboard) "cvn" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk8"},/area/solar/starboard) -"cvo" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) +"cvo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engine/engine_room) "cvp" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/atmos) -"cvq" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engine/engine_room) -"cvr" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) -"cvt" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) "cvu" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cvv" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cvw" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/atmos) "cvx" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/atmos) "cvy" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; sortType = "Drone Fabrication"; name = "Drone Fabrication"},/turf/simulated/floor,/area/atmos) -"cvz" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) "cvA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/turf/simulated/floor,/area/atmos) "cvB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/hallway) "cvC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engine/hallway) @@ -6807,8 +6819,6 @@ "cBt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/atmos) "cBu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cBv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) -"cBx" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/structure/lattice,/turf/space,/area/space) -"cBy" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/plating,/area/atmos) "cBB" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBC" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBD" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) @@ -7007,7 +7017,6 @@ "cFp" = (/obj/machinery/door/poddoor{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cFq" = (/obj/structure/grille,/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos) "cFr" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 8},/obj/item/weapon/deck,/turf/simulated/floor/plating,/area/engine/drone_fabrication) -"cFs" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/research_port) "cFt" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) "cFu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/camera{c_tag = "Drone Fabrication"; dir = 8; network = list("SS13")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "cFv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engine/engine_smes) @@ -7033,7 +7042,6 @@ "cFP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cFQ" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFR" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cFS" = (/turf/simulated/floor/plating/airless,/area/rnd/xenobiology) "cFT" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow,/turf/simulated/floor/airless/catwalk{icon_state = "catwalk1"},/area/solar/starboard) "cFU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "cFV" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) @@ -7075,7 +7083,6 @@ "cGF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/engineering) "cGG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) "cGH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cGI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/atmos) "cGJ" = (/turf/simulated/wall/r_wall,/area/engine/engine_room) "cGK" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) "cGL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engine_room) @@ -7090,7 +7097,6 @@ "cGU" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/engine/engine_waste) "cGV" = (/turf/simulated/floor/plating,/area/engine/engine_waste) "cGW" = (/obj/machinery/atmospherics/binary/pump{icon_state = "map_on"; on = 1},/turf/simulated/floor,/area/atmos) -"cGX" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/research_port) "cGY" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Inlet Valve"},/turf/simulated/floor{icon_state = "arrival"; dir = 5},/area/atmos) "cGZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engine/engine_room) "cHa" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access_txt = "10"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) @@ -7125,7 +7131,6 @@ "cHD" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/camera{c_tag = "Atmospherics North West"; dir = 2},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/atmos) "cHE" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/atmos) "cHF" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/atmos) -"cHG" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) "cHH" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/atmos) "cHI" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engine/engine_room) "cHJ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless/catwalk{icon_state = "catwalk3"},/area/solar/port) @@ -7133,7 +7138,6 @@ "cHL" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/purple,/turf/simulated/floor/plating,/area/engine/engine_waste) "cHM" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/engine_waste) "cHN" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engine/engine_waste) -"cHO" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact-supply (NORTHWEST)"; icon_state = "intact-supply"; dir = 9},/turf/simulated/floor,/area/atmos) "cHP" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) "cHQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/turf/simulated/floor,/area/atmos) "cHR" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/atmos) @@ -7148,7 +7152,6 @@ "cIa" = (/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"; req_access_txt = "56"; set_temperature = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_room) "cIb" = (/obj/structure/lattice,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) -"cId" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/atmos) "cIe" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/engine_waste) "cIf" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engine/engine_waste) "cIg" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/pipedispenser,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) @@ -7183,7 +7186,6 @@ "cIL" = (/turf/simulated/wall/r_wall,/area/maintenance/engi_engine) "cIM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access_txt = "10;24"},/turf/simulated/floor/plating,/area/maintenance/engi_engine) "cIN" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) -"cIO" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/research_port) "cIP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "EngineEmitterPort"; layer = 3.3; name = "Engine Blast Doors"},/turf/simulated/floor/plating,/area/engine/engine_room) "cIQ" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room) "cIR" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) @@ -7270,11 +7272,9 @@ "cKw" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless,/area/space) "cKA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) "cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) -"cKC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/research_port) "cKT" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor/plating,/area/engine/engine_room) "cKU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/engine_room) "cKV" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) -"cKW" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engine/engine_room) "cKX" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) "cKY" = (/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) "cKZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) @@ -7442,39 +7442,39 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccAccAcbkccBccCcbnccDccEccFbYIccGccHccIccJccKccLccMccNccOccPccQccRbTyccSccTccUccVccWccXccYccZcdacdbcdccddcdecdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbZwbZxbZycdxcdybZAcdzcdAcdBbZAcdCbYfbYfcdDcdEcdFcdGcdHcdHcdIcdJcdKcdLcdLcdMcdNcdLcdOcdPcdQcdRcdOcdScdTcdUcdVcdScdScdScdScdWcdUcdVcdScdSbXjcdXcdYcdZceacebceccedceeceeceeceeceeceeceeceeceeceeceeceeceeceeceeceecefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcekcelcemcemcemcemcemcenceocepcepcepceqcerbYSbYTbYUcesbYWcetceucevcewcexceybUGcezceAcaqceBcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbZwceNbZyceOcePbZAbZAbZAbZAbZAceQceRbYfcdDceSceTceUceTceVceWceXceYcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficfjcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfucfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfBcfCcfDcfEcfFcfGcfHcfHcamcfIcfIcfJcfKcbzbYSbYTbYUcfLcamcfMcfNcfOcfPcfQcfRbUGcfScfTcaqcfUcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghcgicgjbZycgkcglbZycgmbLvbVicgncgocgpcgqcgrcgscgtcdGcguceVcgvcgwcdDcdLcgxcgycgycgzcgAcgBcgCcgBcgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaaaaacgScgTcgTcgTcgUcgVcejcgWcgXcgYcgZchachbchcchdchechfchgchhchichjchkchlchmchnbNFbUGbUGbUGbUGbUGbUGbUGcaqcaqcaqcaqcaqbTFcbIcbIchochpchqcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwchxchwbZychychzbZychAchBbVichCbVichDbYfcdDbYfchEchFchGcdHchHcgwcdDcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciacibcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRciccidciccgRciecifciecgRcigcihcigcgRaaaaaaciicgTcgTcgUcgUcijcejcikcilcemcimcinciocipciqcirbQJbQJcisbQJcbzbYScitbYUciucivciwcixciycixcizciAciBciCciDciEciFciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVciWckqbZybZybZybZychBchBbViciYbViciZbYfcdDbYfcjacjbcjbcjccjdcjecjfcdLcjgcjhcjhcjicjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRciccjyciccgRciecjzciecgRcigcjAcigcgRaaaaaaciicgTcgUcgUcgUcjBcjCcjDcjEcemcjFcjGcjHcjIcjJcivcjKcjLcjMcjNcbzbYScjOchmcjPcjQcjRcjScjScjScjTcjUcjVcjWcjXcjYcjZciAbTFciGckaciIckbckcckdckeckfckgckhckickjckkcklciSckmciUcknckockpclickrclsckscktcktckucktckvbVibVibVibVibYfckwbYfckxckyckzckAckBcchcjfcdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaaaaacgScgTcgTcgTcgUcgVcejcgWcgXcgYcgZchachbchcchdchechfchgchhchichjchkchlchmchnbNFbUGbUGbUGbUGbUGbUGbUGcaqcaqcaqcaqcaqbTFcbIcbIchochpchqcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwchxchwbZychychzbZychAchBbVichCbVichDbYfcdDbYfchEchFchGcdHchHcjecdDcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciacibcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRciccidciccgRciecifciecgRcigcihcigcgRaaaaaaciicgTcgTcgUcgUcijcejcikcilcemcimcinciocipciqcirbQJbQJcisbQJcbzbYScitbYUciucivciwcixciycixcizciAciBciCciDciEciFciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVciWckqbZybZybZybZychBchBbViciYbViciZbYfcdDbYfcjacjbcjbcjccjdcchcjfcdLcjgcjhcjhcjicjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRciccjyciccgRciecjzciecgRcigcjAcigcgRaaaaaaciicgTcgUcgUcgUcjBcjCcjDcjEcemcjFcjGcjHcjIcjJcivcjKcjLcjMcjNcbzbYScjOchmcjPcjQcjRcjScjScjScjTcjUcjVcjWcjXcjYcjZciAbTFciGckaciIckbckcckdckeckfckgckhckickjckkcklciSckmciUcknckockpclickrclsckscktcktckucktckvbVibVibVibVibYfckwbYfckxckycchcchcchcchcjfcdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacgRckSckTckUcgRckXckWckVcgRclackZckYcgRaaaaafciiclbcgTcgUcgUcgUcejclccldclecleclfclecleclecleclgbQJclhcltcbzcljclkcllclmclncloclpclpclpclqciAceCcnacIIcluclvclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfclUcktcktcktcktcktclVclWclXclYcktcktcktcktclZcdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgRcmscmtcmucgRcCpcmtcmwcgRcCpcmtcmwcgRaaaaafcmzcgTcgTcgUcgUcmAcejcmBcmCcmDcmEcmFcmGcmHcmHcmIcmJcmHcmKcmLcbzcmMcmNcmOcmPcivcmQcmQcmRcmScmTciAcmUcIHcIIcIGcmYcmZcqgciGcnbciIcnccndcneciGcnfciNcngcfYcnhcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfbYfbYfcIOcIOcdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcnEcnFclecnGcnHcleclecnIcleclecnJcivclecnKcnLcnMcnNcnKclecnOcnOcnOcnPcnQcnOcnRcnRcnRcnRcnRcnRcnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacKCchBchBcdOcofcogcohcoicojcokcolcomconcoocopcoqcoraaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucovcowcoxcowcovcKvcoxcqWcrScKvcoAcrTcrUcoBcoCcoCcoCcoCcoCcoCcoCcoCcoDcoEcoFcoGcoHcoIcKucoKcoLcoMcoNcoOcoPcoMcoQcoRcoScnOcoTcoUcoVcoWcoXcoYcnOcoZcoZcpacpbcpbcnRbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcpjcpkcpjclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacGXchBchBcdOcplcpmcplcpncpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacpsaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcuicpvcHhcGYcuicHFcHDcHEcHBcHCcHvcHAcHucpucHscpHcHrcpJcHlcpLcpMcpNcpOcpPcpQcGtcGWcpTcpUcpVcpWcpXcpYcpZcqacqbcoQcqccqdcnOcoXcoXcoXcoXcoXcqecnOcqfcqfcqfcpbcpbcnRbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaacGXchBchBcdOcplcplcplcqzcqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacqIaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqJcpucFtcGmcFVcpucymcpucrRczxcymcpucrRczxcpucpucpucpucpucqRcpucpucpucGWcGIcGtcqYcymcpTcracrbcrccrdcrecrfcrgcrhcoQcqccricnOcrjcoXcoXcrkcoXcrlcnOcrmcrncrocrncrpcnRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcrLcqvaafaafcFschBchBcdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcrQaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpucqYcpucqYcpucymcpucIicqMcyucqMcIjcqMcqMcyscIhcpucpucqScqPcqPcqPcrZcIdcsdcsdcIgcpTcHYcHXcsicoMcsjcskcslcoMcsmcsncsocspcsqcsrcsscstcoXcsucnOcsvcrncswcrncsxcnRbTFcsyciGcszcsAcsBcsCciGcfYcsDcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsKcsLcqvcqvcqvcsMcqvcqvcqvcqvcsNcsOcsPcqvcqvcqvcrHaaaaaacdOcofcogcohcsQcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaacsTaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpucqYcpucsUcsXcHTcsWcHUcHVcyucqMcHWcqMcqMcyscHRcpucpucHScGmcHPcwpcqUcHOcqYcqYcHQctictjcHHcoCcoMctlcoMcoMcoMctmctncsoctoctpctqctrctscoXcttcnOctucrncswcrncrncnRctvctwciGciGctxciGciGciGctyctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvctOctPcqvaafaafcdOcplcplcplctQcpoctRctSctTctUctVcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafcsTaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgRcmscmtcmucgRcCpcmtcmwcgRcCpcmtcmwcgRaaaaafcmzcgTcgTcgUcgUcmAcejcmBcmCcmDcmEcmFcmGcmHcmHcmIcmJcmHcmKcmLcbzcmMcmNcmOcmPcivcmQcmQcmRcmScmTciAcmUcIHcIIcIGcmYcmZcqgciGcnbciIcnccndcneciGcnfciNcngcfYcnhcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfbYfbYfbYfbYfcdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcnEcnFclecnGcnHcleclecnIcleclecnJcivclecnKcnLcnMcnNcnKclecnOcnOcnOcnPcnQcnOcnRcnRcnRcnRcnRcnRcnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcoicojcokcolcomconcoocopcoqcoraaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucovcowcoxcowcovcKvcoxcqWcrScKvcoAcrTcrUcoBcoCcoCcoCcoCcoCcoCcoCcoCcoDcoEcoFcoGcoHcoIcKucoKcoLcoMcoNcoOcoPcoMcoQcoRcoScnOcoTcoUcoVcoWcoXcoYcnOcoZcoZcpacpbcpbcnRbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcpjcpkcpjclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcpncpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacpsaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcuicpvcHhcGYcuicHFcHDcHEcHBcHCcHvcHAcHucpucHscpHcHrcpJcHlcpLcpMcpNcpOckzcpQcGtcGWcpTcpUcpVcpWcpXcpYcpZcqacqbcoQcqccqdcnOcoXcoXcoXcoXcoXcqecnOcqfcqfcqfcpbcpbcnRbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcqzcqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacqIaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqJcpucFtcGmcFVcpucymcpucrRczxcymcpucrRczxcpucpucpucpucpucqRcpucpucpucGWckAcGtcqYcymcpTcracrbcrccrdcrecrfcrgcrhcoQcqccricnOcrjcoXcoXcrkcoXcrlcnOcrmcrncrocrncrpcnRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcrLcqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcrQaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpucqYcpucqYcpucymcpucIicqMcyucqMcIjcqMcqMcyscIhcpucpucqScqPcqPcqPcrZckBcsdcsdcIgcpTcHYcHXcsicoMcsjcskcslcoMcsmcsncsocspcsqcsrcsscstcoXcsucnOcsvcrncswcrncsxcnRbTFcsyciGcszcsAcsBcsCciGcfYcsDcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsKcsLcqvcqvcqvcsMcqvcqvcqvcqvcsNcsOcsPcqvcqvcqvcrHaaaaaacdOcofcogcohcsQcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaacsTaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpucqYcpucsUcsXcHTcsWcHUcHVcyucqMcHWcqMcqMcyscHRcpucpucHScGmcHPcwpcwpcpAcqYcqYcHQctictjcHHcoCcoMctlcoMcoMcoMctmctncsoctoctpctqctrctscoXcttcnOctucrncswcrncrncnRctvctwciGciGctxciGciGciGctyctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvctOctPcqvaafaafcdOcplcplcplctQcpoctRctSctTctUctVcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafcsTaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpucsUcsXcsXcsXcHTcsXcsXcsXcHTcsXcsXcsXcsXcsXcIncsXcsXcHTcsXcIvcsXcsXcsXcIpctgcthcuicpucIzcukculcumcuncuocupcuncuqcurcuscutcuucuucuvcuucuwcuxcuycuzcuAcuBcuBcnRcuCcuDcuEcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcuLcuMcuNctFcuOcuPcuQcuQcuRcuQcuScuTcuUcuVcuWcuXcuQcqvaaaaaacdOcplcplcplcsQcuYcuZcvacvbcvccvdcrNcrNcvecvfcvgcdOaafaafcrPaafcvhcvicvicvicvicvjcvkcvlcvmcvmcvmcvmcvnaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpucpucpucpucpucymcpucpucpucymcpucpucpucpucpucrRcpucpucymcpucIlcpucpucvucvvcIkcvwcvxcvycvxcvAcvBcvCcvDcvEcvBcvBcvFcvGcnPcvHcoXcvIcvJcoXcoXcvKcrncrncvLcuBcuBcnRbPxcAscvNcvNcvNcvNcvOcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcvQctFctFcvRcvScvTcvUcvVcvWcvVcvXcvYcvZcwacwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvacwecwfcwgcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaacsTaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacptcpucpucpucpucpucymcpucpucpucymcpucpucpucpucpucrRcpucpucymcpucvpcpucpucvpcvpcvpcpucpucwtcAtcoCcoCcoCcoCcwvcwwcoQcwxcwycspcwzcoXcwAcvJcoXcwBcnOcwCcrncwEcwFcwGcnRcwHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwScwTcwUcwVcwWcwXcwYcwZcxacvZcxbcxccxdcuWcqvcxecqvaaaaaacdOcofcogcohcxfcsRcuZcxgcxhcxhcxicxjcxkcxlcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaacsTaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpucpucpucpucpucyocpucpucpucyocpucpucpucpucpucrRcpucpucrWcGmcxpcuecuecxpcykcxpcIBcIAcIDcuecAGcuecxAcxBcIEcwwcoQcxDcoQcxEcxFcoXcoXcxGcoXcxHcnOcxIcxIcxJcwFcwGcnRbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcxVcxWcxXcxYcxZcuTcyacuScybcuTcyccuVcqvcqvcqvaaaaaacdOcplcpmcplcydcpocppcrNcrNcyecyfcrNcygcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafcsTaafctXctXctXctXctXaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhaaaaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaamaafaaaaaaaaacptcpucqScqPcqPcxwcxycqPcxwcqPcxxcxwcqPcqPcqPcqPcxvcqPcrXcxucqQcvpcpucpucyvcwscywcxtcyycyzcpucxscpucxqcxqcxrcyGcoQcxDcyHcnOcyIcoXcyJcoXcyKcyLcnOcnRcnRcnRcnRcnRcnRbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTcyUcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplcxfcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafcvhcvicvicvicvicvjcvkcvlcvmcvmcvmcvmcvnaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaacrPaafaafaafaamaafaafaafaafcptcpucymcpucpucpucyocpucpucpucyocpucpucpucpucpucrRcpucywcpucyncvpcpucpucylcykcuhcyjcoCczzcoCcoCcpucyiczBcxCcyGcoQcxDcoQcnOczDczEczFczGczHcoXcnOczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcAhcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaacsTaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaaaaaaaaaaamaaaaaaaaacyxcpucymcpucqKcqMcyucqMcuacqMcyucqMcuacqMcqMcqMcyqcytcyqcyscyrcuhcyBcyCcACcADcAEcAFcoCcBFcyAcoCcoCcoCcoCcoCcAIcAJcAKcAJcnOcnOcnOcnOcnOcnOcnOcnOcALczJczJcAMcANcAObPxcAPcvNcAQcARcAScATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaacBkaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaacsTaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcyDcpucymcpucywcwscymcpucywcwscymcpucywcwscpucpucyvcpucywcwscyEczfczhczecBBcBCcBDcBEcoCcyFcBGcBHcBIcBJcBKcBLcBMcBKcBNcBKcBOcBPcBQcBRcBScBScBTcBUcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycmWcCmcCncCocrHaaaaaaaaaaaaaaaaaacKwaafcdOcCqcCrcCscomcCtcCucCvcomcCwcCxcCycdOaaaaaacrPaaactXctXctXctXctXaafcsTaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaamaaaaaaaaacyDczwczAczyczgczsczqczpczkcznczmczlczoczscpuczwczvczuczrczncztcoCcoCcoCcCzcCzcCzcCzcCzczjcCzcCBcCCcCDcCEcCFcCEcCEcCGcCEcCEcCHcCEcCDcCIcCJcCKcCLcCMcCNcCOcCPcCQcAObPwcCRcCScCTcCacCUcAVcCVcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaacDfaaLcClcDgaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafcvhcvicvicvicvicvjcvkcvlcvmcvmcvmcvmcvnaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaacAzcAvcAwcAxcAycABcAAcAHcAycABcAAcAHcAycABcBucBucBvcAHcAycABcBtcoCaaacDvcDwcDxcDycDzcDAcAucDCcDDcDDcDEcDFcDGcDHcDIcDJcDHcDIcDGcDKcDLcDMcDKcCBcCBcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaacsTaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaaaaaaaaacBxaaacnyaaacBxaaacnyaaacBxaaacnyaaaaaaaaacnzaaacnyaaacByaafaaacEicEjcEkcElcEmcEncAucEocDDcEpcEqcErcEscEtcEucEvcEwcExcEscEycEzcEAcDKaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCacEEcEFcEGcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacEMaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaqaaaaaaaaaaafcgRcCpcmtcmvcgRcCpcmtcmvcgRcCpcmtcmxcgRaaacgRcmycmtcmxcgRaaaaafaaacEicEQcERcEScEQcCAcDBcEUcDDcEVcEWcEXcEscEYcEZcFacFbcFccEscFdcFecFfcDKaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacFjcFjcFjcCacFkcFlaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcFpcFpcFpckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacqIaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcgRcDjcDkcDlcgRcDmcDncDocgRcDpcDqcDrcgRaafcgRcDscDtcDucgRaaaaafaaacEicFrcEkcEQcEQcqZcqXcFucFvcFwcFxcFycFzcFAcFBcFCcFDcFEcFFcFGcFHcFIcDKaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFScFScFSaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcFTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgRcEbcEccEbcgRcEdcEecEdcgRcEfcEgcEfcgRaaacgRcEfcEfcEhcgRaaaaafaaacEicFUcEkcEScEQcEncrVcEocDDcFWcFXcFYcEscFZcGacGbcGacGccEscGdcGecGfcDKaaLcGgcGgcGgcGgcGgcGgcGgbNUcGhcGicGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaamaaaaafaafaaacgRcEbcENcEbcgRcEdcEOcEdcgRcEfcEPcEfcgRaafcgRcEfcEfcEfcgRaafaafaafcGncGocGpcGqcGrcGscsacEocDDcGucGvcGwcEscGxcGycGzcGAcGBcEscGCcGDcGEcDKaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaacgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaacFqcgRcgRcgRcgRaaaaaaaaaaaacCzcCzcCzcCzcCzcsccGJcGJcGJcGJcGKcGJcGLcGMcGNcGMcGOcGJcGJcGPcGJcGJcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcHacHbcHccHdcHecHfcsZcsYctacHgcHicHjcHkcsVcHmcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncHocHpaaacHncHocHpaaacHncHocHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGTcHLctfcHtctecubcHwcHxcHjcHycHzctkctZctdctccHjcHjcHjcHjcHGctbcHIcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncHJcHpaaacHncHJcHpaaacHncHJcHpaafaafaafaafaaaaaacHKaafcGQcGRcGRcGRcGScGTcHLcHMcHNcuccudcHwcHxcHjcufcHjcugcujcvqcvocvrcHjcHjcHjcHGcHZcIacGJcIbaafaaIaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncHJcHpaaacHncHJcHpaafcHncHJcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGTcwmcIecIfcwlcwqcwrcwncwocxocwocwucwDcvzcImcvtcIocIocIocwkcHZcIqcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncHJcHpaafcHncHJcHpaaacHncHJcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIrcGVcIscItcIucLacGZcIwcHjcIxcIycKYcLbcKWcIycKUcKVcKYcKZcKXcHZcKTcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncHJcHpaafcHncHJcHpaaacHncHJcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcGJcHjcHjcINcGJcGJcGJcIQcIPcIQcGJcGJcGJcIRcIScHzcGJaafaaabZSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpucqScqPcqPcxwcxycqPcxwcqPcxxcxwcqPcqPcqPcqPcxvcqPcrXcxucqQcvpcpucpucyvcwscywcxtcyycyzcpucxscpucxqcxqcxrcyGcoQcxDcyHcnOcyIcoXcyJcoXcyKcyLcnOcnRcnRcnRcnRcnRcnRbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTcyUcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplcxfcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafcvhcvicvicvicvicvjcvkcvlcvmcvmcvmcvmcvnaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpucymcpucpucpucyocpucpucpucyocpucpucpucpucpucrRcpucywcpucyncvpcpucpucylcykcuhcyjcoCczzcoCcoCcpucyiczBcxCcyGcoQcxDcoQcnOczDczEczFczGczHcoXcnOczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcAhcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaacsTaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcpucymcpucqKcqMcyucqMcuacqMcyucqMcuacqMcqMcqMcyqcytcyqcyscyrcuhcyBcyCcACcADcAEcAFcoCcBFcyAcoCcoCcoCcoCcoCcAIcAJcAKcAJcnOcnOcnOcnOcnOcnOcnOcnOcALczJczJcAMcANcAObPxcAPcvNcAQcARcAScATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaacBkaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaacsTaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaacpEaaaaaaaaacyDcpucymcpucywcwscymcpucywcwscymcpucywcwscpucpucyvcpucywcwscyEczfczhczecBBcBCcBDcBEcoCcyFcBGcBHcBIcBJcBKcBLcBMcBKcBNcBKcBOcBPcBQcBRcBScBScBTcBUcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycmWcCmcCncCocrHaaaaaaaaaaaaaaaaaacKwaafcdOcCqcCrcCscomcCtcCucCvcomcCwcCxcCycdOaaaaaacrPaaactXctXctXctXctXaafcsTaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcyDczwczAczyczgczsczqczpczkcznczmczlczoczscpuczwczvczuczrczncztcoCcoCcoCcCzcCzcCzcCzcCzczjcCzcCBcCCcCDcCEcCFcCEcCEcCGcCEcCEcCHcCEcCDcCIcCJcCKcCLcCMcCNcCOcCPcCQcAObPwcCRcCScCTcCacCUcAVcCVcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaacDfaaLcClcDgaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafcvhcvicvicvicvicvjcvkcvlcvmcvmcvmcvmcvnaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcpFaaaaaaaaaaamaaaaaaaaacAzcAvcAwcAxcAycABcAAcAHcAycABcAAcAHcAycABcBucBucBvcAHcAycABcBtcoCaaacDvcDwcDxcDycDzcDAcAucDCcDDcDDcDEcDFcDGcDHcDIcDJcDHcDIcDGcDKcDLcDMcDKcCBcCBcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaacsTaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLaamcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacEicEjcEkcElcEmcEncAucEocDDcEpcEqcErcEscEtcEucEvcEwcExcEscEycEzcEAcDKaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCacEEcEFcEGcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacEMaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcgRcCpcmtcmvcgRcCpcmtcmvcgRcCpcmtcmxcgRaaacgRcmycmtcmxcgRaaaaafaaacEicEQcERcEScEQcCAcDBcEUcDDcEVcEWcEXcEscEYcEZcFacFbcFccEscFdcFecFfcDKaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacFjcFjcFjcCacFkcFlaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcFpcFpcFpckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacqIaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcgRcDjcDkcDlcgRcDmcDncDocgRcDpcDqcDrcgRaafcgRcDscDtcDucgRaaaaafaaacEicFrcEkcEQcEQcqZcqXcFucFvcFwcFxcFycFzcFAcFBcFCcFDcFEcFFcFGcFHcFIcDKaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaaLaaLaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcFTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcgRcEbcEccEbcgRcEdcEecEdcgRcEfcEgcEfcgRaaacgRcEfcEfcEhcgRaaaaafaaacEicFUcEkcEScEQcEncrVcEocDDcFWcFXcFYcEscFZcGacGbcGacGccEscGdcGecGfcDKaaLcGgcGgcGgcGgcGgcGgcGgbNUcGhcGicGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacgRcEbcENcEbcgRcEdcEOcEdcgRcEfcEPcEfcgRaafcgRcEfcEfcEfcgRaafaafaafcGncGocGpcGqcGrcGscsacEocDDcGucGvcGwcEscGxcGycGzcGAcGBcEscGCcGDcGEcDKaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaacFqcgRcgRcgRcgRaaaaaaaaaaaacCzcCzcCzcCzcCzcsccGJcGJcGJcGJcGKcGJcGLcGMcGNcGMcGOcGJcGJcGPcGJcGJcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcHacHbcHccHdcHecHfcsZcsYctacHgcHicmXcnycsVcHmcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncHocHpaaacHncHocHpaaacHncHocHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGTcHLctfcHtctecubcHwcHxcHjcHycHzctkctZcoyctccHjcHjcHjcnzcHkctbcHIcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncHJcHpaaacHncHJcHpaaacHncHJcHpaafaafaafaafaaaaaacHKaafcGQcGRcGRcGRcGScGTcHLcHMcHNcuccudcHwcHxcHjcufcHjcugcoJcpxcpwcpycnycnycpzcpBcHZcIacGJcIbaafaaIaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncHJcHpaaacHncHJcHpaafcHncHJcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGTcwmcIecIfcwlcwqcwrcwncwocxocwocwucwDcpDcImcpCcIocIocIocwkcHZcIqcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncHJcHpaafcHncHJcHpaaacHncHJcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIrcGVcIscItcIucLacGZcIwcHjcIxcIycKYcLbcvocIycKUcKVcKYcKZcKXcHZcKTcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncHJcHpaafcHncHJcHpaaacHncHJcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcGJcHjcHjcINcGJcGJcGJcujcIPcIQcGJcGJcGJcIRcIScHzcGJaafaaabZSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcITaafaafaafcITaafaaaaafcITaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcIZcJacJbcJccJdcJecJfcJgcJecGJcJhcHjcJicJjcJkcJlcJmcJncJocJlcJpcJjcJqcHjcJrcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcJscJtcJucJvcJwcJvcJvcJvcJwcJvcJvcJvcJwcJvcJxcJtcJtcJtcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcGJcHjcHjcJicJjcJkcJLcJMcJNcJOcJLcJpcJjcJqcHjcJPcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcJQaafaaaaafcJQaafaaaaafcJQaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcGJcHjcHjcJZcJjcJkcKacJMcKbcKccKacJpcJjcKdcHjcHjcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 8b355c5fe1f..6a2b4b2e342 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -744,14 +744,14 @@ "op" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "oq" = (/obj/structure/rack,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "or" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"os" = (/obj/structure/rack,/obj/item/weapon/rig/combat/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"os" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "ot" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) "ou" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "ov" = (/obj/structure/rack,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ow" = (/obj/structure/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ox" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "oy" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oz" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oz" = (/obj/structure/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oA" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oB" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oC" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) @@ -956,7 +956,7 @@ "st" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "su" = (/obj/item/weapon/weldingtool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "sv" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = null; req_access_txt = "150"},/obj/item/bodybag,/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/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sw" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sw" = (/obj/structure/rack,/obj/item/weapon/rig/combat/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "sx" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) "sy" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) "sz" = (/obj/machinery/sleeper,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living) @@ -1127,7 +1127,7 @@ "vI" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) "vJ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "vK" = (/obj/structure/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vL" = (/obj/structure/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"vL" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "vM" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "vN" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "vO" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) @@ -1170,8 +1170,8 @@ "wz" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "wA" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/weapon/stamp/centcomm,/turf/unsimulated/floor{icon_state = "blue"},/area/centcom) "wB" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"wC" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"wD" = (/obj/structure/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wC" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wD" = (/obj/structure/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wE" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) "wG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) @@ -1273,7 +1273,7 @@ "yy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) "yz" = (/obj/machinery/chem_dispenser/meds,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "yA" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yB" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yB" = (/obj/structure/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "yC" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "yD" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "yE" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) @@ -1297,7 +1297,7 @@ "yW" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "yX" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "yY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "103"; tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yZ" = (/obj/structure/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yZ" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "za" = (/obj/structure/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "zb" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "zc" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) @@ -1946,9 +1946,9 @@ "Lv" = (/obj/machinery/door/poddoor{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "Lw" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) "Lx" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"Ly" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"Lz" = (/obj/structure/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"LA" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"Ly" = (/obj/structure/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"Lz" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"LA" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) (1,1,1) = {" aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaQ @@ -2054,7 +2054,7 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMnHnZnRnRnRnRoanLnHaMndnenAnAnenenenBihnCnonDnEihnFkQnGihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHofnRnRognRnRohnHaMndnenenenenenenNihihihihihihnOkQnPihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMomnHonnHnHnHnHnHooaMnTnananUihkdkdkdihkTkTnVnWihnXkQnYihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHswoyoaouvLnHaMaMaMaMaMaMobkdkdkdoclalaododihnXkQoeihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHosoyoaouoznHaMaMaMaMaMaMobkdkdkdoclalaododihnXkQoeihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHoBoAoanRornHaMaMaMaMaMaMoikdkdkdihojlaihihihokolokihihihmumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnvnHoBoyoanRornHnzaMaMmPmKoFihkdkdkdihihihihopopkQkQkQoqoqihihmumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnvnHnHnHnHoGoyoanRornHnHnHnHnzototihkdkdkdkdihovowkQkQkQkQkQkQkQoxihmumumumumumumu @@ -2066,10 +2066,10 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVpdpppqprpspeptpupepvpwpepepepgoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMnHqCnRnRnRqDnRnRnRqEnRnRnRqFnHaMaMaMaMaMaMaMaMaMmumuihpokQpoihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpdpepBpBpBpBpepCpCpepBpBpDpEpepepgoVpFpFpFpFpFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnvnHnHnHnHnHnHnRnRnRnHnHnHnHnHnHnzaMaMaMaMaMmAaMmBmumuihpokQpoihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpepepMpNpOpPpepBpBpQpBpBpBpBpRpSpeoVpFpTpUpVpFpFpFpFpFpWpXpXpYpFpFaMaMaMaMaMaMaMaMpZpZpZpZpZpZpZpZpZpZpZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHqZrasercsvnHrenRnRnHrfrfrfrgrgnHaMaMaMaMaMmAmBmumumuihpokQpoihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfqgpBqhqhqhpepBpBpeqiqjqkqlqmqnpeoVpFqopUpUqpqqqrqsqtquqsqvqwqxpFpFpFpFpFpFpFpFpFpFqyqzqzqzqzqzqzqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMrirjrjrjrjrjnHnRnRnRnHrenRnRnRrkrlaMaMaMaMaMmPaMmumumuihihosihihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfqgpBqhqhqhpepBpBpeqiqjqkqlqmqnpeoVpFqopUpUqpqqqrqsqtquqsqvqwqxpFpFpFpFpFpFpFpFpFpFqyqzqzqzqzqzqzqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMrirjrjrjrjrjnHnRnRnRnHrenRnRnRrkrlaMaMaMaMaMmPaMmumumuihihswihihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqGqfpBpBpBpBpBpQpBpBpepepepepepepeqHqIpFpFpFpFpFqqqvqsqJqKqsqvqvqvqLqMqMqMqMqMqMqMqMqNqyqOqPqPqPqPqPqQqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMrBrCrDrjrjrjrEnRnRnRrFnRnRnRrGrHrIaMaMaMaMaMmAmBmBmumumuihihihmumumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqRpeqSpBqSpBqSpepBpBpBqTqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqvqvqLqMqMqMqMqMqMqMqMqNqyqXqYqYqYqYqYqXqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMrPrjrjrjrjrjrQnRnRnRrRnRnRnRnRrSrTaMaMaMaMaMmAaMaMmBmumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpepepepepepepepBpBrhpBqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqqqqpFpFpFpFpFpFpFpFpFpZqyqXqYqYqYqYqYqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsbrjrjrjscnHpzsdpznHozozsInRsfnHaMaMaMaMaMaMaMaMaMmumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpepepepepepepepBpBrhpBqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqqqqpFpFpFpFpFpFpFpFpFpZqyqXqYqYqYqYqYqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsbrjrjrjscnHpzsdpznHvLvLsInRsfnHaMaMaMaMaMaMaMaMaMmumumumumumumumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpermrnrormrppepBpBpBrqqUoVoVoVoVoVoVpFpFpFpFpFqvqvqsqJquqsqvrrrspFrtrururvpFrwrxrypZqzqXqYqYqYqYrzrApZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHspsqsrssstnHsunRvUnHyCnHnHLvnHnHaMaMaMaMaMaMaMmAaMmBmumumumumumumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfrJrJrJrJrJpQpBpBpepepepepepepepgoVpFpTpUpVpFqvqvqsqJrKqsqvqqqqpFrLrLrLrLpFrMrxrNpZqzqXqYqYqYqYqYrOpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsGrjsHLwnHnHnRsJsKnHnHnHnRnRLxnHaMaMaMaMaMaMaMmAmBmBmumumumumumumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqGqfrUrJrJrJrJpepBpBpBpBpBpepBrVrWpeoVpFqopUpUqpqvqvqvqvqvqvqvqvqvpFrLrXrYrYpFpFrZpFpZqzqXqYqYqYqYsaqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsWsXsYnHaMnHsZsZsZnHaMnHnLtatbnHaMaMaMaMaMaMaMmAaMmBaMmumumumumumumumumumumumumumu @@ -2085,16 +2085,16 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutuuuvuwuxuhtZtZtZtZuyoNuztZtZtZuAoNuBudtwtIudtwuCtJtwtItMtwtNtxuDuEuFuGuHtxuIuIuItxtWtWtWtWtWtxuJuKuJuLuMuguNuNuNuOurururuOuruPuQuPuruRuSuTtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVuWuXuVuVuVuYuWuZvavbvcoNvdtZtZtZtZveoNvftZtZtZvgoNubtJvhubtJtwubvitwubvjtwtNtxvktxvlvmvntxufufuftxvlvmvotxvptxvqvrvqvrvqugtxtxtxtxurururtxvsvtuPvuvsvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvoNvxtZtZtZtZvyoNvztZtZvAoNoNoNtvtvtvtvtvtvtvtvtvtvtvtNtxufufvBvCvCvCvCvCvCvCvCvCvDufufvEvqvqvqvqvqugvFuNuotxurururtxvGvGvHvGvGvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNvKLALzvMtZoNoNvNtZtZvOoNvPvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNvKwCwDvMtZoNoNvNtZtZvOoNvPvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwhuXuVuVuVuYwhwivavbwjoNtvoNoNoNtZoNwktZtZtZwloNwmwnwowpwpwpwpwpwpwqtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNyBwDtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNyZyBtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwWoUoVoVoVqVwWwXwYvMwZoNxatZxboNxcoNoNoNxdoNoNoNwmwnxexfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNxouhxpoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNvMyaoNoNoNoNoNyboNycwmydyeyfygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyALyyZtZoNdjwmydyfyfygwmyDyEyFyhyGyHyIyJyKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyALzLytZoNdjwmydyfyfygwmyDyEyFyhyGyHyIyJyKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNyQtZtZtZtZtZtZoNdjtZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNyQtZtZtZtZtZyWoNyXtZtZyYtZtZwCzazbzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNyQtZtZtZtZtZyWoNyXtZtZyYtZtZLAzazbzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhzizjzkzloNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNzAzBzBzAaMaMaMyhyIzCzDzEzDyhzszFzFzszGzHufzwtxzIwTufwKzJtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzKururzLzLururzKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzMzNzNzNzNzOzOzNzNzPaMyhyIyIyIyIyIyhzsztztzszQzHufzwtxueufufufvVtxaMaMaMaMaMaMaMaMaMaMaMzRzSzTzUaMaMaMaMaMaMaMaMaMtxzVururururzWtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From 81890c968ef790e0b9731a2bfdb9666dd2b3e19f Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 8 Dec 2014 20:39:46 -0500 Subject: [PATCH 19/40] Adds image for cult talismans So they aren't blank when examined. --- code/game/gamemodes/cult/talisman.dm | 1 + code/modules/client/client procs.dm | 3 ++- html/images/talisman.png | Bin 0 -> 62153 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 html/images/talisman.png diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 961f38fc0d9..0f5ab245d1f 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -2,6 +2,7 @@ icon_state = "paper_talisman" var/imbue = null var/uses = 0 + info = "


" attack_self(mob/living/user as mob) if(iscultist(user)) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index eae64acc1ef..4fa4db8b188 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -299,5 +299,6 @@ 'icons/spideros_icons/sos_12.png', 'icons/spideros_icons/sos_13.png', 'icons/spideros_icons/sos_14.png', - 'html/images/ntlogo.png' + 'html/images/ntlogo.png', + 'html/images/talisman.png' ) diff --git a/html/images/talisman.png b/html/images/talisman.png new file mode 100644 index 0000000000000000000000000000000000000000..0ece637314a0112efd87927c1d65953707b4221a GIT binary patch literal 62153 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 Date: Tue, 9 Dec 2014 07:37:43 +0300 Subject: [PATCH 20/40] Fix for #6649. --- code/WorkInProgress/computer3/computers/camera.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/WorkInProgress/computer3/computers/camera.dm index 193070ce3e3..b3a0c7fcfa7 100644 --- a/code/WorkInProgress/computer3/computers/camera.dm +++ b/code/WorkInProgress/computer3/computers/camera.dm @@ -147,7 +147,7 @@ if(temp.len) L.Add(C) - //camera_sort(L) + camera_sort(L) return L verify_machine(var/obj/machinery/camera/C,var/datum/file/camnet_key/key = null) From a311da90fbb8e68aeaa66eb43a07429e49218e06 Mon Sep 17 00:00:00 2001 From: Segrain Date: Tue, 9 Dec 2014 07:39:38 +0300 Subject: [PATCH 21/40] Fix for #7330. --- code/game/mecha/mecha.dm | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 51352e3afb9..fa1e4256beb 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -506,14 +506,17 @@ src.visible_message("The [src.name] armor deflects the projectile") src.log_append_to_last("Armor saved.") return - var/ignore_threshold - if(Proj.flag == "taser") - use_power(200) - return - if(istype(Proj, /obj/item/projectile/beam/pulse)) - ignore_threshold = 1 - src.take_damage(Proj.damage,Proj.flag) - src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) + + if(Proj.damage_type == HALLOSS) + use_power(Proj.agony * 5) + + if(!(Proj.nodamage)) + var/ignore_threshold + if(istype(Proj, /obj/item/projectile/beam/pulse)) + ignore_threshold = 1 + src.take_damage(Proj.damage,Proj.flag) + src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) + Proj.on_hit(src) return @@ -1406,11 +1409,11 @@ /obj/mecha/proc/output_maintenance_dialog(obj/item/weapon/card/id/id_card,mob/user) if(!id_card || !user) return - + var/maint_options = "Set Cabin Air Pressure" if (locate(/obj/item/mecha_parts/mecha_equipment/tool/passenger) in contents) - maint_options += "Remove Passenger" - + maint_options += "Remove Passenger" + var/output = {"