From 3610cfd4ea7e9bffc804320851f0b0a625db1dba Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Tue, 9 Aug 2016 15:00:18 -0400 Subject: [PATCH 01/48] Markings refactor, body/marking/head accessory/hair sprite darkening, adds tail markings, more hair styles... Tajara ears are on their head now, fixes a crash bug with tail wagging with body accessories that are split-rendered, adds secondary hair/facial hair themes, fixes issues with human/skrell arm/lower body sprites etc. --- SQL/paradise_schema.sql | 13 +- SQL/paradise_schema_prefixed.sql | 13 +- code/__DEFINES/flags.dm | 11 +- code/__DEFINES/misc.dm | 16 +- code/__DEFINES/mob.dm | 21 +- code/__HELPERS/global_lists.dm | 2 + code/_globalvars/lists/flavor_misc.dm | 5 + code/datums/datacore.dm | 44 +- code/game/dna/dna2.dm | 63 +- code/game/dna/dna2_helpers.dm | 43 +- code/game/dna/genes/vg_powers.dm | 109 ++-- code/modules/client/preference/preferences.dm | 275 +++++++-- .../client/preference/preferences_mysql.dm | 156 ++--- code/modules/customitems/item_defines.dm | 13 +- .../mob/living/carbon/human/appearance.dm | 256 ++++++--- .../living/carbon/human/body_accessories.dm | 6 - code/modules/mob/living/carbon/human/human.dm | 15 +- .../mob/living/carbon/human/human_defines.dm | 10 +- .../living/carbon/human/species/station.dm | 21 +- .../mob/living/carbon/human/update_icons.dm | 276 ++++----- .../mob/new_player/preferences_setup.dm | 101 +++- .../mob/new_player/sprite_accessories.dm | 539 +++++++++++++++--- code/modules/nano/modules/human_appearance.dm | 162 +++++- code/modules/surgery/limb_reattach.dm | 4 +- code/modules/surgery/organs/organ_external.dm | 4 +- code/modules/surgery/organs/organ_icon.dm | 22 +- .../surgery/organs/subtypes/standard.dm | 18 + icons/effects/species.dmi | Bin 45505 -> 45274 bytes icons/mob/body_accessory.dmi | Bin 17768 -> 57180 bytes icons/mob/human_face.dmi | Bin 71874 -> 71679 bytes icons/mob/human_races/r_def_lizard.dmi | Bin 4419 -> 2086 bytes icons/mob/human_races/r_def_tajaran.dmi | Bin 4592 -> 2016 bytes icons/mob/human_races/r_human.dmi | Bin 8152 -> 8175 bytes icons/mob/human_races/r_lizard.dmi | Bin 1900 -> 2105 bytes icons/mob/human_races/r_skrell.dmi | Bin 4773 -> 1962 bytes icons/mob/human_races/r_tajaran.dmi | Bin 5987 -> 2368 bytes icons/mob/human_races/r_vulpkanin.dmi | Bin 4848 -> 2028 bytes nano/templates/appearance_changer.tmpl | 65 ++- 38 files changed, 1686 insertions(+), 597 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index ec34b6632f3..1069dd6b2d6 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -33,23 +33,28 @@ CREATE TABLE `characters` ( `hair_red` smallint(4) NOT NULL, `hair_green` smallint(4) NOT NULL, `hair_blue` smallint(4) NOT NULL, + `secondary_hair_red` smallint(4) NOT NULL, + `secondary_hair_green` smallint(4) NOT NULL, + `secondary_hair_blue` smallint(4) NOT NULL, `facial_red` smallint(4) NOT NULL, `facial_green` smallint(4) NOT NULL, `facial_blue` smallint(4) NOT NULL, + `secondary_facial_red` smallint(4) NOT NULL, + `secondary_facial_green` smallint(4) NOT NULL, + `secondary_facial_blue` smallint(4) NOT NULL, `skin_tone` smallint(4) NOT NULL, `skin_red` smallint(4) NOT NULL, `skin_green` smallint(4) NOT NULL, `skin_blue` smallint(4) NOT NULL, - `markings_red` smallint(4) NOT NULL, - `markings_green` smallint(4) NOT NULL, - `markings_blue` smallint(4) NOT NULL, + `marking_colours` varchar(255) NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', `head_accessory_red` smallint(4) NOT NULL, `head_accessory_green` smallint(4) NOT NULL, `head_accessory_blue` smallint(4) NOT NULL, `hair_style_name` varchar(45) NOT NULL, `facial_style_name` varchar(45) NOT NULL, - `marking_style_name` varchar(45) NOT NULL, + `marking_styles` varchar(255) NOT NULL DEFAULT 'head=None&body=None&tail=None', `head_accessory_style_name` varchar(45) NOT NULL, + `alt_head_name` varchar(45) NOT NULL, `eyes_red` smallint(4) NOT NULL, `eyes_green` smallint(4) NOT NULL, `eyes_blue` smallint(4) NOT NULL, diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index b5115a93caf..55e71aa2aab 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -33,23 +33,28 @@ CREATE TABLE `SS13_characters` ( `hair_red` smallint(4) NOT NULL, `hair_green` smallint(4) NOT NULL, `hair_blue` smallint(4) NOT NULL, + `secondary_hair_red` smallint(4) NOT NULL, + `secondary_hair_green` smallint(4) NOT NULL, + `secondary_hair_blue` smallint(4) NOT NULL, `facial_red` smallint(4) NOT NULL, `facial_green` smallint(4) NOT NULL, `facial_blue` smallint(4) NOT NULL, + `secondary_facial_red` smallint(4) NOT NULL, + `secondary_facial_green` smallint(4) NOT NULL, + `secondary_facial_blue` smallint(4) NOT NULL, `skin_tone` smallint(4) NOT NULL, `skin_red` smallint(4) NOT NULL, `skin_green` smallint(4) NOT NULL, `skin_blue` smallint(4) NOT NULL, - `markings_red` smallint(4) NOT NULL, - `markings_green` smallint(4) NOT NULL, - `markings_blue` smallint(4) NOT NULL, + `marking_colours` varchar(255) NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', `head_accessory_red` smallint(4) NOT NULL, `head_accessory_green` smallint(4) NOT NULL, `head_accessory_blue` smallint(4) NOT NULL, `hair_style_name` varchar(45) NOT NULL, `facial_style_name` varchar(45) NOT NULL, - `marking_style_name` varchar(45) NOT NULL, + `marking_styles` varchar(255) NOT NULL DEFAULT 'head=None&body=None&tail=None', `head_accessory_style_name` varchar(45) NOT NULL, + `alt_head_name` varchar(45) NOT NULL, `eyes_red` smallint(4) NOT NULL, `eyes_green` smallint(4) NOT NULL, `eyes_blue` smallint(4) NOT NULL, diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 2b2adbdbaf2..e7966690a8e 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -59,10 +59,13 @@ #define HAS_SKIN_TONE 64 #define HAS_ICON_SKIN_TONE 128 #define HAS_SKIN_COLOR 256 -#define HAS_MARKINGS 512 -#define TAIL_WAGGING 1024 -#define NO_EYES 2048 -#define HAS_FUR 4096 +#define HAS_HEAD_MARKINGS 512 +#define HAS_BODY_MARKINGS 1024 +#define HAS_TAIL_MARKINGS 2048 +#define TAIL_WAGGING 4096 +#define NO_EYES 8192 +#define HAS_FUR 16384 +#define HAS_ALT_HEADS 32768 //Species Diet Flags #define DIET_CARN 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index cbd39a49a21..b8ae6850490 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -214,14 +214,14 @@ #define GLOVES_LAYER 11 #define EARS_LAYER 12 #define SUIT_LAYER 13 -#define GLASSES_LAYER 14 -#define BELT_LAYER 15 //Possible make this an overlay of somethign required to wear a belt? -#define SUIT_STORE_LAYER 16 -#define BACK_LAYER 17 -#define TAIL_LAYER 18 //bs12 specific. this hack is probably gonna come back to haunt me -#define HAIR_LAYER 19 //TODO: make part of head layer? -#define HEAD_ACCESSORY_LAYER 20 -#define FHAIR_LAYER 21 +#define BELT_LAYER 14 //Possible make this an overlay of somethign required to wear a belt? +#define SUIT_STORE_LAYER 15 +#define BACK_LAYER 16 +#define HAIR_LAYER 17 //TODO: make part of head layer? +#define HEAD_ACCESSORY_LAYER 18 +#define FHAIR_LAYER 19 +#define TAIL_LAYER 20 //bs12 specific. this hack is probably gonna come back to haunt me +#define GLASSES_LAYER 21 #define FACEMASK_LAYER 22 #define HEAD_LAYER 23 #define COLLAR_LAYER 24 diff --git a/code/__DEFINES/mob.dm b/code/__DEFINES/mob.dm index 736ca0d291f..5d9aba0e3df 100644 --- a/code/__DEFINES/mob.dm +++ b/code/__DEFINES/mob.dm @@ -72,15 +72,18 @@ #define APPEARANCE_SKIN 8 #define APPEARANCE_HAIR 16 #define APPEARANCE_HAIR_COLOR 32 -#define APPEARANCE_FACIAL_HAIR 64 -#define APPEARANCE_FACIAL_HAIR_COLOR 128 -#define APPEARANCE_EYE_COLOR 256 -#define APPEARANCE_ALL_HAIR APPEARANCE_HAIR|APPEARANCE_HAIR_COLOR|APPEARANCE_FACIAL_HAIR|APPEARANCE_FACIAL_HAIR_COLOR -#define APPEARANCE_HEAD_ACCESSORY 512 -#define APPEARANCE_MARKINGS 1024 -#define APPEARANCE_BODY_ACCESSORY 2048 -#define APPEARANCE_ALL_BODY APPEARANCE_ALL_HAIR|APPEARANCE_HEAD_ACCESSORY|APPEARANCE_MARKINGS|APPEARANCE_BODY_ACCESSORY -#define APPEARANCE_ALL 4095 +#define APPEARANCE_SECONDARY_HAIR_COLOR 64 +#define APPEARANCE_FACIAL_HAIR 128 +#define APPEARANCE_FACIAL_HAIR_COLOR 256 +#define APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR 512 +#define APPEARANCE_EYE_COLOR 1024 +#define APPEARANCE_ALL_HAIR APPEARANCE_HAIR|APPEARANCE_HAIR_COLOR|APPEARANCE_SECONDARY_HAIR_COLOR|APPEARANCE_FACIAL_HAIR|APPEARANCE_FACIAL_HAIR_COLOR|APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR +#define APPEARANCE_HEAD_ACCESSORY 2048 +#define APPEARANCE_MARKINGS 4096 +#define APPEARANCE_BODY_ACCESSORY 8192 +#define APPEARANCE_ALT_HEAD 16384 +#define APPEARANCE_ALL_BODY APPEARANCE_ALL_HAIR|APPEARANCE_HEAD_ACCESSORY|APPEARANCE_MARKINGS|APPEARANCE_BODY_ACCESSORY|APPEARANCE_ALT_HEAD +#define APPEARANCE_ALL 32767 // Intents #define I_HELP "help" diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 7398518bb03..ed0b7887e5a 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -18,6 +18,8 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f) //socks init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f) + //alt heads + init_sprite_accessory_subtypes(/datum/sprite_accessory/alt_heads, alt_heads_list) init_subtypes(/datum/surgery_step, surgery_steps) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index d409d6e54c9..77d404a741a 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -3,6 +3,9 @@ var/global/list/head_accessory_styles_list = list() //stores /datum/sprite_accessory/head_accessory indexed by name //Marking styles var/global/list/marking_styles_list = list() //stores /datum/sprite_accessory/body_markings indexed by name +var/global/list/head_marking_styles_list = list() +var/global/list/body_marking_styles_list = list() +var/global/list/tail_marking_styles_list = list() //Hairstyles var/global/list/hair_styles_list = list() //stores /datum/sprite_accessory/hair indexed by name var/global/list/hair_styles_male_list = list() @@ -23,6 +26,8 @@ var/global/list/undershirt_f = list() //stores only undershirt name var/global/list/socks_list = list() //stores /datum/sprite_accessory/socks indexed by name var/global/list/socks_m = list() //stores only socks name var/global/list/socks_f = list() //stores only socks name + //Alt Heads +var/global/list/alt_heads_list = list() //stores /datum/sprite_accessory/alt_heads indexed by name //Backpacks var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt") diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index f9c3ce39b08..ea1a82fc6fd 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -140,7 +140,12 @@ proc/get_id_photo(var/mob/living/carbon/human/H) var/icon/temp temp = new /icon(icobase, "groin_[g]") preview_icon.Blend(temp, ICON_OVERLAY) - temp = new /icon(icobase, "head_[g]") + var/head = "head" + if(head_organ.alt_head && head_organ.species.bodyflags & HAS_ALT_HEADS) + var/datum/sprite_accessory/alt_heads/alternate_head = alt_heads_list[head_organ.alt_head] + if(alternate_head.icon_state) + head = alternate_head.icon_state + temp = new /icon(icobase, "[head]_[g]") preview_icon.Blend(temp, ICON_OVERLAY) //Tail @@ -182,6 +187,13 @@ proc/get_id_photo(var/mob/living/carbon/human/H) hair_s.Blend(rgb(H.r_skin, H.g_skin, H.b_skin, 160), ICON_ADD) else hair_s.Blend(rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair), ICON_ADD) + + if(hair_style.secondary_theme) + var/icon/hair_secondary_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_[hair_style.secondary_theme]_s") + if(!hair_style.no_sec_colour) + hair_secondary_s.Blend(rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec), ICON_ADD) + hair_s.Blend(hair_secondary_s, ICON_OVERLAY) + face_s.Blend(hair_s, ICON_OVERLAY) //Head Accessory @@ -199,15 +211,33 @@ proc/get_id_photo(var/mob/living/carbon/human/H) facial_s.Blend(rgb(H.r_skin, H.g_skin, H.b_skin, 160), ICON_ADD) else facial_s.Blend(rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial), ICON_ADD) + + if(facial_hair_style.secondary_theme) + var/icon/facial_secondary_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_[facial_hair_style.secondary_theme]_s") + if(!facial_hair_style.no_sec_colour) + facial_secondary_s.Blend(rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec), ICON_ADD) + facial_s.Blend(facial_secondary_s, ICON_OVERLAY) + face_s.Blend(facial_s, ICON_OVERLAY) //Markings - if(H.species.bodyflags & HAS_MARKINGS) - var/datum/sprite_accessory/marking_style = marking_styles_list[H.m_style] - if(marking_style && marking_style.species_allowed) - var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") - markings_s.Blend(rgb(H.r_markings, H.g_markings, H.b_markings), ICON_ADD) - face_s.Blend(markings_s, ICON_OVERLAY) + if((H.species.bodyflags & HAS_HEAD_MARKINGS) || (H.species.bodyflags & HAS_BODY_MARKINGS)) + var/list/marking_styles = params2list(H.m_styles) + var/list/marking_colours = params2list(H.m_colours) + if(H.species.bodyflags & HAS_BODY_MARKINGS) //Body markings. + var/body_marking = marking_styles["body"] + var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] + if(body_marking_style && body_marking_style.species_allowed) + var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") + b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) + face_s.Blend(b_marking_s, ICON_OVERLAY) + if(H.species.bodyflags & HAS_HEAD_MARKINGS) //Head markings. + var/head_marking = marking_styles["head"] + var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] + if(head_marking_style && head_marking_style.species_allowed) + var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") + h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + face_s.Blend(h_marking_s, ICON_OVERLAY) preview_icon.Blend(face_s, ICON_OVERLAY) diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 4224ad1aa5e..114fcb1598f 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -30,19 +30,27 @@ #define DNA_UI_HACC_R 11 #define DNA_UI_HACC_G 12 #define DNA_UI_HACC_B 13 -#define DNA_UI_MARK_R 14 -#define DNA_UI_MARK_G 15 -#define DNA_UI_MARK_B 16 -#define DNA_UI_EYES_R 17 -#define DNA_UI_EYES_G 18 -#define DNA_UI_EYES_B 19 -#define DNA_UI_GENDER 20 -#define DNA_UI_BEARD_STYLE 21 -#define DNA_UI_HAIR_STYLE 22 +#define DNA_UI_HEAD_MARK_R 14 +#define DNA_UI_HEAD_MARK_G 15 +#define DNA_UI_HEAD_MARK_B 16 +#define DNA_UI_BODY_MARK_R 17 +#define DNA_UI_BODY_MARK_G 18 +#define DNA_UI_BODY_MARK_B 19 +#define DNA_UI_TAIL_MARK_R 20 +#define DNA_UI_TAIL_MARK_G 21 +#define DNA_UI_TAIL_MARK_B 22 +#define DNA_UI_EYES_R 23 +#define DNA_UI_EYES_G 24 +#define DNA_UI_EYES_B 25 +#define DNA_UI_GENDER 26 +#define DNA_UI_BEARD_STYLE 27 +#define DNA_UI_HAIR_STYLE 28 /*#define DNA_UI_BACC_STYLE 23*/ -#define DNA_UI_HACC_STYLE 23 -#define DNA_UI_MARK_STYLE 24 -#define DNA_UI_LENGTH 24 // Update this when you add something, or you WILL break shit. +#define DNA_UI_HACC_STYLE 29 +#define DNA_UI_HEAD_MARK_STYLE 30 +#define DNA_UI_BODY_MARK_STYLE 31 +#define DNA_UI_TAIL_MARK_STYLE 32 +#define DNA_UI_LENGTH 32 // Update this when you add something, or you WILL break shit. #define DNA_SE_LENGTH 55 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow. @@ -154,9 +162,16 @@ var/global/list/bad_blocks[0] var/bodyacc = character.body_accessory*/ // Markings - if(!character.m_style) - character.m_style = "None" - var/marks = marking_styles_list.Find(character.m_style) + if(!character.m_styles) + character.m_styles = "head=None;\ + body=None;\ + tail=None" + + var/list/marking_styles = params2list(character.m_styles) + var/list/marking_colours = params2list(character.m_colours) + var/head_marks = marking_styles_list.Find(marking_styles["head"]) + var/body_marks = marking_styles_list.Find(marking_styles["body"]) + var/tail_marks = marking_styles_list.Find(marking_styles["tail"]) SetUIValueRange(DNA_UI_HAIR_R, H.r_hair, 255, 1) SetUIValueRange(DNA_UI_HAIR_G, H.g_hair, 255, 1) @@ -178,9 +193,17 @@ var/global/list/bad_blocks[0] SetUIValueRange(DNA_UI_HACC_G, H.g_headacc, 255, 1) SetUIValueRange(DNA_UI_HACC_B, H.b_headacc, 255, 1) - SetUIValueRange(DNA_UI_MARK_R, character.r_markings, 255, 1) - SetUIValueRange(DNA_UI_MARK_G, character.g_markings, 255, 1) - SetUIValueRange(DNA_UI_MARK_B, character.b_markings, 255, 1) + SetUIValueRange(DNA_UI_HEAD_MARK_R, hex2num(copytext(marking_colours["head"], 2, 4)), 255, 1) + SetUIValueRange(DNA_UI_HEAD_MARK_G, hex2num(copytext(marking_colours["head"], 4, 6)), 255, 1) + SetUIValueRange(DNA_UI_HEAD_MARK_B, hex2num(copytext(marking_colours["head"], 6, 8)), 255, 1) + + SetUIValueRange(DNA_UI_BODY_MARK_R, hex2num(copytext(marking_colours["body"], 2, 4)), 255, 1) + SetUIValueRange(DNA_UI_BODY_MARK_G, hex2num(copytext(marking_colours["body"], 4, 6)), 255, 1) + SetUIValueRange(DNA_UI_BODY_MARK_B, hex2num(copytext(marking_colours["body"], 6, 8)), 255, 1) + + SetUIValueRange(DNA_UI_TAIL_MARK_R, hex2num(copytext(marking_colours["tail"], 2, 4)), 255, 1) + SetUIValueRange(DNA_UI_TAIL_MARK_G, hex2num(copytext(marking_colours["tail"], 4, 6)), 255, 1) + SetUIValueRange(DNA_UI_TAIL_MARK_B, hex2num(copytext(marking_colours["tail"], 6, 8)), 255, 1) SetUIValueRange(DNA_UI_SKIN_TONE, 35-character.s_tone, 220, 1) // Value can be negative. @@ -190,7 +213,9 @@ var/global/list/bad_blocks[0] SetUIValueRange(DNA_UI_BEARD_STYLE, beard, facial_hair_styles_list.len, 1) /*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, facial_hair_styles_list.len, 1)*/ SetUIValueRange(DNA_UI_HACC_STYLE, headacc, head_accessory_styles_list.len, 1) - SetUIValueRange(DNA_UI_MARK_STYLE, marks, marking_styles_list.len, 1) + SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, marking_styles_list.len, 1) + SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, marking_styles_list.len, 1) + SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, marking_styles_list.len, 1) UpdateUI() diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 5bc984b11ac..9b0bd39dc9a 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -152,10 +152,10 @@ head_organ.g_headacc = dna.GetUIValueRange(DNA_UI_HACC_G, 255) head_organ.b_headacc = dna.GetUIValueRange(DNA_UI_HACC_B, 255) - H.r_markings = dna.GetUIValueRange(DNA_UI_MARK_R, 255) - H.g_markings = dna.GetUIValueRange(DNA_UI_MARK_G, 255) - H.b_markings = dna.GetUIValueRange(DNA_UI_MARK_B, 255) - + var/list/marking_colours = params2list(H.m_colours) + marking_colours["head"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_B,255),2)]" + marking_colours["body"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_B,255),2)]" + marking_colours["tail"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_B,255),2)]" H.update_eyes() @@ -181,16 +181,43 @@ if((0 < headacc) && (headacc <= head_accessory_styles_list.len)) head_organ.ha_style = head_accessory_styles_list[headacc] - //Markings - var/marks = dna.GetUIValueRange(DNA_UI_MARK_STYLE,marking_styles_list.len) - if((0 < marks) && (marks <= marking_styles_list.len)) - H.m_style = marking_styles_list[marks] + var/number_head_marks = 0 + var/number_body_marks = 0 + var/number_tail_marks = 0 + for(var/m in marking_styles_list) + var/datum/sprite_accessory/body_markings/marking = marking_styles_list[m] + if(marking.marking_location == "head") + number_head_marks++ + else if(marking.marking_location == "body") + number_body_marks++ + else if(marking.marking_location == "tail") + number_tail_marks++ + + //Head Markings + var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE,marking_styles_list.len) + if((0 < head_marks) && (head_marks <= number_head_marks)) + var/list/marking_styles = params2list(H.m_styles) + marking_styles["head"] = marking_styles_list[head_marks] + H.m_styles = list2params(marking_styles) + //Body Markings + var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE,marking_styles_list.len) + if((0 < body_marks) && (body_marks <= number_body_marks)) + var/list/marking_styles = params2list(H.m_styles) + marking_styles["body"] = marking_styles_list[body_marks] + H.m_styles = list2params(marking_styles) + //Tail Markings + var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE,marking_styles_list.len) + if((0 < tail_marks) && (tail_marks <= number_tail_marks)) + var/list/marking_styles = params2list(H.m_styles) + marking_styles["tail"] = marking_styles_list[tail_marks] + H.m_styles = list2params(marking_styles) H.force_update_limbs() H.update_eyes() H.update_hair() H.update_fhair() H.update_markings() + H.update_tail_layer() H.update_head_accessory() return 1 diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index 7ed7f3fea97..0f1c700a17f 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -46,63 +46,58 @@ var/new_eyes = input("Please select eye color.", "Character Generation", rgb(M.r_eyes,M.g_eyes,M.b_eyes)) as null|color if(new_eyes) - M.r_eyes = hex2num(copytext(new_eyes, 2, 4)) - M.g_eyes = hex2num(copytext(new_eyes, 4, 6)) - M.b_eyes = hex2num(copytext(new_eyes, 6, 8)) M.change_eye_color(M.r_eyes, M.g_eyes, M.b_eyes) + //Alt heads. + if(head_organ.species.bodyflags & HAS_ALT_HEADS) + var/list/valid_alt_heads = M.generate_valid_alt_heads() + var/new_alt_head = input("Please select alternate head", "Character Generation", head_organ.alt_head) as null|anything in valid_alt_heads + if(new_alt_head) + M.change_alt_head(new_alt_head) + // hair var/list/valid_hairstyles = M.generate_valid_hairstyles() var/new_style = input("Please select hair style", "Character Generation", head_organ.h_style) as null|anything in valid_hairstyles // if new style selected (not cancel) if(new_style) - head_organ.h_style = new_style + M.change_hair(new_style) var/new_hair = input("Please select hair color.", "Character Generation", rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair)) as null|color if(new_hair) - head_organ.r_hair = hex2num(copytext(new_hair, 2, 4)) - head_organ.g_hair = hex2num(copytext(new_hair, 4, 6)) - head_organ.b_hair = hex2num(copytext(new_hair, 6, 8)) + M.change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8))) + + var/datum/sprite_accessory/hair_style = hair_styles_list[head_organ.h_style] + if(hair_style.secondary_theme && !hair_style.no_sec_colour) + new_hair = input("Please select secondary hair color.", "Character Generation", rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec)) as null|color + M.change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8)), 1) // facial hair var/list/valid_facial_hairstyles = M.generate_valid_facial_hairstyles() new_style = input("Please select facial style", "Character Generation", head_organ.f_style) as null|anything in valid_facial_hairstyles if(new_style) - head_organ.f_style = new_style + M.change_facial_hair(new_style) var/new_facial = input("Please select facial hair color.", "Character Generation", rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial)) as null|color if(new_facial) - head_organ.r_facial = hex2num(copytext(new_facial, 2, 4)) - head_organ.g_facial = hex2num(copytext(new_facial, 4, 6)) - head_organ.b_facial = hex2num(copytext(new_facial, 6, 8)) + M.change_facial_hair_color(hex2num(copytext(new_facial, 2, 4)), hex2num(copytext(new_facial, 4, 6)), hex2num(copytext(new_facial, 6, 8))) + + var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[head_organ.f_style] + if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour) + new_facial = input("Please select secondary facial hair color.", "Character Generation", rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec)) as null|color + M.change_facial_hair_color(hex2num(copytext(new_facial, 2, 4)), hex2num(copytext(new_facial, 4, 6)), hex2num(copytext(new_facial, 6, 8)), 1) //Head accessory. if(head_organ.species.bodyflags & HAS_HEAD_ACCESSORY) var/list/valid_head_accessories = M.generate_valid_head_accessories() var/new_head_accessory = input("Please select head accessory style", "Character Generation", head_organ.ha_style) as null|anything in valid_head_accessories if(new_head_accessory) - head_organ.ha_style = new_head_accessory + M.change_head_accessory(new_head_accessory) var/new_head_accessory_colour = input("Please select head accessory colour.", "Character Generation", rgb(head_organ.r_headacc, head_organ.g_headacc, head_organ.b_headacc)) as null|color if(new_head_accessory_colour) - head_organ.r_headacc = hex2num(copytext(new_head_accessory_colour, 2, 4)) - head_organ.g_headacc = hex2num(copytext(new_head_accessory_colour, 4, 6)) - head_organ.b_headacc = hex2num(copytext(new_head_accessory_colour, 6, 8)) - - //Body markings. - if(M.species.bodyflags & HAS_MARKINGS) - var/list/valid_markings = M.generate_valid_markings() - var/new_marking = input("Please select marking style", "Character Generation", M.m_style) as null|anything in valid_markings - if(new_marking) - M.m_style = new_marking - - var/new_marking_colour = input("Please select marking colour.", "Character Generation", rgb(M.r_markings, M.g_markings, M.b_markings)) as null|color - if(new_marking_colour) - M.r_markings = hex2num(copytext(new_marking_colour, 2, 4)) - M.g_markings = hex2num(copytext(new_marking_colour, 4, 6)) - M.b_markings = hex2num(copytext(new_marking_colour, 6, 8)) + M.change_head_accessory_color(hex2num(copytext(new_head_accessory_colour, 2, 4)), hex2num(copytext(new_head_accessory_colour, 4, 6)), hex2num(copytext(new_head_accessory_colour, 6, 8))) //Body accessory. if(M.species.tail && M.species.bodyflags & HAS_TAIL) @@ -110,18 +105,60 @@ if(valid_body_accessories.len > 1) //By default valid_body_accessories will always have at the very least a 'none' entry populating the list, even if the user's species is not present in any of the list items. var/new_body_accessory = input("Please select body accessory style", "Character Generation", M.body_accessory) as null|anything in valid_body_accessories if(new_body_accessory) - M.body_accessory = body_accessory_by_name[new_body_accessory] + M.change_body_accessory(new_body_accessory) + + //Head markings. + if(M.species.bodyflags & HAS_HEAD_MARKINGS) + var/list/marking_styles = params2list(M.m_styles) + var/list/valid_head_markings = M.generate_valid_markings("head") + var/new_marking = input("Please select head marking style", "Character Generation", marking_styles["head"]) as null|anything in valid_head_markings + if(new_marking) + M.change_markings(new_marking, "head") + + var/list/marking_colours = params2list(M.m_colours) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + var/new_marking_colour = input("Please select head marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as null|color + if(new_marking_colour) + M.change_marking_color(new_marking_colour, "head") + //Body markings. + if(M.species.bodyflags & HAS_BODY_MARKINGS) + var/list/marking_styles = params2list(M.m_styles) + var/list/valid_body_markings = M.generate_valid_markings("body") + var/new_marking = input("Please select body marking style", "Character Generation", marking_styles["body"]) as null|anything in valid_body_markings + if(new_marking) + M.change_markings(new_marking, "body") + + var/list/marking_colours = params2list(M.m_colours) + marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) + var/new_marking_colour = input("Please select body marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as null|color + if(new_marking_colour) + M.change_marking_color(new_marking_colour, "body") + //Tail markings. + if(M.species.bodyflags & HAS_TAIL_MARKINGS) + var/list/marking_styles = params2list(M.m_styles) + var/list/valid_tail_markings = M.generate_valid_markings("tail") + var/new_marking = input("Please select tail marking style", "Character Generation", marking_styles["tail"]) as null|anything in valid_tail_markings + if(new_marking) + M.change_markings(new_marking, "tail") + + var/list/marking_colours = params2list(M.m_colours) + marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + var/new_marking_colour = input("Please select tail marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as null|color + if(new_marking_colour) + M.change_marking_color(new_marking_colour, "tail") //Skin tone. if(M.species.bodyflags & HAS_SKIN_TONE) var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation", M.s_tone) as null|text if(!new_tone) new_tone = 35 - M.s_tone = 35 - max(min(round(text2num(new_tone)), 220), 1) + else + new_tone = 35 - max(min(round(text2num(new_tone)), 220), 1) + M.change_skin_tone(new_tone) if(M.species.bodyflags & HAS_ICON_SKIN_TONE) var/prompt = "Please select skin tone: 1-[M.species.icon_skin_tones.len] (" - for(var/i = 1; i <= M.species.icon_skin_tones.len; i++) + for(var/i = 1 to M.species.icon_skin_tones.len) prompt += "[i] = [M.species.icon_skin_tones[i]]" if(i != M.species.icon_skin_tones.len) prompt += ", " @@ -130,18 +167,16 @@ var/new_tone = input(prompt, "Character Generation", M.s_tone) as null|text if(!new_tone) new_tone = 0 - M.s_tone = max(min(round(text2num(new_tone)), M.species.icon_skin_tones.len), 1) + else + new_tone = max(min(round(text2num(new_tone)), M.species.icon_skin_tones.len), 1) + M.change_skin_tone(new_tone) //Skin colour. if(M.species.bodyflags & HAS_SKIN_COLOR) var/new_body_colour = input("Please select body colour.", "Character Generation", rgb(M.r_skin, M.g_skin, M.b_skin)) as null|color if(new_body_colour) - M.r_skin = hex2num(copytext(new_body_colour, 2, 4)) - M.g_skin = hex2num(copytext(new_body_colour, 4, 6)) - M.b_skin = hex2num(copytext(new_body_colour, 6, 8)) + M.change_skin_color(hex2num(copytext(new_body_colour, 2, 4)), hex2num(copytext(new_body_colour, 4, 6)), hex2num(copytext(new_body_colour, 6, 8))) - M.force_update_limbs() - M.regenerate_icons() M.update_dna() M.visible_message("[src] morphs and changes [M.get_visible_gender() == MALE ? "his" : M.get_visible_gender() == FEMALE ? "her" : "their"] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index c28f472020d..5f0d31f9c26 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -110,18 +110,26 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/r_headacc = 0 //Head accessory colour var/g_headacc = 0 //Head accessory colour var/b_headacc = 0 //Head accessory colour - var/m_style = "None" //Marking style - var/r_markings = 0 //Marking colour - var/g_markings = 0 //Marking colour - var/b_markings = 0 //Marking colour + var/m_styles = "head=None;\ + body=None;\ + tail=None" //Marking styles. + var/m_colours = "head=#000000;\ + body=#000000;\ + tail=#000000" //Marking colours. var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color var/g_hair = 0 //Hair color var/b_hair = 0 //Hair color - var/f_style = "Shaved" //Face hair type - var/r_facial = 0 //Face hair color - var/g_facial = 0 //Face hair color - var/b_facial = 0 //Face hair color + var/r_hair_sec = 0 //Secondary hair color + var/g_hair_sec = 0 //Secondary hair color + var/b_hair_sec = 0 //Secondary hair color + var/f_style = "Shaved" //Facial hair type + var/r_facial = 0 //Facial hair color + var/g_facial = 0 //Facial hair color + var/b_facial = 0 //Facial hair color + var/r_facial_sec = 0 //Secondary facial hair color + var/g_facial_sec = 0 //Secondary facial hair color + var/b_facial_sec = 0 //Secondary facial hair color var/s_tone = 0 //Skin tone var/r_skin = 0 //Skin color var/g_skin = 0 //Skin color @@ -129,6 +137,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/r_eyes = 0 //Eye color var/g_eyes = 0 //Eye color var/b_eyes = 0 //Eye color + var/alt_head = "None" //Alt head style. var/species = "Human" var/language = "None" //Secondary language @@ -286,18 +295,44 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "[ha_style] " dat += "Color [color_square(r_headacc, g_headacc, b_headacc)]
" - if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species that have body markings. + if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. + var/list/marking_styles = params2list(m_styles) + var/list/marking_colours = params2list(m_colours) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + dat += "Head Markings: " + dat += "[marking_styles["head"]]" + dat += "Color [color_square(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))]
" + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. + var/list/marking_styles = params2list(m_styles) + var/list/marking_colours = params2list(m_colours) + marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) dat += "Body Markings: " - dat += "[m_style]" - dat += "Color [color_square(r_markings, g_markings, b_markings)]
" + dat += "[marking_styles["body"]]" + dat += "Color [color_square(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))]
" + if(species in list("Vox", "Vulpkanin")) //Species with tail markings. + var/list/marking_styles = params2list(m_styles) + var/list/marking_colours = params2list(m_colours) + marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + dat += "Tail Markings: " + dat += "[marking_styles["tail"]]" + dat += "Color [color_square(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))]
" dat += "Hair: " dat += "[h_style]" - dat += "Color [color_square(r_hair, g_hair, b_hair)]
" + dat += "Color [color_square(r_hair, g_hair, b_hair)]" + var/datum/sprite_accessory/temp_hair_style = hair_styles_list[h_style] + if(temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour) + dat += " Color #2 [color_square(r_hair_sec, g_hair_sec, b_hair_sec)]" + dat += "
" dat += "Facial Hair: " dat += "[f_style ? "[f_style]" : "Shaved"]" - dat += "Color [color_square(r_facial, g_facial, b_facial)]
" + dat += "Color [color_square(r_facial, g_facial, b_facial)]" + var/datum/sprite_accessory/temp_facial_hair_style = facial_hair_styles_list[f_style] + if(temp_facial_hair_style.secondary_theme && !temp_facial_hair_style.no_sec_colour) + dat += " Color #2 [color_square(r_facial_sec, g_facial_sec, b_facial_sec)]" + dat += "
" + if(species != "Machine") dat += "Eyes: " @@ -320,6 +355,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "Character Records
" dat += "

Limbs

" + if(species in list("Unathi")) //Species with alt heads. + dat += "Alternate Head: " + dat += "[alt_head]
" dat += "Limbs and Parts: Adjust
" if(species != "Slime People" && species != "Machine") dat += "Internal Organs: Adjust
" @@ -1161,7 +1199,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(new_age) age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) if("species") - var/list/new_species = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin") var/prev_species = species // var/whitelisted = 0 @@ -1231,9 +1268,18 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts socks = random_socks(gender, species) //reset hair colour and skin colour - r_hair = 0//hex2num(copytext(new_hair, 2, 4)) - g_hair = 0//hex2num(copytext(new_hair, 4, 6)) - b_hair = 0//hex2num(copytext(new_hair, 6, 8)) + r_hair = 0 + g_hair = 0 + b_hair = 0 + r_hair_sec = 0 + g_hair_sec = 0 + b_hair_sec = 0 + r_facial = 0 + g_facial = 0 + b_facial = 0 + r_facial_sec = 0 + g_facial_sec = 0 + b_facial_sec = 0 s_tone = 0 @@ -1243,7 +1289,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts b_skin = 0 ha_style = "None" // No Vulp ears on Unathi - m_style = "None" // No Unathi markings on Tajara + m_styles = "head=None;\ + body=None;\ + tail=None" // No Unathi markings on Tajara + + alt_head = "None" //No alt heads on species that don't have them. body_accessory = null //no vulptail on humans damnit @@ -1294,6 +1344,16 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts g_hair = hex2num(copytext(new_hair, 4, 6)) b_hair = hex2num(copytext(new_hair, 6, 8)) + if("secondary_hair") + if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) + var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] + if(hair_style.secondary_theme && !hair_style.no_sec_colour) + var/new_hair = input(user, "Choose your character's secondary hair colour:", "Character Preference", rgb(r_hair_sec, g_hair_sec, b_hair_sec)) as color|null + if(new_hair) + r_hair_sec = hex2num(copytext(new_hair, 2, 4)) + g_hair_sec = hex2num(copytext(new_hair, 4, 6)) + b_hair_sec = hex2num(copytext(new_hair, 6, 8)) + if("h_style") var/list/valid_hairstyles = list() for(var/hairstyle in hair_styles_list) @@ -1351,22 +1411,46 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(new_head_accessory_style) ha_style = new_head_accessory_style - if("markings") - if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species with markings. - var/input = "Choose the colour of your your character's markings:" - var/new_markings = input(user, input, "Character Preference", rgb(r_markings, g_markings, b_markings)) as color|null - if(new_markings) - r_markings = hex2num(copytext(new_markings, 2, 4)) - g_markings = hex2num(copytext(new_markings, 4, 6)) - b_markings = hex2num(copytext(new_markings, 6, 8)) + if("alt_head") + if(organ_data["head"] == "cyborg") + return + if(species in list("Unathi")) //Species with alt heads. + var/list/valid_alt_heads = list() + valid_alt_heads["None"] = alt_heads_list["None"] //The only null entry should be the "None" option + for(var/alternate_head in alt_heads_list) + var/datum/sprite_accessory/alt_heads/head = alt_heads_list[alternate_head] + if(!(species in head.species_allowed)) + continue - if("m_style") - if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species with markings. + valid_alt_heads[alternate_head] = alt_heads_list[alternate_head] + + var/new_alt_head = input(user, "Choose your character's alternate head style:", "Character Preference") as null|anything in valid_alt_heads + if(new_alt_head) + alt_head = new_alt_head + var/list/marking_styles = params2list(m_styles) + if(marking_styles["head"]) + var/head_marking = marking_styles["head"] + var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] + if(!head_marking_style.heads_allowed || !(alt_head in head_marking_style.heads_allowed)) + marking_styles["head"] = "None" + m_styles = list2params(marking_styles) + + if("m_style_head") + if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. var/list/valid_markings = list() + valid_markings["None"] = marking_styles_list["None"] for(var/markingstyle in marking_styles_list) - var/datum/sprite_accessory/M = marking_styles_list[markingstyle] + var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[markingstyle] if(!(species in M.species_allowed)) continue + if(M.marking_location != "head") + continue + if(alt_head && alt_head != "None") + if(!(alt_head in M.heads_allowed)) + continue + else + if(M.heads_allowed) + continue if(species == "Machine") //Species that can use prosthetic heads. var/obj/item/organ/external/head/H = new() @@ -1383,9 +1467,86 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts valid_markings[markingstyle] = marking_styles_list[markingstyle] - var/new_marking_style = input(user, "Choose the style of your character's markings:", "Character Preference", m_style) as null|anything in valid_markings + var/list/marking_styles = params2list(m_styles) + var/new_marking_style = input(user, "Choose the style of your character's head markings:", "Character Preference", marking_styles["head"]) as null|anything in valid_markings if(new_marking_style) - m_style = new_marking_style + marking_styles["head"] = new_marking_style + m_styles = list2params(marking_styles) + + if("m_head_colour") + if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. + var/input = "Choose the colour of your your character's head markings:" + var/list/marking_colours = params2list(m_colours) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null + if(new_markings) + marking_colours["head"] = new_markings + m_colours = list2params(marking_colours) + + if("m_style_body") + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. + var/list/valid_markings = list() + valid_markings["None"] = marking_styles_list["None"] + for(var/markingstyle in marking_styles_list) + var/datum/sprite_accessory/M = marking_styles_list[markingstyle] + if(!(species in M.species_allowed)) + continue + if(M.marking_location != "body") + continue + + valid_markings[markingstyle] = marking_styles_list[markingstyle] + + var/list/marking_styles = params2list(m_styles) + var/new_marking_style = input(user, "Choose the style of your character's body markings:", "Character Preference", marking_styles["body"]) as null|anything in valid_markings + if(new_marking_style) + marking_styles["body"] = new_marking_style + m_styles = list2params(marking_styles) + + if("m_body_colour") + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. + var/input = "Choose the colour of your your character's body markings:" + var/list/marking_colours = params2list(m_colours) + marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) + var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as color|null + if(new_markings) + marking_colours["body"] = new_markings + m_colours = list2params(marking_colours) + + if("m_style_tail") + if(species in list("Vox", "Vulpkanin")) //Species with tail markings. + var/list/valid_markings = list() + valid_markings["None"] = marking_styles_list["None"] + for(var/markingstyle in marking_styles_list) + var/datum/sprite_accessory/body_markings/tail/M = marking_styles_list[markingstyle] + if(M.marking_location != "tail") + continue + if(!(species in M.species_allowed)) + continue + if(!body_accessory) + if(M.tails_allowed) + continue + else + if(!M.tails_allowed || !(body_accessory in M.tails_allowed)) + continue + + valid_markings[markingstyle] = marking_styles_list[markingstyle] + + var/list/marking_styles = params2list(m_styles) + var/new_marking_style = input(user, "Choose the style of your character's tail markings:", "Character Preference", marking_styles["tail"]) as null|anything in valid_markings + + if(new_marking_style) + marking_styles["tail"] = new_marking_style + m_styles = list2params(marking_styles) + + if("m_tail_colour") + if(species in list("Vox", "Vulpkanin")) //Species with tail markings. + var/input = "Choose the colour of your your character's tail markings:" + var/list/marking_colours = params2list(m_colours) + marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as color|null + if(new_markings) + marking_colours["tail"] = new_markings + m_colours = list2params(marking_colours) if("body_accessory") var/list/possible_body_accessories = list() @@ -1402,6 +1563,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/new_body_accessory = input(user, "Choose your body accessory:", "Character Preference") as null|anything in possible_body_accessories if(new_body_accessory) + var/list/marking_styles = params2list(m_styles) + marking_styles["tail"] = "None" + m_styles = list2params(marking_styles) body_accessory = (new_body_accessory == "None") ? null : new_body_accessory if("facial") @@ -1412,6 +1576,16 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts g_facial = hex2num(copytext(new_facial, 4, 6)) b_facial = hex2num(copytext(new_facial, 6, 8)) + if("secondary_facial") + if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) + var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style] + if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour) + var/new_facial = input(user, "Choose your character's secondary facial-hair colour:", "Character Preference", rgb(r_facial_sec, g_facial_sec, b_facial_sec)) as color|null + if(new_facial) + r_facial_sec = hex2num(copytext(new_facial, 2, 4)) + g_facial_sec = hex2num(copytext(new_facial, 4, 6)) + b_facial_sec = hex2num(copytext(new_facial, 6, 8)) + if("f_style") var/list/valid_facialhairstyles = list() for(var/facialhairstyle in facial_hair_styles_list) @@ -1593,11 +1767,12 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in valid_limb_states if(!new_state) return + var/list/marking_styles = params2list(m_styles) //Handle resetting of head markings if the head is changed. switch(new_state) if("Normal") if(limb == "head") - m_style = "None" - h_style = random_hair_style(gender, species) + marking_styles["head"] = "None" + h_style = hair_styles_list["Bald"] f_style = facial_hair_styles_list["Shaved"] organ_data[limb] = null rlimb_data[limb] = null @@ -1642,11 +1817,15 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts subchoice = input(user, "Which model of [choice] [limb_name] do you wish to use?") as null|anything in robolimb_models if(subchoice) choice = subchoice - if(limb == "head") - ha_style = "None" - h_style = hair_styles_list["Bald"] - f_style = facial_hair_styles_list["Shaved"] - m_style = "None" + if(limb in list("head", "chest", "groin")) + if(species != "Machine") + return + if(limb == "head") + ha_style = "None" + alt_head = null + h_style = hair_styles_list["Bald"] + f_style = facial_hair_styles_list["Shaved"] + marking_styles["head"] = "None" rlimb_data[limb] = choice organ_data[limb] = "cyborg" if(second_limb) @@ -1657,7 +1836,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts else rlimb_data[second_limb] = choice organ_data[second_limb] = "cyborg" - + m_styles = list2params(marking_styles) //Pass the reset head markings back to the preference variable. if("organs") var/organ_name = input(user, "Which internal function do you want to change?") as null|anything in list("Heart", "Eyes") if(!organ_name) return @@ -1862,12 +2041,22 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts H.g_hair = g_hair H.b_hair = b_hair + H.r_hair_sec = r_hair_sec + H.g_hair_sec = g_hair_sec + H.b_hair_sec = b_hair_sec + H.r_facial = r_facial H.g_facial = g_facial H.b_facial = b_facial + H.r_facial_sec = r_facial_sec + H.g_facial_sec = g_facial_sec + H.b_facial_sec = b_facial_sec + H.h_style = h_style H.f_style = f_style + + H.alt_head = alt_head //End of head-specific. character.r_skin = r_skin @@ -1956,11 +2145,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts H.g_headacc = g_headacc H.b_headacc = b_headacc H.ha_style = ha_style - if(character.species.bodyflags & HAS_MARKINGS) - character.r_markings = r_markings - character.g_markings = g_markings - character.b_markings = b_markings - character.m_style = m_style + if((character.species.bodyflags & HAS_HEAD_MARKINGS) || (character.species.bodyflags & HAS_BODY_MARKINGS) || (character.species.bodyflags & HAS_TAIL_MARKINGS)) + character.m_colours = m_colours + character.m_styles = m_styles if(body_accessory) character.body_accessory = body_accessory_by_name["[body_accessory]"] diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index f72ac076dff..cd6177a08f1 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -110,23 +110,28 @@ hair_red, hair_green, hair_blue, + secondary_hair_red, + secondary_hair_green, + secondary_hair_blue, facial_red, facial_green, facial_blue, + secondary_facial_red, + secondary_facial_green, + secondary_facial_blue, skin_tone, skin_red, skin_green, skin_blue, - markings_red, - markings_green, - markings_blue, + marking_colours, head_accessory_red, head_accessory_green, head_accessory_blue, hair_style_name, facial_style_name, - marking_style_name, + marking_styles, head_accessory_style_name, + alt_head_name, eyes_red, eyes_green, eyes_blue, @@ -181,63 +186,68 @@ r_hair = text2num(query.item[8]) g_hair = text2num(query.item[9]) b_hair = text2num(query.item[10]) - r_facial = text2num(query.item[11]) - g_facial = text2num(query.item[12]) - b_facial = text2num(query.item[13]) - s_tone = text2num(query.item[14]) - r_skin = text2num(query.item[15]) - g_skin = text2num(query.item[16]) - b_skin = text2num(query.item[17]) - r_markings = text2num(query.item[18]) - g_markings = text2num(query.item[19]) - b_markings = text2num(query.item[20]) - r_headacc = text2num(query.item[21]) - g_headacc = text2num(query.item[22]) - b_headacc = text2num(query.item[23]) - h_style = query.item[24] - f_style = query.item[25] - m_style = query.item[26] - ha_style = query.item[27] - r_eyes = text2num(query.item[28]) - g_eyes = text2num(query.item[29]) - b_eyes = text2num(query.item[30]) - underwear = query.item[31] - undershirt = query.item[32] - backbag = text2num(query.item[33]) - b_type = query.item[34] + r_hair_sec = text2num(query.item[11]) + g_hair_sec = text2num(query.item[12]) + b_hair_sec = text2num(query.item[13]) + r_facial = text2num(query.item[14]) + g_facial = text2num(query.item[15]) + b_facial = text2num(query.item[16]) + r_facial_sec = text2num(query.item[17]) + g_facial_sec = text2num(query.item[18]) + b_facial_sec = text2num(query.item[19]) + s_tone = text2num(query.item[20]) + r_skin = text2num(query.item[21]) + g_skin = text2num(query.item[22]) + b_skin = text2num(query.item[23]) + m_colours = query.item[24] + r_headacc = text2num(query.item[25]) + g_headacc = text2num(query.item[26]) + b_headacc = text2num(query.item[27]) + h_style = query.item[28] + f_style = query.item[29] + m_styles = query.item[30] + ha_style = query.item[31] + alt_head = query.item[32] + r_eyes = text2num(query.item[33]) + g_eyes = text2num(query.item[34]) + b_eyes = text2num(query.item[35]) + underwear = query.item[36] + undershirt = query.item[37] + backbag = text2num(query.item[38]) + b_type = query.item[39] //Jobs - alternate_option = text2num(query.item[35]) - job_support_high = text2num(query.item[36]) - job_support_med = text2num(query.item[37]) - job_support_low = text2num(query.item[38]) - job_medsci_high = text2num(query.item[39]) - job_medsci_med = text2num(query.item[40]) - job_medsci_low = text2num(query.item[41]) - job_engsec_high = text2num(query.item[42]) - job_engsec_med = text2num(query.item[43]) - job_engsec_low = text2num(query.item[44]) - job_karma_high = text2num(query.item[45]) - job_karma_med = text2num(query.item[46]) - job_karma_low = text2num(query.item[47]) + alternate_option = text2num(query.item[40]) + job_support_high = text2num(query.item[41]) + job_support_med = text2num(query.item[42]) + job_support_low = text2num(query.item[43]) + job_medsci_high = text2num(query.item[44]) + job_medsci_med = text2num(query.item[45]) + job_medsci_low = text2num(query.item[46]) + job_engsec_high = text2num(query.item[47]) + job_engsec_med = text2num(query.item[48]) + job_engsec_low = text2num(query.item[49]) + job_karma_high = text2num(query.item[50]) + job_karma_med = text2num(query.item[51]) + job_karma_low = text2num(query.item[52]) //Miscellaneous - flavor_text = query.item[48] - med_record = query.item[49] - sec_record = query.item[50] - gen_record = query.item[51] - disabilities = text2num(query.item[52]) - player_alt_titles = params2list(query.item[53]) - organ_data = params2list(query.item[54]) - rlimb_data = params2list(query.item[55]) - nanotrasen_relation = query.item[56] - speciesprefs = text2num(query.item[57]) + flavor_text = query.item[53] + med_record = query.item[54] + sec_record = query.item[55] + gen_record = query.item[56] + disabilities = text2num(query.item[57]) + player_alt_titles = params2list(query.item[58]) + organ_data = params2list(query.item[59]) + rlimb_data = params2list(query.item[60]) + nanotrasen_relation = query.item[61] + speciesprefs = text2num(query.item[62]) //socks - socks = query.item[58] - body_accessory = query.item[59] - gear = params2list(query.item[60]) + socks = query.item[63] + body_accessory = query.item[64] + gear = params2list(query.item[65]) //Sanitize metadata = sanitize_text(metadata, initial(metadata)) @@ -253,23 +263,26 @@ r_hair = sanitize_integer(r_hair, 0, 255, initial(r_hair)) g_hair = sanitize_integer(g_hair, 0, 255, initial(g_hair)) b_hair = sanitize_integer(b_hair, 0, 255, initial(b_hair)) + r_hair_sec = sanitize_integer(r_hair_sec, 0, 255, initial(r_hair_sec)) + g_hair_sec = sanitize_integer(g_hair_sec, 0, 255, initial(g_hair_sec)) + b_hair_sec = sanitize_integer(b_hair_sec, 0, 255, initial(b_hair_sec)) r_facial = sanitize_integer(r_facial, 0, 255, initial(r_facial)) g_facial = sanitize_integer(g_facial, 0, 255, initial(g_facial)) b_facial = sanitize_integer(b_facial, 0, 255, initial(b_facial)) + r_facial_sec = sanitize_integer(r_facial_sec, 0, 255, initial(r_facial_sec)) + g_facial_sec = sanitize_integer(g_facial_sec, 0, 255, initial(g_facial_sec)) + b_facial_sec = sanitize_integer(b_facial_sec, 0, 255, initial(b_facial_sec)) s_tone = sanitize_integer(s_tone, -185, 34, initial(s_tone)) r_skin = sanitize_integer(r_skin, 0, 255, initial(r_skin)) g_skin = sanitize_integer(g_skin, 0, 255, initial(g_skin)) b_skin = sanitize_integer(b_skin, 0, 255, initial(b_skin)) - r_markings = sanitize_integer(r_markings, 0, 255, initial(r_markings)) - g_markings = sanitize_integer(g_markings, 0, 255, initial(g_markings)) - b_markings = sanitize_integer(b_markings, 0, 255, initial(b_markings)) r_headacc = sanitize_integer(r_headacc, 0, 255, initial(r_headacc)) g_headacc = sanitize_integer(g_headacc, 0, 255, initial(g_headacc)) b_headacc = sanitize_integer(b_headacc, 0, 255, initial(b_headacc)) h_style = sanitize_inlist(h_style, hair_styles_list, initial(h_style)) f_style = sanitize_inlist(f_style, facial_hair_styles_list, initial(f_style)) - m_style = sanitize_inlist(m_style, marking_styles_list, initial(m_style)) ha_style = sanitize_inlist(ha_style, head_accessory_styles_list, initial(ha_style)) + alt_head = sanitize_inlist(alt_head, alt_heads_list, initial(alt_head)) r_eyes = sanitize_integer(r_eyes, 0, 255, initial(r_eyes)) g_eyes = sanitize_integer(g_eyes, 0, 255, initial(g_eyes)) b_eyes = sanitize_integer(b_eyes, 0, 255, initial(b_eyes)) @@ -300,6 +313,8 @@ if(!player_alt_titles) player_alt_titles = new() if(!organ_data) src.organ_data = list() if(!rlimb_data) src.rlimb_data = list() + if(!m_colours) m_colours = initial(m_colours) + if(!m_styles) m_styles = initial(m_styles) if(!gear) gear = list() return 1 @@ -332,23 +347,28 @@ hair_red='[r_hair]', hair_green='[g_hair]', hair_blue='[b_hair]', + secondary_hair_red='[r_hair_sec]', + secondary_hair_green='[g_hair_sec]', + secondary_hair_blue='[b_hair_sec]', facial_red='[r_facial]', facial_green='[g_facial]', facial_blue='[b_facial]', + secondary_facial_red='[r_facial_sec]', + secondary_facial_green='[g_facial_sec]', + secondary_facial_blue='[b_facial_sec]', skin_tone='[s_tone]', skin_red='[r_skin]', skin_green='[g_skin]', skin_blue='[b_skin]', - markings_red='[r_markings]', - markings_green='[g_markings]', - markings_blue='[b_markings]', + marking_colours='[m_colours]', head_accessory_red='[r_headacc]', head_accessory_green='[g_headacc]', head_accessory_blue='[b_headacc]', hair_style_name='[sql_sanitize_text(h_style)]', facial_style_name='[sql_sanitize_text(f_style)]', - marking_style_name='[sql_sanitize_text(m_style)]', + marking_styles='[m_styles]', head_accessory_style_name='[sql_sanitize_text(ha_style)]', + alt_head_name='[sql_sanitize_text(alt_head)]', eyes_red='[r_eyes]', eyes_green='[g_eyes]', eyes_blue='[b_eyes]', @@ -397,11 +417,13 @@ INSERT INTO [format_table_name("characters")] (ckey, slot, OOC_Notes, real_name, name_is_always_random, gender, age, species, language, hair_red, hair_green, hair_blue, + secondary_hair_red, secondary_hair_green, secondary_hair_blue, facial_red, facial_green, facial_blue, + secondary_facial_red, secondary_facial_green, secondary_facial_blue, skin_tone, skin_red, skin_green, skin_blue, - markings_red, markings_green, markings_blue, + marking_colours, head_accessory_red, head_accessory_green, head_accessory_blue, - hair_style_name, facial_style_name, marking_style_name, head_accessory_style_name, + hair_style_name, facial_style_name, marking_styles, head_accessory_style_name, alt_head_name, eyes_red, eyes_green, eyes_blue, underwear, undershirt, backbag, b_type, alternate_option, @@ -418,11 +440,13 @@ ('[C.ckey]', '[default_slot]', '[sql_sanitize_text(metadata)]', '[sql_sanitize_text(real_name)]', '[be_random_name]','[gender]', '[age]', '[sql_sanitize_text(species)]', '[sql_sanitize_text(language)]', '[r_hair]', '[g_hair]', '[b_hair]', + '[r_hair_sec]', '[g_hair_sec]', '[b_hair_sec]', '[r_facial]', '[g_facial]', '[b_facial]', + '[r_facial_sec]', '[g_facial_sec]', '[b_facial_sec]', '[s_tone]', '[r_skin]', '[g_skin]', '[b_skin]', - '[r_markings]', '[g_markings]', '[b_markings]', + '[m_colours]', '[r_headacc]', '[g_headacc]', '[b_headacc]', - '[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]', '[sql_sanitize_text(m_style)]', '[sql_sanitize_text(ha_style)]', + '[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]', '[m_styles]', '[sql_sanitize_text(ha_style)]', '[sql_sanitize_text(alt_head)]', '[r_eyes]', '[g_eyes]', '[b_eyes]', '[underwear]', '[undershirt]', '[backbag]', '[b_type]', '[alternate_option]', diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index c7b9b3abdb6..07f8d6b7931 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -47,7 +47,8 @@ to_chat(user, "[target] has no skin, how do you expect to tattoo them?") return - if(target.m_style != "None") + var/list/marking_styles = params2list(target.m_styles) + if(marking_styles["body"] != "None") to_chat(user, "[target] already has body markings, any more would look silly!") return @@ -61,10 +62,12 @@ user.visible_message("[user] finishes the [tattoo_name] on [target].", "You finish the [tattoo_name].") if(!used) // No exploiting do_after to tattoo multiple folks. - target.m_style = tattoo_icon - target.r_markings = tattoo_r - target.g_markings = tattoo_g - target.b_markings = tattoo_b + var/list/marking_colours = params2list(target.m_colours) + marking_styles["body"] = tattoo_icon + marking_colours["body"] = "#[num2hex(tattoo_r,2)][num2hex(tattoo_g,2)][num2hex(tattoo_b,2)]" + + target.m_styles = list2params(marking_styles) + target.m_colours = list2params(marking_colours) target.update_markings() diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index ca241306f00..e94620c8b47 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -4,32 +4,26 @@ AC.ui_interact(user, state = state) /mob/living/carbon/human/proc/change_species(var/new_species) - if(!new_species) - return - - if(species == new_species) - return - - if(!(new_species in all_species)) + if(!new_species || species == new_species || !(new_species in all_species)) return set_species(new_species) reset_hair() return 1 -/mob/living/carbon/human/proc/change_gender(var/gender, var/update_dna = 1) +/mob/living/carbon/human/proc/change_gender(var/new_gender, var/update_dna = 1) var/obj/item/organ/external/head/H = organs_by_name["head"] - if(src.gender == gender) + if(gender == new_gender) return - src.gender = gender + gender = new_gender var/datum/sprite_accessory/hair/current_hair = hair_styles_list[H.h_style] - if(current_hair.gender != NEUTER && current_hair.gender != src.gender) + if(current_hair.gender != NEUTER && current_hair.gender != gender) reset_head_hair() var/datum/sprite_accessory/hair/current_fhair = facial_hair_styles_list[H.f_style] - if(current_fhair.gender != NEUTER && current_fhair.gender != src.gender) + if(current_fhair.gender != NEUTER && current_fhair.gender != gender) reset_facial_hair() if(update_dna) @@ -40,13 +34,7 @@ /mob/living/carbon/human/proc/change_hair(var/hair_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!hair_style) - return - - if(H.h_style == hair_style) - return - - if(!(hair_style in hair_styles_list)) + if(!hair_style || H.h_style == hair_style || !(hair_style in hair_styles_list)) return H.h_style = hair_style @@ -56,13 +44,7 @@ /mob/living/carbon/human/proc/change_facial_hair(var/facial_hair_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!facial_hair_style) - return - - if(H.f_style == facial_hair_style) - return - - if(!(facial_hair_style in facial_hair_styles_list)) + if(!facial_hair_style || H.f_style == facial_hair_style || !(facial_hair_style in facial_hair_styles_list)) return H.f_style = facial_hair_style @@ -72,13 +54,7 @@ /mob/living/carbon/human/proc/change_head_accessory(var/head_accessory_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!head_accessory_style) - return - - if(H.ha_style == head_accessory_style) - return - - if(!(head_accessory_style in head_accessory_styles_list)) + if(!head_accessory_style || H.ha_style == head_accessory_style || !(head_accessory_style in head_accessory_styles_list)) return H.ha_style = head_accessory_style @@ -86,49 +62,92 @@ update_head_accessory() return 1 -/mob/living/carbon/human/proc/change_markings(var/marking_style) - if(!marking_style) +/mob/living/carbon/human/proc/change_markings(var/marking_style, var/location = "body") + var/list/marking_styles = params2list(m_styles) + if(!marking_style || marking_styles[location] == marking_style || !(marking_style in marking_styles_list)) return - if(src.m_style == marking_style) + var/datum/sprite_accessory/body_markings/marking = marking_styles_list[marking_style] + if(marking.name != "None" && marking.marking_location != location) return - if(!(marking_style in marking_styles_list)) - return + var/obj/item/organ/external/head/head_organ = get_organ("head") + if(location == "head") + if(head_organ.alt_head && head_organ.alt_head != "None") + var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] + if(marking.name != "None" && (!H.heads_allowed || !(head_organ.alt_head in H.heads_allowed))) + return + else + if(!head_organ.alt_head || head_organ.alt_head == "None") + head_organ.alt_head = "None" + var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] + if(H.heads_allowed ) + return - src.m_style = marking_style + if(location == "tail" && marking.name != "None") + var/datum/sprite_accessory/body_markings/tail/tail_marking = marking_styles_list[marking_style] + if(!body_accessory) + if(tail_marking.tails_allowed) + return + else + if(!tail_marking.tails_allowed || !(body_accessory.name in tail_marking.tails_allowed)) + return - update_markings() + marking_styles[location] = marking_style + m_styles = list2params(marking_styles) + + if(location == "tail") + stop_tail_wagging() + else + update_markings() return 1 /mob/living/carbon/human/proc/change_body_accessory(var/body_accessory_style) var/found - if(!body_accessory_style) + if(!body_accessory_style || (body_accessory && body_accessory.name == body_accessory_style)) return - if(src.body_accessory) - if(src.body_accessory.name == body_accessory_style) - return - for(var/B in body_accessory_by_name) if(B == body_accessory_style) - src.body_accessory = body_accessory_by_name[body_accessory_style] + body_accessory = body_accessory_by_name[body_accessory_style] found = 1 if(!found) return + var/list/marking_styles = params2list(m_styles) + marking_styles["tail"] = "None" + m_styles = list2params(marking_styles) update_tail_layer() return 1 +/mob/living/carbon/human/proc/change_alt_head(var/alternate_head) + var/obj/item/organ/external/head/H = get_organ("head") + if(H.alt_head == alternate_head || (H.status & ORGAN_ROBOT) || (!(species.bodyflags & HAS_ALT_HEADS) && alternate_head != "None") || !(alternate_head in alt_heads_list)) + return + + H.alt_head = alternate_head + + //Handle head markings if they're incompatible with the new alt head. + var/list/marking_styles = params2list(m_styles) + if(marking_styles["head"]) + var/head_marking = marking_styles["head"] + var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] + if(!head_marking_style.heads_allowed || !(H.alt_head in head_marking_style.heads_allowed)) + marking_styles["head"] = "None" + m_styles = list2params(marking_styles) + update_markings() + + update_body(1, 1) //Update the body and force limb icon regeneration to update the head with the new icon. + return 1 + /mob/living/carbon/human/proc/reset_hair() reset_head_hair() reset_facial_hair() reset_head_accessory() - if(m_style && m_style != "None") //Resets the markings if they were head markings. - var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] - if(marking_style && marking_style.marking_location == "head") - reset_markings() + var/list/marking_styles = params2list(m_styles) + if(marking_styles["head"] && marking_styles["head"] != "None") //Resets head markings. + reset_markings() /mob/living/carbon/human/proc/reset_head_hair() var/obj/item/organ/external/head/H = get_organ("head") @@ -151,14 +170,30 @@ H.f_style = "Shaved" update_fhair() -/mob/living/carbon/human/proc/reset_markings() - var/list/valid_markings = generate_valid_markings() - if(valid_markings.len) - m_style = pick(valid_markings) +/mob/living/carbon/human/proc/reset_markings(var/location) + var/list/valid_markings + var/list/marking_styles = params2list(m_styles) + + if(location) + valid_markings = generate_valid_markings(location) + if(valid_markings.len) + marking_styles[location] = pick(valid_markings) + else + //this shouldn't happen + marking_styles[location] = "None" else - //this shouldn't happen - m_style = "None" + for(var/m_location in list("head", "body", "tail")) + valid_markings = generate_valid_markings(m_location) + if(valid_markings.len) + marking_styles[m_location] = pick(valid_markings) + else + //this shouldn't happen + marking_styles[m_location] = "None" + + m_styles = list2params(marking_styles) + update_markings() + stop_tail_wagging() /mob/living/carbon/human/proc/reset_head_accessory() var/obj/item/organ/external/head/H = get_organ("head") @@ -182,26 +217,42 @@ update_body() return 1 -/mob/living/carbon/human/proc/change_hair_color(var/red, var/green, var/blue) +/mob/living/carbon/human/proc/change_hair_color(var/red, var/green, var/blue, var/secondary) var/obj/item/organ/external/head/H = get_organ("head") - if(red == H.r_hair && green == H.g_hair && blue == H.b_hair) - return + if(!secondary) + if(red == H.r_hair && green == H.g_hair && blue == H.b_hair) + return - H.r_hair = red - H.g_hair = green - H.b_hair = blue + H.r_hair = red + H.g_hair = green + H.b_hair = blue + else + if(red == H.r_hair_sec && green == H.g_hair_sec && blue == H.b_hair_sec) + return + + H.r_hair_sec = red + H.g_hair_sec = green + H.b_hair_sec = blue update_hair() return 1 -/mob/living/carbon/human/proc/change_facial_hair_color(var/red, var/green, var/blue) +/mob/living/carbon/human/proc/change_facial_hair_color(var/red, var/green, var/blue, var/secondary) var/obj/item/organ/external/head/H = get_organ("head") - if(red == H.r_facial && green == H.g_facial && blue == H.b_facial) - return + if(!secondary) + if(red == H.r_facial && green == H.g_facial && blue == H.b_facial) + return - H.r_facial = red - H.g_facial = green - H.b_facial = blue + H.r_facial = red + H.g_facial = green + H.b_facial = blue + else + if(red == H.r_facial_sec && green == H.g_facial_sec && blue == H.b_facial_sec) + return + + H.r_facial_sec = red + H.g_facial_sec = green + H.b_facial_sec = blue update_fhair() return 1 @@ -218,15 +269,19 @@ update_head_accessory() return 1 -/mob/living/carbon/human/proc/change_marking_color(var/red, var/green, var/blue) - if(red == r_markings && green == g_markings && blue == b_markings) +/mob/living/carbon/human/proc/change_marking_color(var/colour, var/location = "body") + var/list/marking_colours = params2list(m_colours) + marking_colours[location] = sanitize_hexcolor(marking_colours[location]) + if(colour == marking_colours[location]) return - r_markings = red - g_markings = green - b_markings = blue + marking_colours[location] = colour + m_colours = list2params(marking_colours) - update_markings() + if(location == "tail") + update_tail_layer() + else + update_markings() return 1 @@ -279,9 +334,7 @@ for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] - if(gender == MALE && S.gender == FEMALE) - continue - if(gender == FEMALE && S.gender == MALE) + if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] @@ -313,9 +366,7 @@ for(var/facialhairstyle in facial_hair_styles_list) var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] - if(gender == MALE && S.gender == FEMALE) - continue - if(gender == FEMALE && S.gender == MALE) + if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] @@ -354,18 +405,37 @@ return valid_head_accessories -/mob/living/carbon/human/proc/generate_valid_markings() +/mob/living/carbon/human/proc/generate_valid_markings(var/location = "body") var/list/valid_markings = new() var/obj/item/organ/external/head/H = get_organ("head") for(var/marking in marking_styles_list) - var/datum/sprite_accessory/S = marking_styles_list[marking] - + var/datum/sprite_accessory/body_markings/S = marking_styles_list[marking] + if(S.name == "None") + valid_markings += marking + continue + if(S.marking_location != location) //If the marking isn't for the location we desire, skip. + continue if(!(species.name in S.species_allowed)) //If the user's head is not of a species the marking style allows, skip it. Otherwise, add it to the list. continue - if(H.species.flags & ALL_RPARTS) //If the user is a species that can have a robotic head... - var/datum/robolimb/robohead = all_robolimbs[H.model] - if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. - continue + if(location == "tail") + if(!body_accessory) + if(S.tails_allowed) + continue + else + if(!S.tails_allowed || !(body_accessory.name in S.tails_allowed)) + continue + if(location == "head") + var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[S.name] + if(H.species.flags & ALL_RPARTS)//If the user is a species that can have a robotic head... + var/datum/robolimb/robohead = all_robolimbs[H.model] + if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. + continue + else if(H.alt_head && H.alt_head != "None") //If the user's got an alt head, validate markings for that head. + if(!(H.alt_head in M.heads_allowed)) + continue + else + if(M.heads_allowed) + continue valid_markings += marking return valid_markings @@ -385,3 +455,15 @@ valid_body_accessories += B return valid_body_accessories + +/mob/living/carbon/human/proc/generate_valid_alt_heads() + var/list/valid_alt_heads = list() + valid_alt_heads["None"] = alt_heads_list["None"] //The only null entry should be the "None" option, and there should always be a "None" option. + for(var/alternate_head in alt_heads_list) + var/datum/sprite_accessory/alt_heads/head = alt_heads_list[alternate_head] + if(!(species.name in head.species_allowed)) + continue + + valid_alt_heads[alternate_head] = alt_heads_list[alternate_head] + + return valid_alt_heads \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/body_accessories.dm b/code/modules/mob/living/carbon/human/body_accessories.dm index f4b95eec4d4..8744a09ea4d 100644 --- a/code/modules/mob/living/carbon/human/body_accessories.dm +++ b/code/modules/mob/living/carbon/human/body_accessories.dm @@ -112,36 +112,30 @@ var/global/list/body_accessory_by_species = list("None" = null) //Vulpkanin /datum/body_accessory/tail/vulpkanin_2 name = "Vulpkanin Alt 1 (Bushy)" - icon_state = "vulptail2" animated_icon_state = "vulptail2_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_3 name = "Vulpkanin Alt 2 (Straight)" - icon_state = "vulptail3" animated_icon_state = "vulptail3_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_4 name = "Vulpkanin Alt 3 (Tiny)" - icon_state = "vulptail4" animated_icon_state = "vulptail4_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_5 name = "Vulpkanin Alt 4 (Short)" - icon_state = "vulptail5" animated_icon_state = "vulptail5_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_6 name = "Vulpkanin Alt 5 (Straight Bushy)" - icon_state = "vulptail6" animated_icon_state = "vulptail6_a" allowed_species = list("Vulpkanin") - diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c63c03d8321..ab176e6912f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1587,6 +1587,12 @@ H.g_headacc = 0 H.b_headacc = 0 + m_styles = initial(m_styles) //Wipes out markings, setting them all to "None". + m_colours = initial(m_styles) //Defaults colour to #00000 for all markings. + H.alt_head = "None" + H.ha_style = "None" + body_accessory = null + if(!dna) dna = new /datum/dna(null) dna.species = species.name @@ -1687,14 +1693,15 @@ if(!head_organ) return if(!robohead.is_monitor) //If they've got a prosthetic head and it isn't a monitor, they've no screen to adjust. Instead, let them change the colour of their optics! - var/optic_colour = input(src, "Select optic colour", rgb(r_markings, g_markings, b_markings)) as color|null + var/list/marking_colours = params2list(m_colours) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + var/optic_colour = input(src, "Select optic colour", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null if(incapacitated()) to_chat(src, "You were interrupted while changing the colour of your optics.") return if(optic_colour) - r_markings = hex2num(copytext(optic_colour, 2, 4)) - g_markings = hex2num(copytext(optic_colour, 4, 6)) - b_markings = hex2num(copytext(optic_colour, 6, 8)) + marking_colours["head"] = optic_colour + m_colours = list2params(marking_colours) update_markings() else if(robohead.is_monitor) //Means that the character's head is a monitor (has a screen). Time to customize. diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index a74409a9b44..0626c89fa1f 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -4,10 +4,12 @@ var/global/default_martial_art = new/datum/martial_art hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD,SPECIALROLE_HUD,NATIONS_HUD) //Marking colour and style - var/r_markings = 0 - var/g_markings = 0 - var/b_markings = 0 - var/m_style = "None" + var/m_colours = "head=#000000;\ + body=#000000;\ + tail=#000000" + var/m_styles = "head=None;\ + body=None;\ + tail=None" //Eye colour var/r_eyes = 0 diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 6268652f828..3577209ecd5 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -8,7 +8,7 @@ language = "Sol Common" flags = HAS_LIPS | CAN_BE_FAT clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_SKIN_TONE + bodyflags = HAS_SKIN_TONE | HAS_BODY_MARKINGS dietflags = DIET_OMNI unarmed_type = /datum/unarmed_attack/punch blurb = "Humanity originated in the Sol system, and over the last five centuries has spread \ @@ -40,7 +40,7 @@ flags = HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = FEET_CLAWS | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING + bodyflags = FEET_CLAWS | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_BODY_MARKINGS | HAS_HEAD_MARKINGS | HAS_SKIN_COLOR | HAS_ALT_HEADS | TAIL_WAGGING dietflags = DIET_CARN cold_level_1 = 280 //Default 260 - Lower is better @@ -112,13 +112,11 @@ flags = HAS_LIPS | CAN_BE_FAT clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = FEET_PADDED | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING | HAS_FUR + bodyflags = FEET_PADDED | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING | HAS_FUR dietflags = DIET_OMNI reagent_tag = PROCESS_ORG flesh_color = "#AFA59E" - base_color = "#333333" - //Default styles for created mobs. - default_headacc = "Tajaran Ears" + base_color = "#424242" butt_sprite = "tajaran" has_organ = list( @@ -164,11 +162,11 @@ flags = HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = FEET_PADDED | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING | HAS_FUR + bodyflags = FEET_PADDED | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS | HAS_SKIN_COLOR | HAS_FUR dietflags = DIET_OMNI reagent_tag = PROCESS_ORG flesh_color = "#966464" - base_color = "#B43214" + base_color = "#CF4D2F" butt_sprite = "vulp" has_organ = list( @@ -212,7 +210,7 @@ flags = HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_SKIN_COLOR + bodyflags = HAS_SKIN_COLOR | HAS_BODY_MARKINGS dietflags = DIET_HERB flesh_color = "#8CD7A3" blood_color = "#1D2CBF" @@ -287,7 +285,7 @@ flags = NO_SCAN | IS_WHITELISTED clothing_flags = HAS_SOCKS dietflags = DIET_OMNI - bodyflags = HAS_ICON_SKIN_TONE | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED + bodyflags = HAS_ICON_SKIN_TONE | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS blood_color = "#2299FC" flesh_color = "#808D11" @@ -704,6 +702,7 @@ flags = IS_WHITELISTED | HAS_LIPS | CAN_BE_FAT clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS + bodyflags = HAS_BODY_MARKINGS dietflags = DIET_HERB reagent_tag = PROCESS_ORG blood_color = "#A200FF" @@ -852,7 +851,7 @@ flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | NO_DNA | NO_POISON | RADIMMUNE | ALL_RPARTS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_SKIN_COLOR | HAS_MARKINGS | HAS_HEAD_ACCESSORY + bodyflags = HAS_SKIN_COLOR | HAS_HEAD_MARKINGS | HAS_HEAD_ACCESSORY dietflags = 0 //IPCs can't eat, so no diet blood_color = "#1F181F" flesh_color = "#AAAAAA" diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index b919912a6c1..130ea34f93d 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -212,15 +212,15 @@ var/global/list/damage_icon_parts = list() if(update_icons) update_icons() //BASE MOB SPRITE -/mob/living/carbon/human/proc/update_body(var/update_icons=1) +/mob/living/carbon/human/proc/update_body(var/update_icons=1, var/rebuild_base=0) var/husk_color_mod = rgb(96,88,80) var/hulk_color_mod = rgb(48,224,40) - var/husk = (HUSK in src.mutations) - var/fat = (FAT in src.mutations) - var/hulk = (HULK in src.mutations) - var/skeleton = (SKELETON in src.mutations) + var/husk = (HUSK in mutations) + var/fat = (FAT in mutations) + var/hulk = (HULK in mutations) + var/skeleton = (SKELETON in mutations) if(species && species.bodyflags & HAS_ICON_SKIN_TONE) species.updatespeciescolor(src) @@ -262,7 +262,7 @@ var/global/list/damage_icon_parts = list() icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]" var/icon/base_icon - if(human_icon_cache[icon_key]) + if(human_icon_cache[icon_key] && !rebuild_base) base_icon = human_icon_cache[icon_key] else //BEGIN CACHED ICON GENERATION. @@ -309,7 +309,7 @@ var/global/list/damage_icon_parts = list() //END CACHED ICON GENERATION. stand_icon.Blend(base_icon,ICON_OVERLAY) - if(src.species.bodyflags & TAIL_OVERLAPPED) // If the user's species is flagged to have a tail that needs to be overlapped by limbs... + if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the user's species is flagged to have a tail that needs to be overlapped by limbs... (having a non-tail body accessory like the snake body will override this) overlays_standing[LIMBS_LAYER] = image(stand_icon) // Diverts limbs to their own layer so they can overlay things (i.e. tails). else overlays_standing[LIMBS_LAYER] = null // So we don't get the old species' sprite splatted on top of the new one's @@ -360,29 +360,38 @@ var/global/list/damage_icon_parts = list() //MARKINGS OVERLAY /mob/living/carbon/human/proc/update_markings(var/update_icons=1) - //Reset our markings + //Reset our markings. overlays_standing[MARKINGS_LAYER] = null + //Base icon. + var/icon/markings_standing = new/icon('icons/mob/body_accessory.dmi',"accessory_none_s") + + //Prep marking styles and colours. + var/list/marking_styles = params2list(m_styles) + var/list/marking_colours = params2list(m_colours) + + //Body markings. var/obj/item/organ/external/chest/chest_organ = get_organ("chest") - if(!chest_organ || chest_organ.is_stump() || (chest_organ.status & ORGAN_DESTROYED) ) - if(update_icons) update_icons() - return - - //base icons - var/icon/markings_standing = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") - - if(m_style && m_style != "None") - var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] - if(marking_style) - var/obj/item/organ/external/head/head_organ = get_organ("head") - if((!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED)) && marking_style.marking_location == "head") - return //If the head is destroyed and it is the organ the marking is located on, get us out of here. This prevents floating optical markings on decapitated IPCs, for example. - var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") - if(marking_style.do_colouration) - markings_s.Blend(rgb(r_markings, g_markings, b_markings), ICON_ADD) - markings_standing.Blend(markings_s, ICON_OVERLAY) - else - //warning("Invalid m_style for [species.name]: [m_style]") + if(chest_organ && !chest_organ.is_stump() && !(chest_organ.status & ORGAN_DESTROYED) && marking_styles["body"]) + var/body_marking = marking_styles["body"] + var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] + if(body_marking_style && body_marking_style.species_allowed && (species.name in body_marking_style.species_allowed)) + var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") + if(body_marking_style.do_colouration) + marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) + b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) + markings_standing.Blend(b_marking_s, ICON_OVERLAY) + //Head markings. + var/obj/item/organ/external/head/head_organ = get_organ("head") + if(head_organ && !head_organ.is_stump() && !(head_organ.status & ORGAN_DESTROYED) && marking_styles["head"]) //If the head is destroyed, forget the head markings. This prevents floating optical markings on decapitated IPCs, for example. + var/head_marking = marking_styles["head"] + var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] + if(head_marking_style && head_marking_style.species_allowed && (head_organ.species.name in head_marking_style.species_allowed)) + var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") + if(head_marking_style.do_colouration) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + markings_standing.Blend(h_marking_s, ICON_OVERLAY) overlays_standing[MARKINGS_LAYER] = image(markings_standing) @@ -426,15 +435,15 @@ var/global/list/damage_icon_parts = list() //HAIR OVERLAY /mob/living/carbon/human/proc/update_hair(var/update_icons=1) //Reset our hair - overlays_standing[HAIR_LAYER] = null + overlays_standing[HAIR_LAYER] = null var/obj/item/organ/external/head/head_organ = get_organ("head") - if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED) ) + if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED)) if(update_icons) update_icons() return //masks and helmets can obscure our hair, unless we're a synthetic - if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if((head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) if(update_icons) update_icons() return @@ -454,13 +463,19 @@ var/global/list/damage_icon_parts = list() else if(hair_style.do_colouration) hair_s.Blend(rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair), ICON_ADD) + if(hair_style.secondary_theme) + var/icon/hair_secondary_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_[hair_style.secondary_theme]_s") + if(!hair_style.no_sec_colour) + hair_secondary_s.Blend(rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec), ICON_ADD) + hair_s.Blend(hair_secondary_s, ICON_OVERLAY) + hair_standing = hair_s //hair_standing.Blend(hair_s, ICON_OVERLAY) //Having it this way preserves animations. Useful for IPC screens. else //warning("Invalid h_style for [species.name]: [h_style]") //hair_standing.Blend(debrained_s, ICON_OVERLAY)//how does i overlay for fish? - overlays_standing[HAIR_LAYER] = image(hair_standing) + overlays_standing[HAIR_LAYER] = image(hair_standing) if(update_icons) update_icons() @@ -468,15 +483,15 @@ var/global/list/damage_icon_parts = list() //FACIAL HAIR OVERLAY /mob/living/carbon/human/proc/update_fhair(var/update_icons=1) //Reset our facial hair - overlays_standing[FHAIR_LAYER] = null + overlays_standing[FHAIR_LAYER] = null var/obj/item/organ/external/head/head_organ = get_organ("head") - if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED) ) + if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED)) if(update_icons) update_icons() return //masks and helmets can obscure our facial hair, unless we're a synthetic - if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if((head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) if(update_icons) update_icons() return @@ -492,11 +507,18 @@ var/global/list/damage_icon_parts = list() facial_s.Blend(rgb(r_skin, g_skin, b_skin, 160), ICON_AND) else if(facial_hair_style.do_colouration) facial_s.Blend(rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial), ICON_ADD) + + if(facial_hair_style.secondary_theme) + var/icon/facial_secondary_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_[facial_hair_style.secondary_theme]_s") + if(!facial_hair_style.no_sec_colour) + facial_secondary_s.Blend(rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec), ICON_ADD) + facial_s.Blend(facial_secondary_s, ICON_OVERLAY) + face_standing.Blend(facial_s, ICON_OVERLAY) else //warning("Invalid f_style for [species.name]: [f_style]") - overlays_standing[FHAIR_LAYER] = image(face_standing) + overlays_standing[FHAIR_LAYER] = image(face_standing) if(update_icons) update_icons() @@ -536,7 +558,7 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/update_mutantrace(var/update_icons=1) //BS12 EDIT - var/skel = (SKELETON in src.mutations) + var/skel = (SKELETON in mutations) if(skel) skeleton = 'icons/mob/human_races/r_skeleton.dmi' else @@ -562,7 +584,7 @@ var/global/list/damage_icon_parts = list() ..() if(notransform) return update_mutations(0) - update_body(0) + update_body(0, 1) //Update the body and force limb icon regeneration. update_hair(0) update_head_accessory(0) update_fhair(0) @@ -1053,7 +1075,7 @@ var/global/list/damage_icon_parts = list() clear_alert("legcuffed") if(legcuffed) overlays_standing[LEGCUFF_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "legcuff1") - throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = src.legcuffed) + throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed) if(m_intent != "walk") m_intent = "walk" if(hud_used && hud_used.move_intent) @@ -1121,71 +1143,69 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/update_tail_layer(var/update_icons=1) overlays_standing[TAIL_UNDERLIMBS_LAYER] = null // SEW direction icons, overlayed by LIMBS_LAYER. - overlays_standing[TAIL_LAYER] = null // This will be one of two things: - // If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. - // Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. + overlays_standing[TAIL_LAYER] = null /* This will be one of two things: + If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. + Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. */ + + var/list/marking_styles = params2list(m_styles) + var/icon/tail_marking_icon + var/datum/sprite_accessory/body_markings/tail/tail_marking_style + if(marking_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) + var/tail_marking = marking_styles["tail"] + var/list/marking_colours = params2list(m_colours) + marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + tail_marking_style = marking_styles_list[tail_marking] + tail_marking_icon = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s") + tail_marking_icon.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) if(body_accessory) if(body_accessory.try_restrictions(src)) var/icon/accessory_s = new/icon("icon" = body_accessory.icon, "icon_state" = body_accessory.icon_state) if(species.bodyflags & HAS_SKIN_COLOR) accessory_s.Blend(rgb(r_skin, g_skin, b_skin), body_accessory.blend_mode) - - if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... + if(tail_marking_icon && (body_accessory.name in tail_marking_style.tails_allowed)) + accessory_s.Blend(tail_marking_icon, ICON_OVERLAY) + if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/temp1 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") - if(species.name in body_accessory.allowed_species) - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") - temp1 = temp - else - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") - temp1 = temp + var/icon/under = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "accessory_none_s") + under.Insert(new/icon(accessory_s, dir=SOUTH), dir=SOUTH) + under.Insert(new/icon(accessory_s, dir=EAST), dir=EAST) + under.Insert(new/icon(accessory_s, dir=WEST), dir=WEST) - temp1.Insert(new/icon(accessory_s,dir=SOUTH),dir=SOUTH) - temp1.Insert(new/icon(accessory_s,dir=EAST),dir=EAST) - temp1.Insert(new/icon(accessory_s,dir=WEST),dir=WEST) - - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) // Creates a blank icon, and copies accessory_s' north direction sprite into it // before passing that to the tail layer that overlays uniforms and such. - var/icon/temp2 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") - if(species.name in body_accessory.allowed_species) - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") - temp2 = temp - else - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") - temp2 = temp + var/icon/over = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "accessory_none_s") + over.Insert(new/icon(accessory_s, dir=NORTH), dir=NORTH) - temp2.Insert(new/icon(accessory_s,dir=NORTH),dir=NORTH) - - overlays_standing[TAIL_LAYER] = image(temp2, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + overlays_standing[TAIL_LAYER] = image(over, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else if(species.tail && species.bodyflags & HAS_TAIL) //no tailless tajaran if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space)) var/icon/tail_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_s") if(species.bodyflags & HAS_SKIN_COLOR) tail_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - - if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... + if(tail_marking_icon) + tail_s.Blend(tail_marking_icon, ICON_OVERLAY) + if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/temp1 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") - temp1.Insert(new/icon(tail_s,dir=SOUTH),dir=SOUTH) - temp1.Insert(new/icon(tail_s,dir=EAST),dir=EAST) - temp1.Insert(new/icon(tail_s,dir=WEST),dir=WEST) + var/icon/under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "blank") + under.Insert(new/icon(tail_s, dir=SOUTH), dir=SOUTH) + under.Insert(new/icon(tail_s, dir=EAST), dir=EAST) + under.Insert(new/icon(tail_s, dir=WEST), dir=WEST) - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1) + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under) - // Creates a blank icon, and copies accessory_s' north direction sprite into it - // before passing that to the tail layer that overlays uniforms and such. - var/icon/temp2 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") - temp2.Insert(new/icon(tail_s,dir=NORTH),dir=NORTH) + // Creates a blank icon, and copies accessory_s' north direction sprite into it before passing that to the tail layer that overlays uniforms and such. + var/icon/over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "blank") + over.Insert(new/icon(tail_s, dir=NORTH), dir=NORTH) - overlays_standing[TAIL_LAYER] = image(temp2) + overlays_standing[TAIL_LAYER] = image(over) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(tail_s) + overlays_standing[TAIL_LAYER] = image(tail_s) if(update_icons) update_icons() @@ -1193,70 +1213,70 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/start_tail_wagging(var/update_icons=1) overlays_standing[TAIL_UNDERLIMBS_LAYER] = null // SEW direction icons, overlayed by LIMBS_LAYER. - overlays_standing[TAIL_LAYER] = null // This will be one of two things: - // If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. - // Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. + overlays_standing[TAIL_LAYER] = null /* This will be one of two things: + If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. + Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. */ + + var/list/marking_styles = params2list(m_styles) + var/icon/tail_marking_icon + var/datum/sprite_accessory/body_markings/tail/tail_marking_style + if(marking_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) + var/tail_marking = marking_styles["tail"] + var/list/marking_colours = params2list(m_colours) + marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + tail_marking_style = marking_styles_list[tail_marking] + tail_marking_icon = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]w_s") + tail_marking_icon.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) if(body_accessory) var/icon/accessory_s = new/icon("icon" = body_accessory.get_animated_icon(), "icon_state" = body_accessory.get_animated_icon_state()) if(species.bodyflags & HAS_SKIN_COLOR) accessory_s.Blend(rgb(r_skin, g_skin, b_skin), body_accessory.blend_mode) - - if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... + if(tail_marking_icon && (body_accessory.name in tail_marking_style.tails_allowed)) + accessory_s.Blend(tail_marking_icon, ICON_OVERLAY) + if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/temp1 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") - if(body_accessory.allowed_species) - if(species.name in body_accessory.allowed_species) - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") - temp1 = temp - else - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") - temp1 = temp + var/icon/under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "Vulpkanin_tail_delay") + if(body_accessory.allowed_species && (species.name in body_accessory.allowed_species)) + under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") + under.Insert(new/icon(accessory_s, dir=SOUTH), dir=SOUTH) + under.Insert(new/icon(accessory_s, dir=EAST), dir=EAST) + under.Insert(new/icon(accessory_s, dir=WEST), dir=WEST) - temp1.Insert(accessory_s,dir=SOUTH) - temp1.Insert(accessory_s,dir=EAST) - temp1.Insert(accessory_s,dir=WEST) + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + // Creates a blank icon, and copies accessory_s' north direction sprite into it before passing that to the tail layer that overlays uniforms and such. + var/icon/over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "Vulpkanin_tail_delay") + if(body_accessory.allowed_species && (species.name in body_accessory.allowed_species)) // If the user's species is in the list of allowed species for the currently selected body accessory, use the appropriate animation timing blank + over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") + over.Insert(new/icon(accessory_s, dir=NORTH), dir=NORTH) - // Creates a blank icon, and copies accessory_s' north direction sprite into it - // before passing that to the tail layer that overlays uniforms and such. - var/icon/temp2 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") - if(species.name in body_accessory.allowed_species) // If the user's species is in the list of allowed species for the currently selected body accessory, use the appropriate animation timing blank - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") - temp2 = temp - else // Else if the user's species is not in the list of allowed species for the currently selected body accessory, this point must have been reached by admin-override. Use vulpkanin timings as default. - var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") - temp2 = temp - - temp2.Insert(accessory_s,dir=NORTH) - - overlays_standing[TAIL_LAYER] = image(temp2, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + overlays_standing[TAIL_LAYER] = image(over, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else if(species.tail && species.bodyflags & HAS_TAIL) var/icon/tailw_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]w_s") if(species.bodyflags & HAS_SKIN_COLOR) tailw_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - - if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... + if(tail_marking_icon) + tailw_s.Blend(tail_marking_icon, ICON_OVERLAY) + if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/temp1 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") - temp1.Insert(tailw_s,dir=SOUTH) - temp1.Insert(tailw_s,dir=EAST) - temp1.Insert(tailw_s,dir=WEST) + var/icon/under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") + under.Insert(new/icon(tailw_s, dir=SOUTH), dir=SOUTH) + under.Insert(new/icon(tailw_s, dir=EAST), dir=EAST) + under.Insert(new/icon(tailw_s, dir=WEST), dir=WEST) - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1) + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under) - // Creates a blank icon, and copies accessory_s' north direction sprite into it - // before passing that to the tail layer that overlays uniforms and such. - var/icon/temp2 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") - temp2.Insert(tailw_s,dir=NORTH) + // Creates a blank icon, and copies accessory_s' north direction sprite into it before passing that to the tail layer that overlays uniforms and such. + var/icon/over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") + over.Insert(new/icon(tailw_s, dir=NORTH), dir=NORTH) - overlays_standing[TAIL_LAYER] = image(temp2) + overlays_standing[TAIL_LAYER] = image(over) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(tailw_s) + overlays_standing[TAIL_LAYER] = image(tailw_s) if(update_icons) update_icons() @@ -1282,17 +1302,15 @@ var/global/list/damage_icon_parts = list() if(wear_suit.icon_override) var/icon_path = "[wear_suit.icon_override]" icon_path = "[copytext(icon_path, 1, findtext(icon_path, "/suit.dmi"))]/collar.dmi" //If this file doesn't exist, the end result is that COLLAR_LAYER will be unchanged (empty). - var/icon/icon_file if(fexists(icon_path)) //Just ensuring the nonexistance of a file with the above path won't cause a runtime. - icon_file = new(icon_path) - standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") + var/icon/icon_file = new(icon_path) + standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.name]) var/icon_path = "[wear_suit.sprite_sheets[species.name]]" icon_path = "[copytext(icon_path, 1, findtext(icon_path, "/suit.dmi"))]/collar.dmi" //If this file doesn't exist, the end result is that COLLAR_LAYER will be unchanged (empty). - var/icon/icon_file if(fexists(icon_path)) //Just ensuring the nonexistance of a file with the above path won't cause a runtime. - icon_file = new(icon_path) - standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") + var/icon/icon_file = new(icon_path) + standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") else if(wear_suit.icon_state in C.IconStates()) standing = image("icon" = C, "icon_state" = "[wear_suit.icon_state]") diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index dc0916ee344..4c55cc9ba71 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -221,26 +221,12 @@ fat="_fat" preview_icon = new /icon(icobase, "torso_[g][fat]") preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) - preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) - - //Tail - if(current_species && (current_species.bodyflags & HAS_TAIL)) - var/tail_icon - var/tail_icon_state - - if(body_accessory) - var/datum/body_accessory/accessory = body_accessory_by_name[body_accessory] - tail_icon = accessory.icon - tail_icon_state = accessory.icon_state - else - tail_icon = "icons/effects/species.dmi" - if(coloured_tail) - tail_icon_state = "[coloured_tail]_s" - else - tail_icon_state = "[current_species.tail]_s" - - var/icon/temp = new /icon("icon" = tail_icon, "icon_state" = tail_icon_state) - preview_icon.Blend(temp, ICON_OVERLAY) + var/head = "head" + if(alt_head && current_species.bodyflags & HAS_ALT_HEADS) + var/datum/sprite_accessory/alt_heads/H = alt_heads_list[alt_head] + if(H.icon_state) + head = H.icon_state + preview_icon.Blend(new /icon(icobase, "[head]_[g]"), ICON_OVERLAY) for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) if(organ_data[name] == "amputated") continue @@ -265,13 +251,60 @@ else preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) - //Body Markings - if(current_species && (current_species.bodyflags & HAS_MARKINGS)) - var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] - if(marking_style && marking_style.species_allowed) - var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") - markings_s.Blend(rgb(r_markings, g_markings, b_markings), ICON_ADD) - preview_icon.Blend(markings_s, ICON_OVERLAY) + //Tail + if(current_species && (current_species.bodyflags & HAS_TAIL)) + var/tail_icon + var/tail_icon_state + + if(body_accessory) + var/datum/body_accessory/accessory = body_accessory_by_name[body_accessory] + tail_icon = accessory.icon + tail_icon_state = accessory.icon_state + else + tail_icon = "icons/effects/species.dmi" + if(coloured_tail) + tail_icon_state = "[coloured_tail]_s" + else + tail_icon_state = "[current_species.tail]_s" + + var/icon/temp = new /icon("icon" = tail_icon, "icon_state" = tail_icon_state) + + if(current_species && (current_species.bodyflags & HAS_SKIN_COLOR)) + temp.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) + + if(current_species && (current_species.bodyflags & HAS_TAIL_MARKINGS)) + var/list/marking_styles = params2list(m_styles) + var/list/marking_colours = params2list(m_colours) + var/tail_marking = marking_styles["tail"] + var/datum/sprite_accessory/tail_marking_style = marking_styles_list[tail_marking] + if(tail_marking_style && tail_marking_style.species_allowed) + marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + var/icon/t_marking_s = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s") + t_marking_s.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) + temp.Blend(t_marking_s, ICON_OVERLAY) + + preview_icon.Blend(temp, ICON_OVERLAY) + + //Markings + if(current_species && ((current_species.bodyflags & HAS_HEAD_MARKINGS) || (current_species.bodyflags & HAS_BODY_MARKINGS))) + var/list/marking_styles = params2list(m_styles) + var/list/marking_colours = params2list(m_colours) + if(current_species.bodyflags & HAS_BODY_MARKINGS) //Body markings. + var/body_marking = marking_styles["body"] + var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] + if(body_marking_style && body_marking_style.species_allowed) + marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) + var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") + b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) + preview_icon.Blend(b_marking_s, ICON_OVERLAY) + if(current_species.bodyflags & HAS_HEAD_MARKINGS) //Head markings. + var/head_marking = marking_styles["head"] + var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] + if(head_marking_style && head_marking_style.species_allowed) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") + h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + preview_icon.Blend(h_marking_s, ICON_OVERLAY) var/icon/face_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "bald_s") @@ -288,6 +321,13 @@ hair_s.Blend(rgb(r_skin, g_skin, b_skin, 160), ICON_ADD) else hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD) + + if(hair_style.secondary_theme) + var/icon/hair_secondary_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_[hair_style.secondary_theme]_s") + if(!hair_style.no_sec_colour) + hair_secondary_s.Blend(rgb(r_hair_sec, g_hair_sec, b_hair_sec), ICON_ADD) + hair_s.Blend(hair_secondary_s, ICON_OVERLAY) + face_s.Blend(hair_s, ICON_OVERLAY) //Head Accessory @@ -305,6 +345,13 @@ facial_s.Blend(rgb(r_skin, g_skin, b_skin, 160), ICON_ADD) else facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD) + + if(facial_hair_style.secondary_theme) + var/icon/facial_secondary_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_[facial_hair_style.secondary_theme]_s") + if(!facial_hair_style.no_sec_colour) + facial_secondary_s.Blend(rgb(r_facial_sec, g_facial_sec, b_facial_sec), ICON_ADD) + facial_s.Blend(facial_secondary_s, ICON_OVERLAY) + face_s.Blend(facial_s, ICON_OVERLAY) var/icon/underwear_s = null diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 3ade5970d03..21a4dab150b 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -43,8 +43,12 @@ // Restrict some styles to specific species var/list/species_allowed = list("Human", "Slime People") - var/models_allowed = list() //Specifies which, if any, hairstyles can be accessed by which prosthetics. Should equal the manufacturing company name in robolimbs.dm. + var/list/models_allowed = list() //Specifies which, if any, hairstyles or markings can be accessed by which prosthetics. Should equal the manufacturing company name in robolimbs.dm. + var/list/heads_allowed = null //Specifies which, if any, alt heads a head marking, hairstyle or facial hair style is compatible with. + var/list/tails_allowed = null //Specifies which, if any, tails a tail marking is compatible with. var/marking_location //Specifies which bodypart a body marking is located on. + var/secondary_theme = null //If exists, there's a secondary colour to that hair style and the secondary theme's icon state's suffix is equal to this. + var/no_sec_colour = null //If exists, prohibit the colouration of the secondary theme. // Whether or not the accessory can be affected by colouration var/do_colouration = 1 @@ -65,7 +69,7 @@ name = "Bald" icon_state = "bald" gender = MALE - species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton") + species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran") short name = "Short Hair" // try to capatilize the names please~ @@ -200,6 +204,18 @@ icon_state = "hair_hbraid" gender = FEMALE + braid_hip + name = "Hippie Braid" + icon_state = "hair_hipbraid" + species_allowed = list("Human") + secondary_theme = "beads" + + braid_hip_una + name = "Unathi Hippie Braid" + icon_state = "hair_ubraid" + species_allowed = list("Unathi") + secondary_theme = "beads" + buzz name = "Buzzcut" icon_state = "hair_buzzcut" @@ -241,9 +257,9 @@ icon_state = "hair_bigafro" gender = MALE - sargeant + sergeant name = "Flat Top" - icon_state = "hair_sargeant" + icon_state = "hair_sergeant" gender = MALE emo @@ -298,7 +314,7 @@ icon_state = "hair_spikey" species_allowed = list("Human", "Unathi") - kusangi + kusanagi name = "Kusanagi Hair" icon_state = "hair_kusanagi" @@ -689,95 +705,117 @@ skr_gold_m name = "Gold plated Skrell Male Tentacles" - icon_state = "skrell_goldhair_m" + icon_state = "skrell_hair_m" species_allowed = list("Skrell") gender = MALE + secondary_theme = "gold" + no_sec_colour = 1 skr_gold_f name = "Gold chained Skrell Female Tentacles" - icon_state = "skrell_goldhair_f" + icon_state = "skrell_hair_f" species_allowed = list("Skrell") gender = FEMALE + secondary_theme = "gold" + no_sec_colour = 1 + skr_clothtentacle_m name = "Cloth draped Skrell Male Tentacles" - icon_state = "skrell_clothhair_m" + icon_state = "skrell_hair_m" species_allowed = list("Skrell") gender = MALE + secondary_theme = "cloth" skr_clothtentacle_f name = "Cloth draped Skrell Female Tentacles" - icon_state = "skrell_clothhair_f" + icon_state = "skrell_hair_f" species_allowed = list("Skrell") gender = FEMALE + secondary_theme = "cloth" - taj_ears - name = "Tajaran Ears" - icon_state = "ears_plain" - species_allowed = list("Tajaran") - - taj_ears_clean + taj_hair_clean name = "Tajara Clean" icon_state = "hair_clean" species_allowed = list("Tajaran") - taj_ears_bangs + taj_hair_bangs name = "Tajara Bangs" icon_state = "hair_bangs" species_allowed = list("Tajaran") - taj_ears_braid + taj_hair_braid name = "Tajara Braid" icon_state = "hair_tbraid" species_allowed = list("Tajaran") + secondary_theme = "beads" - taj_ears_shaggy + taj_hair_shaggy name = "Tajara Shaggy" icon_state = "hair_shaggy" species_allowed = list("Tajaran") - taj_ears_mohawk + taj_hair_mohawk name = "Tajaran Mohawk" icon_state = "hair_mohawk" species_allowed = list("Tajaran") - taj_ears_plait + taj_hair_plait name = "Tajara Plait" icon_state = "hair_plait" species_allowed = list("Tajaran") - taj_ears_straight + taj_hair_straight name = "Tajara Straight" icon_state = "hair_straight" species_allowed = list("Tajaran") - taj_ears_long + taj_hair_long name = "Tajara Long" icon_state = "hair_long" species_allowed = list("Tajaran") - taj_ears_rattail + taj_hair_rattail name = "Tajara Rat Tail" icon_state = "hair_rattail" species_allowed = list("Tajaran") - taj_ears_spiky - name = "Tajara Spiky" - icon_state = "hair_tajspiky" + taj_hair_spiky + name = "Tajara Spikey" + icon_state = "hair_tajspikey" species_allowed = list("Tajaran") - taj_ears_messy + taj_hair_messy name = "Tajara Messy" icon_state = "hair_messy" species_allowed = list("Tajaran") + taj_hair_curls + name = "Tajara Curly" + icon_state = "hair_curly" + species_allowed = list("Tajaran") + + taj_hair_retro + name = "Tajaran Ladies' Retro" + icon_state = "hair_ladies_retro" + species_allowed = list("Tajaran") + + taj_hair_victory + name = "Tajara Victory Curls" + icon_state = "hair_victory" + species_allowed = list("Tajaran") + + taj_hair_bob + name = "Tajara Bob" + icon_state = "hair_tbob" + species_allowed = list("Tajaran") + + taj_hair_fingercurl + name = "Tajara Finger Curls" + icon_state = "hair_fingerwave" + species_allowed = list("Tajaran") + //Vulpkanin - - vulp_hair_none - name = "None" - icon_state = "bald" - species_allowed = list("Vulpkanin") - vulp_hair_kajam name = "Kajam" icon_state = "kajam" @@ -812,6 +850,7 @@ name = "Belle" icon_state = "belle" species_allowed = list("Vulpkanin") + secondary_theme = "bands" vulp_hair_bun name = "Bun" @@ -848,6 +887,12 @@ icon_state = "spike" species_allowed = list("Vulpkanin") + vulp_hair_braided + name = "Braided" + icon_state = "braided" + species_allowed = list("Vulpkanin") + secondary_theme = "beads" + //Vox vox_quills_short @@ -1081,6 +1126,12 @@ species_allowed = list("Unathi") gender = NEUTER + una_frills_aquatic + name = "Aquatic Frills" + icon_state = "soghun_aquaticfrills" + species_allowed = list("Unathi") + gender = NEUTER + una_frills_long name = "Long Frills" icon_state = "soghun_longfrills" @@ -1093,22 +1144,25 @@ species_allowed = list("Unathi") gender = NEUTER + una_frills_webbed_aquatic + name = "Aquatic Webbed Frills" + icon_state = "soghun_aquaticfrills" + species_allowed = list("Unathi") + secondary_theme = "webbing" + gender = NEUTER + una_frills_webbed_long name = "Long Webbed Frills" - icon_state = "soghun_longfrills_webbed" + icon_state = "soghun_longfrills" species_allowed = list("Unathi") + secondary_theme = "webbing" gender = NEUTER una_frills_webbed_short name = "Short Webbed Frills" - icon_state = "soghun_shortfrills_webbed" - species_allowed = list("Unathi") - gender = NEUTER - - una_frills_webbed_aquatic - name = "Aquatic Frills" - icon_state = "soghun_aquaticfrills_webbed" + icon_state = "soghun_shortfrills" species_allowed = list("Unathi") + secondary_theme = "webbing" gender = NEUTER @@ -1793,6 +1847,26 @@ species_allowed = list("Unathi") icon_state = "horns_ram" +/datum/sprite_accessory/head_accessory/outears_taj + name = "Tajaran Outer Ears" + species_allowed = list("Tajaran") + icon_state = "markings_face_outears_taj" + +/datum/sprite_accessory/head_accessory/inears_taj + name = "Tajaran Inner Ears" + species_allowed = list("Tajaran") + icon_state = "markings_face_inears_taj" + +/datum/sprite_accessory/head_accessory/muzzle_taj + name = "Tajaran Muzzle" + species_allowed = list("Tajaran") + icon_state = "markings_face_muzzle_taj" + +/datum/sprite_accessory/head_accessory/muzzle_and_inears_taj + name = "Tajaran Muzzle and Inner Ears" + species_allowed = list("Tajaran") + icon_state = "markings_face_muzzle_and_inears_taj" + /datum/sprite_accessory/head_accessory/vulp_earfluff icon = 'icons/mob/human_face.dmi' name = "Vulpkanin Earfluff" @@ -1847,6 +1921,12 @@ icon_state = "vulp_facial_swift" species_allowed = list("Vulpkanin") +/datum/sprite_accessory/head_accessory/vulp_nose + icon = 'icons/mob/body_accessory.dmi' + name = "Vulpkanin Nose" + species_allowed = list("Vulpkanin") + icon_state = "markings_face_nose_vulp" + /datum/sprite_accessory/head_accessory/taj_ears icon = 'icons/mob/human_face.dmi' name = "Tajaran Ears" @@ -1878,70 +1958,274 @@ /datum/sprite_accessory/body_markings icon = 'icons/mob/body_accessory.dmi' - species_allowed = list("Unathi", "Tajaran", "Vulpkanin", "Machine") + species_allowed = list("Unathi", "Tajaran", "Vulpkanin", "Machine", "Vox") icon_state = "accessory_none" + marking_location = "body" /datum/sprite_accessory/body_markings/none name = "None" species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton", "Vox") icon_state = "accessory_none" -/datum/sprite_accessory/body_markings/stripe - name = "Stripe" - species_allowed = list("Unathi") - icon_state = "markings_stripe" - /datum/sprite_accessory/body_markings/tiger name = "Tiger Body" species_allowed = list("Unathi", "Tajaran", "Vulpkanin") icon_state = "markings_tiger" -/datum/sprite_accessory/body_markings/tigerhead - name = "Tiger Body and Head" - species_allowed = list("Unathi", "Tajaran", "Vulpkanin") - icon_state = "markings_tigerhead" - -/datum/sprite_accessory/body_markings/tigerheadface_taj - name = "Tajaran Tiger Body, Head and Face" - species_allowed = list("Tajaran") - icon_state = "markings_tigerheadface_taj" - -/datum/sprite_accessory/body_markings/tigerheadface_vulp - name = "Vulpkanin Tiger Body, Head and Face" - species_allowed = list("Vulpkanin") - icon_state = "markings_tigerheadface_vulp" - -/datum/sprite_accessory/body_markings/tigerheadface_una - name = "Unathi Tiger Body, Head and Face" +/datum/sprite_accessory/body_markings/stripe_una + name = "Unathi Stripe" species_allowed = list("Unathi") - icon_state = "markings_tigerheadface_una" + icon_state = "markings_stripe_una" -/datum/sprite_accessory/body_markings/optics +/datum/sprite_accessory/body_markings/belly_narrow_una + name = "Unathi Belly" + species_allowed = list("Unathi") + icon_state = "markings_belly_narrow_una" + +/datum/sprite_accessory/body_markings/banded_una + name = "Unathi Banded" + species_allowed = list("Unathi") + icon_state = "markings_banded_una" + +/datum/sprite_accessory/body_markings/points_una + name = "Unathi Points" + species_allowed = list("Unathi") + icon_state = "markings_points_una" + +/datum/sprite_accessory/body_markings/belly_flat_taj + name = "Tajaran Belly" + species_allowed = list("Tajaran") + icon_state = "markings_belly_flat_taj" + +/datum/sprite_accessory/body_markings/belly_crest_taj + name = "Tajaran Chest Crest" + species_allowed = list("Tajaran") + icon_state = "markings_belly_crest_taj" + +/datum/sprite_accessory/body_markings/belly_full_taj + name = "Tajaran Belly 2" + species_allowed = list("Tajaran") + icon_state = "markings_belly_full_taj" + +/datum/sprite_accessory/body_markings/points_taj + name = "Tajaran Points" + species_allowed = list("Tajaran") + icon_state = "markings_points_taj" + +/datum/sprite_accessory/body_markings/patchy_taj + name = "Tajaran Patches" + species_allowed = list("Tajaran") + icon_state = "markings_patch_taj" + +/datum/sprite_accessory/body_markings/belly_fox_vulp + name = "Vulpkanin Belly" + species_allowed = list("Vulpkanin") + icon_state = "markings_belly_fox_vulp" + +/datum/sprite_accessory/body_markings/belly_full_vulp + name = "Vulpkanin Belly 2" + species_allowed = list("Vulpkanin") + icon_state = "markings_belly_full_vulp" + +/datum/sprite_accessory/body_markings/belly_crest_vulp + name = "Vulpkanin Belly Crest" + species_allowed = list("Vulpkanin") + icon_state = "markings_belly_crest_vulp" + +/datum/sprite_accessory/body_markings/points_fade_vulp + name = "Vulpkanin Points" + species_allowed = list("Vulpkanin") + icon_state = "markings_points_fade_vulp" + +/datum/sprite_accessory/body_markings/points_fade_belly_vulp + name = "Vulpkanin Points and Belly" + species_allowed = list("Vulpkanin") + icon_state = "markings_points_fade_belly_vulp" + +/datum/sprite_accessory/body_markings/points_sharp_vulp + name = "Vulpkanin Points 2" + species_allowed = list("Vulpkanin") + icon_state = "markings_points_sharp_vulp" + +/datum/sprite_accessory/body_markings/head + marking_location = "head" + species_allowed = list() + +/datum/sprite_accessory/body_markings/head/tiger_head_taj + name = "Tajaran Tiger Head" + species_allowed = list("Tajaran") + icon_state = "markings_head_tiger_taj" + +/datum/sprite_accessory/body_markings/head/tiger_face_taj + name = "Tajaran Tiger Head and Face" + species_allowed = list("Tajaran") + icon_state = "markings_face_tiger_taj" + +/datum/sprite_accessory/body_markings/head/outears_taj + name = "Tajaran Outer Ears" + species_allowed = list("Tajaran") + icon_state = "markings_face_outears_taj" + +/datum/sprite_accessory/body_markings/head/inears_taj + name = "Tajaran Inner Ears" + species_allowed = list("Tajaran") + icon_state = "markings_face_inears_taj" + +/datum/sprite_accessory/body_markings/head/nose_taj + name = "Tajaran Nose" + species_allowed = list("Tajaran") + icon_state = "markings_face_nose_taj" + +/datum/sprite_accessory/body_markings/head/muzzle_taj + name = "Tajaran Muzzle" + species_allowed = list("Tajaran") + icon_state = "markings_face_muzzle_taj" + +/datum/sprite_accessory/body_markings/head/muzzle_and_inears_taj + name = "Tajaran Muzzle and Inner Ears" + species_allowed = list("Tajaran") + icon_state = "markings_face_muzzle_and_inears_taj" + +/datum/sprite_accessory/body_markings/head/muzzle_alt_taj //Companion marking for Tajaran Belly 2. + name = "Tajaran Muzzle 2" + species_allowed = list("Tajaran") + icon_state = "markings_face_full_taj" + +/datum/sprite_accessory/body_markings/head/points_taj //Companion marking for Tajaran Points. + name = "Tajaran Points Head" + species_allowed = list("Tajaran") + icon_state = "markings_face_points_taj" + +/datum/sprite_accessory/body_markings/head/patchy_taj //Companion marking for Tajaran Patches. + name = "Tajaran Patches Head" + species_allowed = list("Tajaran") + icon_state = "markings_face_patch_taj" + +/datum/sprite_accessory/body_markings/head/tiger_head_vulp + name = "Vulpkanin Tiger Head" + species_allowed = list("Vulpkanin") + icon_state = "markings_head_tiger_vulp" + +/datum/sprite_accessory/body_markings/head/tiger_face_vulp + name = "Vulpkanin Tiger Head and Face" + species_allowed = list("Vulpkanin") + icon_state = "markings_face_tiger_vulp" + +/datum/sprite_accessory/body_markings/head/nose_default_vulp + name = "Vulpkanin Nose" + species_allowed = list("Vulpkanin") + icon_state = "markings_face_nose_vulp" + +/datum/sprite_accessory/body_markings/head/muzzle_vulp //Companion marking for Vulpkanin Belly Alt.. + name = "Vulpkanin Muzzle" + species_allowed = list("Vulpkanin") + icon_state = "markings_face_full_vulp" + +/datum/sprite_accessory/body_markings/head/muzzle_ears_vulp //Companion marking for Vulpkanin Belly Alt.. + name = "Vulpkanin Muzzle and Ears" + species_allowed = list("Vulpkanin") + icon_state = "markings_face_full_ears_vulp" + +/datum/sprite_accessory/body_markings/head/points_fade_vulp //Companion marking for Vulpkanin Points Fade. + name = "Vulpkanin Points Head" + species_allowed = list("Vulpkanin") + icon_state = "markings_face_points_fade_vulp" + +/datum/sprite_accessory/body_markings/head/points_sharp_vulp //Companion marking for Vulpkanin Points Sharp. + name = "Vulpkanin Points Head 2" + species_allowed = list("Vulpkanin") + icon_state = "markings_face_points_sharp_vulp" + +/datum/sprite_accessory/body_markings/head/tiger_head_una + name = "Unathi Tiger Head" + species_allowed = list("Unathi") + icon_state = "markings_head_tiger_una" + +/datum/sprite_accessory/body_markings/head/tiger_face_una + name = "Unathi Tiger Head and Face" + species_allowed = list("Unathi") + icon_state = "markings_face_tiger_una" + +/datum/sprite_accessory/body_markings/head/tiger_face_una_sharp + name = "Unathi Sharp Tiger Head and Face" + species_allowed = list("Unathi") + icon_state = "markings_face_tiger_una_sharp" + heads_allowed = list("Unathi Sharp Snout") + +/datum/sprite_accessory/body_markings/head/snout_una_round + name = "Unathi Round Snout" + species_allowed = list("Unathi") + icon_state = "markings_face_snout_una_round" + +/datum/sprite_accessory/body_markings/head/snout_lower_una_round + name = "Unathi Lower Round Snout" + species_allowed = list("Unathi") + icon_state = "markings_face_snout_lower_una" + +/datum/sprite_accessory/body_markings/head/snout_una_sharp + name = "Unathi Sharp Snout" + species_allowed = list("Unathi") + icon_state = "markings_face_snout_una_sharp" + heads_allowed = list("Unathi Sharp Snout") + +/datum/sprite_accessory/body_markings/head/banded_una //Companion marking for Unathi Banded. + name = "Unathi Banded Head" + species_allowed = list("Unathi") + icon_state = "markings_face_banded_una" + +/datum/sprite_accessory/body_markings/head/banded_una_sharp //Companion marking for Unathi Banded. + name = "Unathi Sharp Banded Head" + species_allowed = list("Unathi") + icon_state = "markings_face_banded_una" + heads_allowed = list("Unathi Sharp Snout") + +/datum/sprite_accessory/body_markings/head/snout_narrow_una //Companion marking for Unathi Narrow Belly. + name = "Unathi Snout 2" + species_allowed = list("Unathi") + icon_state = "markings_face_narrow_una" + +/datum/sprite_accessory/body_markings/head/snout_narrow_una_sharp //Companion marking for Unathi Narrow Belly. + name = "Unathi Sharp Snout 2" + species_allowed = list("Unathi") + icon_state = "markings_face_narrow_una_sharp" + heads_allowed = list("Unathi Sharp Snout") + +/datum/sprite_accessory/body_markings/head/points_una //Companion marking for Unathi Points. + name = "Unathi Points Head" + species_allowed = list("Unathi") + icon_state = "markings_face_points_una" + +/datum/sprite_accessory/body_markings/head/points_una_sharp //Companion marking for Unathi Points. + name = "Unathi Sharp Points Head" + species_allowed = list("Unathi") + icon_state = "markings_face_points_una" + heads_allowed = list("Unathi Sharp Snout") + +/datum/sprite_accessory/body_markings/head/optics name = "Humanoid Optics" species_allowed = list("Machine") icon_state = "optics" models_allowed = list("Bishop Cybernetics", "Hesphiastos Industries", "Ward-Takahashi", "Xion Manufacturing Group", "Zeng-Hu Pharmaceuticals") //Should be the same as the manufacturing company of the limb in robolimbs.dm - marking_location = "head" -/datum/sprite_accessory/body_markings/optics/bishop_alt +/datum/sprite_accessory/body_markings/head/optics/bishop_alt name = "Bishop Alt. Optics" species_allowed = list("Machine") icon_state = "bishop_alt_optics" models_allowed = list("Bishop Cybernetics alt.") -/datum/sprite_accessory/body_markings/optics/morpheus_alt +/datum/sprite_accessory/body_markings/head/optics/morpheus_alt name = "Morpheus Alt. Optics" species_allowed = list("Machine") icon_state = "morpheus_alt_optics" models_allowed = list("Morpheus Cyberkinetics alt.") -/datum/sprite_accessory/body_markings/optics/wardtakahashi_alt +/datum/sprite_accessory/body_markings/head/optics/wardtakahashi_alt name = "Ward-Takahashi Alt. Optics" species_allowed = list("Machine") icon_state = "wardtakahashi_alt_optics" models_allowed = list("Ward-Takahashi alt.") -/datum/sprite_accessory/body_markings/optics/xion_alt +/datum/sprite_accessory/body_markings/head/optics/xion_alt name = "Xion Alt. Optics" species_allowed = list("Machine") icon_state = "xion_alt_optics" @@ -1954,4 +2238,115 @@ /datum/sprite_accessory/body_markings/tattoo/elliot name = "Elliot Circuit Tattoo" - icon_state = "campbell_tattoo" \ No newline at end of file + icon_state = "campbell_tattoo" + +/datum/sprite_accessory/body_markings/tattoo/heart + name = "Heart Tattoo" + species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") + icon_state = "markings_tattoo_heart" + +/datum/sprite_accessory/body_markings/tattoo/heart_vox + name = "Vox Heart Tattoo" + species_allowed = list("Vox") + icon_state = "markings_tattoo_heart_vox" + +/datum/sprite_accessory/body_markings/tattoo/hive + name = "Hive Tattoo" + species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") + icon_state = "markings_tattoo_hive" + +/datum/sprite_accessory/body_markings/tattoo/hive_vox + name = "Vox Hive Tattoo" + species_allowed = list("Vox") + icon_state = "markings_tattoo_hive_vox" + +/datum/sprite_accessory/body_markings/tattoo/nightling + name = "Nightling Tattoo" + species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") + icon_state = "markings_tattoo_nightling" + +/datum/sprite_accessory/body_markings/tattoo/nightling_vox + name = "Vox Nightling Tattoo" + species_allowed = list("Vox") + icon_state = "markings_tattoo_nightling_vox" + +/datum/sprite_accessory/body_markings/tail + name = "Tail Markings" + species_allowed = list() + icon_state = "accessory_none" + marking_location = "tail" + tails_allowed = null + +/datum/sprite_accessory/body_markings/tail/vox_band + name = "Vox Tail Band" + species_allowed = list("Vox") + icon_state = "markings_voxtail_band" + +/datum/sprite_accessory/body_markings/tail/vox_tip + name = "Vox Tail Tip" + species_allowed = list("Vox") + icon_state = "markings_voxtail_tip" + +/datum/sprite_accessory/body_markings/tail/vox_stripe + name = "Vox Tail Stripe" + species_allowed = list("Vox") + icon_state = "markings_voxtail_stripe" + +/datum/sprite_accessory/body_markings/tail/vulp_default_tip + name = "Vulpkanin Default Tail Tip" + species_allowed = list("Vulpkanin") + icon_state = "markings_vulptail_tip" + +/datum/sprite_accessory/body_markings/tail/vulp_default_fade + name = "Vulpkanin Default Tail Fade" + species_allowed = list("Vulpkanin") + icon_state = "markings_vulptail_fade" + +/datum/sprite_accessory/body_markings/tail/vulp_bushy_fluff + name = "Vulpkanin Bushy Tail Fluff" + species_allowed = list("Vulpkanin") + tails_allowed = list("Vulpkanin Alt 1 (Bushy)") + icon_state = "markings_vulptail2_fluff" + +/datum/sprite_accessory/body_markings/tail/vulp_short_tip + name = "Vulpkanin Short Tail Tip" + species_allowed = list("Vulpkanin") + tails_allowed = list("Vulpkanin Alt 4 (Short)") + icon_state = "markings_vulptail5_tip" + +/datum/sprite_accessory/body_markings/tail/vulp_hybrid_tip + name = "Vulpkanin Bushy Straight Tail Tip" + species_allowed = list("Vulpkanin") + tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") + icon_state = "markings_vulptail6_tip" + +/datum/sprite_accessory/body_markings/tail/vulp_hybrid_fade + name = "Vulpkanin Bushy Straight Tail Fade" + species_allowed = list("Vulpkanin") + tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") + icon_state = "markings_vulptail6_fade" + +/datum/sprite_accessory/body_markings/tail/vulp_hybrid_silverf + name = "Vulpkanin Bushy Straight Tail Black Fade White Tip" + species_allowed = list("Vulpkanin") + tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") + icon_state = "markings_vulptail6_silverf" + +/* ALT HEADS */ + +/datum/sprite_accessory/alt_heads + name = "Alternate Head" + icon = null + icon_state = null + species_allowed = null + +/datum/sprite_accessory/alt_heads/none + name = "None" + icon = null + icon_state = null + species_allowed = null + +/datum/sprite_accessory/alt_heads/una_sharp_snout + name = "Unathi Sharp Snout" + species_allowed = list("Unathi") + icon_state = "head_sharp" diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index ee289cfec9b..7771764c5a1 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -7,8 +7,11 @@ var/list/valid_hairstyles = list() var/list/valid_facial_hairstyles = list() var/list/valid_head_accessories = list() - var/list/valid_marking_styles = list() + var/list/valid_head_marking_styles = list() + var/list/valid_body_marking_styles = list() + var/list/valid_tail_marking_styles = list() var/list/valid_body_accessories = list() + var/list/valid_alt_head_styles = list() var/check_whitelist var/list/whitelist @@ -46,7 +49,7 @@ else if(owner.species.bodyflags & HAS_ICON_SKIN_TONE) var/const/MAX_LINE_ENTRIES = 4 var/prompt = "Choose your character's skin tone: 1-[owner.species.icon_skin_tones.len]\n(" - for(var/i = 1; i <= owner.species.icon_skin_tones.len; i++) + for(var/i = 1 to owner.species.icon_skin_tones.len) if(i > MAX_LINE_ENTRIES && !((i - 1) % MAX_LINE_ENTRIES)) prompt += "\n" prompt += "[i] = [owner.species.icon_skin_tones[i]]" @@ -85,6 +88,16 @@ if(owner.change_hair_color(r_hair, g_hair, b_hair)) update_dna() return 1 + if(href_list["secondary_hair_color"]) + if(can_change(APPEARANCE_SECONDARY_HAIR_COLOR)) + var/new_hair = input("Please select secondary hair color.", "Secondary Hair Color", rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec)) as color|null + if(new_hair && can_still_topic(state)) + var/r_hair_sec = hex2num(copytext(new_hair, 2, 4)) + var/g_hair_sec = hex2num(copytext(new_hair, 4, 6)) + var/b_hair_sec = hex2num(copytext(new_hair, 6, 8)) + if(owner.change_hair_color(r_hair_sec, g_hair_sec, b_hair_sec, 1)) + update_dna() + return 1 if(href_list["facial_hair"]) if(can_change(APPEARANCE_FACIAL_HAIR) && (href_list["facial_hair"] in valid_facial_hairstyles)) if(owner.change_facial_hair(href_list["facial_hair"])) @@ -100,6 +113,16 @@ if(owner.change_facial_hair_color(r_facial, g_facial, b_facial)) update_dna() return 1 + if(href_list["secondary_facial_hair_color"]) + if(can_change(APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR)) + var/new_facial = input("Please select secondary facial hair color.", "Secondary Facial Hair Color", rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec)) as color|null + if(new_facial && can_still_topic(state)) + var/r_facial_sec = hex2num(copytext(new_facial, 2, 4)) + var/g_facial_sec = hex2num(copytext(new_facial, 4, 6)) + var/b_facial_sec = hex2num(copytext(new_facial, 6, 8)) + if(owner.change_facial_hair_color(r_facial_sec, g_facial_sec, b_facial_sec, 1)) + update_dna() + return 1 if(href_list["eye_color"]) if(can_change(APPEARANCE_EYE_COLOR)) var/new_eyes = input("Please select eye color.", "Eye Color", rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes)) as color|null @@ -125,19 +148,46 @@ if(owner.change_head_accessory_color(r_headacc, g_headacc, b_headacc)) update_dna() return 1 - if(href_list["marking"]) - if(can_change_markings() && (href_list["marking"] in valid_marking_styles)) - if(owner.change_markings(href_list["marking"])) + if(href_list["head_marking"]) + if(can_change_markings("head") && (href_list["head_marking"] in valid_head_marking_styles)) + if(owner.change_markings(href_list["head_marking"], "head")) update_dna() return 1 - if(href_list["marking_color"]) - if(can_change_markings()) - var/new_markings = input("Please select marking color.", "Marking Color", rgb(owner.r_markings, owner.g_markings, owner.b_markings)) as color|null + if(href_list["head_marking_color"]) + if(can_change_markings("head")) + var/list/marking_colours = params2list(owner.m_colours) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + var/new_markings = input("Please select head marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null if(new_markings && can_still_topic(state)) - var/r_markings = hex2num(copytext(new_markings, 2, 4)) - var/g_markings = hex2num(copytext(new_markings, 4, 6)) - var/b_markings = hex2num(copytext(new_markings, 6, 8)) - if(owner.change_marking_color(r_markings, g_markings, b_markings)) + if(owner.change_marking_color(new_markings, "head")) + update_dna() + return 1 + if(href_list["body_marking"]) + if(can_change_markings("body") && (href_list["body_marking"] in valid_body_marking_styles)) + if(owner.change_markings(href_list["body_marking"], "body")) + update_dna() + return 1 + if(href_list["body_marking_color"]) + if(can_change_markings("body")) + var/list/marking_colours = params2list(owner.m_colours) + marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) + var/new_markings = input("Please select body marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as color|null + if(new_markings && can_still_topic(state)) + if(owner.change_marking_color(new_markings, "body")) + update_dna() + return 1 + if(href_list["tail_marking"]) + if(can_change_markings("tail") && (href_list["tail_marking"] in valid_tail_marking_styles)) + if(owner.change_markings(href_list["tail_marking"], "tail")) + update_dna() + return 1 + if(href_list["tail_marking_color"]) + if(can_change_markings("tail")) + var/list/marking_colours = params2list(owner.m_colours) + marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + var/new_markings = input("Please select tail marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as color|null + if(new_markings && can_still_topic(state)) + if(owner.change_marking_color(new_markings, "tail")) update_dna() return 1 if(href_list["body_accessory"]) @@ -145,6 +195,11 @@ if(owner.change_body_accessory(href_list["body_accessory"])) update_dna() return 1 + if(href_list["alt_head"]) + if(can_change_alt_head() && (href_list["alt_head"] in valid_alt_head_styles)) + if(owner.change_alt_head(href_list["alt_head"])) + update_dna() + return 1 return 0 @@ -189,13 +244,35 @@ data["facial_hair_styles"] = facial_hair_styles data["facial_hair_style"] = head_organ.f_style - data["change_markings"] = can_change_markings() - if(data["change_markings"]) - var/marking_styles[0] - for(var/marking_style in valid_marking_styles) - marking_styles[++marking_styles.len] = list("markingstyle" = marking_style) - data["marking_styles"] = marking_styles - data["marking_style"] = owner.m_style + data["change_head_markings"] = can_change_markings("head") + if(data["change_head_markings"]) + var/list/marking_styles = params2list(owner.m_styles) + var/m_style = marking_styles["head"] + var/head_marking_styles[0] + for(var/head_marking_style in valid_head_marking_styles) + head_marking_styles[++head_marking_styles.len] = list("headmarkingstyle" = head_marking_style) + data["head_marking_styles"] = head_marking_styles + data["head_marking_style"] = m_style + + data["change_body_markings"] = can_change_markings("body") + if(data["change_body_markings"]) + var/list/marking_styles = params2list(owner.m_styles) + var/m_style = marking_styles["body"] + var/body_marking_styles[0] + for(var/body_marking_style in valid_body_marking_styles) + body_marking_styles[++body_marking_styles.len] = list("bodymarkingstyle" = body_marking_style) + data["body_marking_styles"] = body_marking_styles + data["body_marking_style"] = m_style + + data["change_tail_markings"] = can_change_markings("tail") + if(data["change_tail_markings"]) + var/list/marking_styles = params2list(owner.m_styles) + var/m_style = marking_styles["tail"] + var/tail_marking_styles[0] + for(var/tail_marking_style in valid_tail_marking_styles) + tail_marking_styles[++tail_marking_styles.len] = list("tailmarkingstyle" = tail_marking_style) + data["tail_marking_styles"] = tail_marking_styles + data["tail_marking_style"] = m_style data["change_body_accessory"] = can_change_body_accessory() if(data["change_body_accessory"]) @@ -208,10 +285,22 @@ BA = owner.body_accessory.name data["body_accessory_style"] = BA + data["change_alt_head"] = can_change_alt_head() + if(data["change_alt_head"]) + var/alt_head_styles[0] + for(var/alt_head_style in valid_alt_head_styles) + alt_head_styles[++alt_head_styles.len] = list("altheadstyle" = alt_head_style) + data["alt_head_styles"] = alt_head_styles + data["alt_head_style"] = head_organ.alt_head + data["change_head_accessory_color"] = can_change_head_accessory() data["change_hair_color"] = can_change(APPEARANCE_HAIR_COLOR) + data["change_secondary_hair_color"] = can_change(APPEARANCE_SECONDARY_HAIR_COLOR) data["change_facial_hair_color"] = can_change(APPEARANCE_FACIAL_HAIR_COLOR) - data["change_marking_color"] = can_change_markings() + data["change_secondary_facial_hair_color"] = can_change(APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR) + data["change_head_marking_color"] = can_change_markings("head") + data["change_body_marking_color"] = can_change_markings("body") + data["change_tail_marking_color"] = can_change_markings("tail") ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "appearance_changer.tmpl", "[src]", 800, 450, state = state) @@ -235,19 +324,36 @@ /datum/nano_module/appearance_changer/proc/can_change_head_accessory() return owner && (flags & APPEARANCE_HEAD_ACCESSORY) && (head_organ.species.bodyflags & HAS_HEAD_ACCESSORY) -/datum/nano_module/appearance_changer/proc/can_change_markings() - return owner && (flags & APPEARANCE_MARKINGS) && (owner.species.bodyflags & HAS_MARKINGS) +/datum/nano_module/appearance_changer/proc/can_change_markings(var/location = "body") + var/marking_flag = HAS_BODY_MARKINGS + var/body_flags = owner.species.bodyflags + if(location == "head") + var/obj/item/organ/external/head/H = owner.get_organ("head") + body_flags = H.species.bodyflags + marking_flag = HAS_HEAD_MARKINGS + if(location == "body") + marking_flag = HAS_BODY_MARKINGS + if(location == "tail") + marking_flag = HAS_TAIL_MARKINGS + + return owner && (flags & APPEARANCE_MARKINGS) && (body_flags & marking_flag) /datum/nano_module/appearance_changer/proc/can_change_body_accessory() return owner && (flags & APPEARANCE_BODY_ACCESSORY) && (owner.species.bodyflags & HAS_TAIL) +/datum/nano_module/appearance_changer/proc/can_change_alt_head() + return owner && (flags & APPEARANCE_ALT_HEAD) && (owner.species.bodyflags & HAS_ALT_HEADS) + /datum/nano_module/appearance_changer/proc/cut_and_generate_data() // Making the assumption that the available species remain constant valid_hairstyles.Cut() valid_facial_hairstyles.Cut() valid_head_accessories.Cut() - valid_marking_styles.Cut() + valid_head_marking_styles.Cut() + valid_body_marking_styles.Cut() + valid_tail_marking_styles.Cut() valid_body_accessories.Cut() + valid_alt_head_styles.Cut() generate_data() /datum/nano_module/appearance_changer/proc/generate_data() @@ -260,7 +366,13 @@ valid_facial_hairstyles = owner.generate_valid_facial_hairstyles() if(!valid_head_accessories.len) valid_head_accessories = owner.generate_valid_head_accessories() - if(!valid_marking_styles.len) - valid_marking_styles = owner.generate_valid_markings() + if(!valid_head_marking_styles.len) + valid_head_marking_styles = owner.generate_valid_markings("head") + if(!valid_body_marking_styles.len) + valid_body_marking_styles = owner.generate_valid_markings("body") + if(!valid_tail_marking_styles.len) + valid_tail_marking_styles = owner.generate_valid_markings("tail") if(!valid_body_accessories.len) valid_body_accessories = owner.generate_valid_body_accessories() + if(!valid_alt_head_styles.len) + valid_alt_head_styles = owner.generate_valid_alt_heads() diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index ad0a1973b8f..0de37b1a652 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -104,9 +104,11 @@ var/obj/item/organ/external/head/H = target.get_organ("head") var/datum/robolimb/robohead = all_robolimbs[H.model] if(robohead.is_monitor) //Ensures that if an IPC gets a head that's got a human hair wig attached to their body, the hair won't wipe. + var/list/marking_styles = params2list(target.m_styles) H.h_style = "" H.f_style = "" - target.m_style = "" + marking_styles["head"] = "None" + target.m_styles = list2params(marking_styles) E.status &= ~ORGAN_DESTROYED if(E.children) for(var/obj/item/organ/external/C in E.children) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 1c3f05f5816..9e1e1d70b79 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -856,11 +856,11 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/mutate() src.status |= ORGAN_MUTATED - if(owner) owner.update_body() + if(owner) owner.update_body(0, 1) //Forces all bodyparts to update in order to correctly render the deformed sprite. /obj/item/organ/external/proc/unmutate() src.status &= ~ORGAN_MUTATED - if(owner) owner.update_body() + if(owner) owner.update_body(0, 1) //Forces all bodyparts to update in order to correctly return them to normal. /obj/item/organ/external/proc/get_damage() //returns total damage return max(brute_dam + burn_dam - perma_injury, perma_injury) //could use health? diff --git a/code/modules/surgery/organs/organ_icon.dm b/code/modules/surgery/organs/organ_icon.dm index 49777aa4a5c..2f0eb84c1be 100644 --- a/code/modules/surgery/organs/organ_icon.dm +++ b/code/modules/surgery/organs/organ_icon.dm @@ -73,13 +73,17 @@ var/global/list/limb_icon_cache = list() overlays |= lip_icon mob_icon.Blend(lip_icon, ICON_OVERLAY) - if(owner.m_style) - var/datum/sprite_accessory/marking_style = marking_styles_list[owner.m_style] - if(marking_style && marking_style.species_allowed && (species.name in marking_style.species_allowed) && marking_style.marking_location == "head") - var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") - if(marking_style.do_colouration) - markings_s.Blend(rgb(owner.r_markings, owner.g_markings, owner.b_markings), ICON_ADD) - overlays |= markings_s + var/list/marking_styles = params2list(owner.m_styles) + var/head_marking = marking_styles["head"] + if(head_marking != "None") + var/list/marking_colours = params2list(owner.m_colours) + marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) + var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] + if(head_marking_style && head_marking_style.species_allowed && (species.name in head_marking_style.species_allowed) && head_marking_style.marking_location == "head") + var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") + if(head_marking_style.do_colouration) + h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + overlays |= h_marking_s if(H.ha_style) var/datum/sprite_accessory/head_accessory_style = head_accessory_styles_list[H.ha_style] @@ -135,6 +139,10 @@ var/global/list/limb_icon_cache = list() else if(status & ORGAN_ROBOT) mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]") else + if(limb_name == "head") + var/obj/item/organ/external/head/head_organ = src + head_organ.handle_alt_icon() + if(status & ORGAN_MUTATED) mob_icon = new /icon(species.deform, "[icon_name][gender ? "_[gender]" : ""]") else diff --git a/code/modules/surgery/organs/subtypes/standard.dm b/code/modules/surgery/organs/subtypes/standard.dm index 1c6240318fe..85d698ea98b 100644 --- a/code/modules/surgery/organs/subtypes/standard.dm +++ b/code/modules/surgery/organs/subtypes/standard.dm @@ -140,11 +140,15 @@ gendered_icon = 1 encased = "skull" var/can_intake_reagents = 1 + var/alt_head = "None" //Hair colour and style var/r_hair = 0 var/g_hair = 0 var/b_hair = 0 + var/r_hair_sec = 0 + var/g_hair_sec = 0 + var/b_hair_sec = 0 var/h_style = "Bald" //Head accessory colour and style @@ -157,6 +161,9 @@ var/r_facial = 0 var/g_facial = 0 var/b_facial = 0 + var/r_facial_sec = 0 + var/g_facial_sec = 0 + var/b_facial_sec = 0 var/f_style = "Shaved" /obj/item/organ/external/head/remove() @@ -193,3 +200,14 @@ disfigure("brute") if(burn_dam > 40) disfigure("burn") + +/obj/item/organ/external/head/proc/handle_alt_icon() + if(alt_head && alt_heads_list[alt_head]) + var/datum/sprite_accessory/alt_heads/alternate_head = alt_heads_list[alt_head] + if(alternate_head.icon_state) + icon_name = alternate_head.icon_state + else //If alternate_head.icon_state doesn't exist, that means alternate_head is "None", so default icon_name back to "head". + icon_name = initial(icon_name) + else //If alt_head is null, set it to "None" and default icon_name for sanity. + alt_head = initial(alt_head) + icon_name = initial(icon_name) diff --git a/icons/effects/species.dmi b/icons/effects/species.dmi index ee3da07c3c5e030c50f5764535f6320968f55e4a..87c047f397a90b64ff2d00519e3a2dc3d0120367 100644 GIT binary patch literal 45274 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 CVUrX9 literal 45505 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 diff --git a/icons/mob/body_accessory.dmi b/icons/mob/body_accessory.dmi index c45bd957a1a82b2e717f4d9f98b53cb35281365e..e9273b898795e626e51fc6ef1137b19b6e415903 100644 GIT binary patch literal 57180 zcmc$`2|SeV`#(BTX(cI3LQO@5h>&$6QIb77lM;oY?E7f56_V^RB-xE!*0EH`nw>Ew zTlU=;v!8qF`}v*M|9{T+bXDhUAgp z?uiTe+u_D{_Ko1KU&=Gi6C5=u624bd85!Zk`WO|+(eoV_m#?h%R4vJcj-P6LgKk6D z;E7Sw+Y>7D3B_unB_dcCxwc%M%qd&lk~<}n+WljPB?g~8u+=S0JD*TKs$`gXJY)N! zS!|OjXli?x@2b@8ZQFpo)yA^yFUMYL8tf=-YnEJ0d}&`IlDvi6ynKsWEMEL{<>5H& zrPJ|j?K8Jqm!Hpg8oI(nX8aq^B#5Lt+%Ay*Xj69gNY8zj{%5yH+M@d-6?V9Exr5El zn$L4Bn~&VP@xV;P!R|h!EA3=XYp$=Y?PDb=&w%5{4v8#8ORJx8+>&T({3^OQcv+IW z{9by`TycO;v=jS*+z$^LF5(nMFQ#c!=6-0LT2NUtAhrgWj86W@DtnlI=SR7IocU8H z+g2B^L$jk_e$9Q9dH3o)a-ZCjL!siohEFEE?|Bl0LXKXfA&gXAxN=PSf zcH5`;?)R0jjX(tU2s3kRfTyE_6 z(dGh0uG)Ebz+Xr%Y+wd1L z?DE{kt~hNuF{kJ^Qyn~3_oI@xIOQekXY$kDU}c0XM>~U!OA0Q&L2;(IACsy_-b{K> zc@gu)m>;t%RB?%>D1kqVcZuU>H7tJ=Ic zYni3XYwWI{6%;jbEH=9;Ms1*U_$FdCxoONo^4BmYul&i;AknKj9M=V}#pbKygr3e7 zg&cVEQ+Z{y`p^l#89^_uGyKo3V`^F~Tq#db)IBtkm?F#JM@J!$Q;=Kgsz%-)mT<@? zCuaj@Nvja)hBdZ*qmU+{YbT*P32);(a>jhha~j&~cbCT8S2zC_+wm&LEmYwkceeV` zGqFprIZd=)J6Xy9SjbkN3~v+nxF9Na`%=o8h4;z3V#+SIE-%!=E*U@*!UZJRIg^?W zDYG656JpI><(PYx)XYasn1^>Ot(wG!PeYPs=jq#hI8A4(3gntZ2ju$gb?>o6@XhC}tQ2phm3$g9ALR=tpyF2r zK53XmYGpG*Wj3jB#w}#SnpZef4yCF(yTp!e3VCb=qR$!ITaM>%+>zsH zVU)}KaQ#x%Qp3}JtQ3KL;mp#g&rdJ3s+s-~D=Lcidpdv_P3uKyr0d6J99_UvfKeQn zqmPe|W345)Umq^^uRiD?Y+CNN(4P}KB2Ja%)6O}nR+w4lA&=MECia5F6`VG?UDHU#!Ar@kh`PwojCdNaYi-p%b2|R}9 z^5{7z)TGdI-GA0({-suYN(fx!mA)D+Pdc4G!`9r^c58llxquQh{HU@wxJs$7uTSSK ziz$K?N{AQ<3)??iP&s~-GaA103U2CS6_04N+JrGSVLY7CimSDy>1vWw$bb_FpJS1X z0h!5lxYe5L>Qt=nCEuq9uat2`wFr0+R>4A)I1XJ}-;m`kpGx@fVQWGBdPZDhopiqd z0glng$9#uzqqM+}EymcnaxZ^M-Ni2^DUYA;`c@jlEtI zRf7ZvGgWB?YhAkohGyh(iIg`NfqPePx=#$iwdKgpQVMQ;AqhiC7jIy;`w6c5nrf(;V1`Ymsb{n1U%Z@iJ6@?O+Cv|xPH%JZc|%h1qJhf4Sr@Uegnh2XAV=M zp+c|0u;2PbpE(V=ZV|Wy!L3^809{<6!6m>5%mY!x%lD~k$*7wx5$A<6mWD`RsICJj zN|nIwbsT1;;$oe(3&ml(thBUmlele>>G7`9j^BCPntF0iOn03a7h zmR_PWzf=etsjwo1tZ+Hu>;&rO{N6XM<``xfTO+5VHPzKINogt;mCkkIYdShQFMpu52Ega=@yCCu1m*%fvryt@oo^0edtxiwd zX49^EE}2eOvIvk(50)Q}cVPvhT3=zZjMx9{h97dYwf(BE=#>yc&iKHCeKA_-TJ>St zRbHa{_{H**Z{j1KqR{}Ti^Xmyd)S-BWpu@8=PFJyJRKt#;nEEQI=mT2_6{|_rfWXj zCIW$!l9#^#x)();i*@f}`za@2-|N1#X+BnpnZaH!Hr;aP<750Zu0KPZyjVa{_P{Jy z+{q9-LqOj-Bay*_efiK#2M$MtilMHissvP@9{jnsR@C?N=V>T(YHI2}*7H>R@!w+R zb=c|ys!*u3w6v6r%<*C0ym)Y*msh0|w&ISux`Kkj3Fq4Q2UL^F(H%H}?-$Up0%{h& z1X(bX%g*D5qrbmWQQ|L+1bN4o4|)0co{q_w@TmIw`OW;)6e1K@^|c`TbGY97qFpWG z1|&`Vhd#y`X7NQhWHY|Y7|=`%S2uFFzH1yAEO`?d`Mqgu&;d7yqa4LGp+iFv*y5a= z3yFz|WpR0$&omwG{$;gPcPX_W_E+3BX>!8Z zWDX9FkcySsFQF6TF0xIYzpR5LBOll-IWFJ^TUuI7D$al@ee8<45!don)?nEpZf1A+b%&R~diJ%aWwR*B%g;ORh}%!@ z3_VjA9`Gx#poaToygHTQGHY>|07q#QU?#0qqGzU>fqFUw!iawJwE|x#g8jI|GmD~g zh|WBO)$+lGk;tacTif>gx9^zW1?(R#NSBf{ms++Fvz@;I1TsH|%%GizI9x&4K!a{hCz3G7V8c@!% z+Hst~vj_fE8?ATa5iEvqk%PQiQuR(-0e!S=nVq5KkomVjwl=zIAvKf@84iSZs$Nri=l!x>R33p)X)U#<%USfhFt z{d=c=4~41r>oI<4=U`CnhV*d-1eZV zQg3oMtA0UvF2zsWeJ;b<{e+QWOfZGGYyKO*{J)Lv|G5s< zixlo&N=nRhBxGnD6HCB1;Fg^@ojdi#l2B(2WVQ<4Z)s zI=n{1LJ$I}O(Tf+fQIUEx^I8zzGFH@BJu47weT~B?T^ijI~PT7s&4lMl$?i3UB1j| z)K~vh;<~10i@3DfK=%3(u{9$cNmDDbg+;Q?K7V;G9H}k z8SpDnk(Msqs3*Lf&prW=wf|PJ`C!C8%GV2_*REW?{PZ?|1;P<#F=-uad8u+GhHPHJ zDe+2PkpJ{P9|3<}hHtJ1l@-#{T6VYrTG{2=-~7kHG-?k1wXvosBa_+Lh68A0>+0${ zgO4yyK5sD9DBkKJ_}g0y^|WKgb@a_~Ic&v)nP>X(H7aAgjO^g$2B&@@s1sXuN*v2o z@US0Fc6W5N?(BS#KxA9wd7QkrQtx-!?dV|X1BdTT%4ZVWXZ(|+5BUA=(pwcZkFHSSFODT598_p>aM(t^IMbD*#EP@`Q3MEe5pf&%ZOMZ&zS6M=w zy*O2jMt83Y`)9b}kAFu7I0!Hl)+iM_zPg1?A007r;bfD~ju=PI{*C!EL63zzp8iia z#bd6R2OfThz+MK!t*khAb1WDd8usFF1%!bOhX4so!Cju*ank^Q9@cO1MX!836kctiGcaB!7NIeaIY3?f%1lHA)Z4%>5rc@`7_{eKAh|8v;zze_v(k2AQ&1$c)2H5~gm z2xuYZ;}~6$lKO}Xi;E1{J9zt*klNeCY>eE#hQmQG>JqbS5})V#opFLk6dkfD5xb2g zWVzvisRp63X|NWVOm-%5*`?FRPeJ5@EH4cevH2N&W?zc%4bprV_fWpd^3vN15MVxF z`lONAgasmqJH?jjy}wz7q&a@zonS)1YB+Wx%<6B(x8umiU^6U8{? z;pwRW9u#~Oa1Pj^A(32sN=nLTN{#xf{e&p=>|u|?*CISOEW+Sy8&@j2&fnH;bw!n6Rl@I<1H61nhB7>r3d(LF*5WjLeTc zZ4nS<3_eV$mSCrK;;9i=%y$ll?@KiR>(!(jJxh69Gr z3s6ozR4C9*As?8#mUTJP5blvSMeZ-|zSgs^q2XfxGxaRi@W_BjCXBNQ`AaT2=VM=R zsGN^`DC568weH<4ai*zdM=n0H#Xx{^=%p$JauV=O7@e0VY}k7DwHH|jiY*FwjXiBg zDfAR~mv6XH&r}BU@L>{K%CdNzrvYT5RYnizLW%B##=R(i$EA)~{lO*y(!ct<2z3&LUBn2A~SV%9|Yp|WQ?t2I+b=j$0e@DCY2>P@#?-^ zkbCTrlxtsr9=jw93@wu${N;qxgh7nbJ2W(lWgCd?rvG-WsveK}%l>AY)uopuX-#wWA-r>x2g{v9Ub1|#v~Ef8f?z&(|vY-nPkV@V@mdRcD4=m)-Ckv;^s=ML>%KZ$_emuS+8|kjc!0IEB*pKv|sx%i(8V!-hxrq6F=!s8K zOMna&AnYD@LrQM6yXs4U#u!ZWHngCo^4zf(2VWE$7 z0e#81(xw&zn(r5znq)mcW(OaLJpaQ)Yw-Fj)N39Ihr52!9E-^H$#1boKKUs(xh{{& zAQq9!qvdb?dU=N#$r0p#eE_M9N!NWg_;~O6ea+3yl~x{$i;J6t?c2nF6)3dIvMb8Y zIpg|rY#LcXO6us3rTcnbkkC-$QcSoX_pq+b0OkW;8WPTqz4kWXPz~JykH=#9TV?Ov zrwxSU8ktx2!+d!e^mKaVfg1XO76u2REGlpBJ>rW&g#(N7*Dz|2GuIR^U!J(F=&(I> zC&a9OL#5jO*^5V*(YAL({j!pPG-#*fAsX(qkmWWIJ-OQs7HcOcjEAZb^ASma6(Q9K zVT0xgChcgtC{O>lSqBg``yW>QJOsC)F6R7%vAvvPEDRbV>)F1r$2Qqtim!RtGJU-K za&p{4zvfneb4Z}&gJNCig$tN>T{xXY{Uk`yhGYpR_c> zHbu;8G&UCk%u*^kZ^Od+?hYYOm`B3;ePQ9Hf(7fYIstbN51efB@+&YX5I<%Xq#J86 zhJB7=yGJa=0BfGR4Q)R?jJAK)oXX-#Y($R;Z8M;h?d3f0Smh4Lr!TB;Ly01d)yj;_ zZ1NB@!U5@)Y{o@eZQL_>SPvo?YWFT-vKb0U)Qv-IZ_BUieiTD;bv{^;|q z$=4F!sir0~(wM-(>B(=efd&*>;o5VS@A>W0W{d$uD^rh(mmCRldGA!-J{yh7sU6m)|e6utD*a>Pgl}&hMDe5du1R z3V8(qAh;A!Gs!WQW0v*G3z!ML{t|aDFULyNCW{%9vRaT_csdq3hY_2hjhMC`u_ zH2=nVj+VP}WxAgt2);Haci5{K64{SjLx{ECr}Aajt~jv;@#RJk(zaOuNVP->dF|c1 z_k*;3*H`9oswGOXyh0bUH!Y>x|F?A4c%9$=#?$iNYiSS6;@sALsb&me%sEsm+pD7@ z0oml9{KLu%cMfy}C-=sm1dc<^O0{Tyq5Ajq>mj@HG~XibZj5vX4(4oS<*d}K);Gk% z-pJli-(JD_VLKLkdft|Lt&U$CtwbnpHyxDt+LfZn!^J7@wPLySipM$>q)YN-^7$ou(Ht3;Q7oA3#xeX^9 zJbJK_8E+k4)x3IJqVCv_!1D);jvSVH8~pQgt80(4+iz_rPfyQtyEzUYmM<+Wb^YCu zn7~tc7M;ZryUV)(!4<^v=rIs`8!wh%Q4H^q-ItWqL&6An3=(5m=X-bDXI7xfmyo-J z$H3k=tA8KJGl_U)NLsRoE!Gmp{Wf}UOMDymTUE}m4}u4hW`^4(Fei8R1f`9Zi#eXN zOqF-DdpHQZb7OUNJA3;Zo!@g&U>-i6Chu!#&z?PtEn21v9RI<#cdxM;$rl?nQn7pk z#&Sv$><)_DpEZre(<}OYDF+?Az&_4?kKjN0Tiezs`_$2X-+k3}4gqQOcI{lo`czAb zXR6{wh@fxlNVP{^?Piyvl%nDyr5J>>Sp@}mwpZ~I-|p+D z25gV$4OS^`B`L9rl_+uXyYFMKz5^tJ;DlYI)%lK^s1nDj+%6OGj*n4%_aLK>U0mY* zRV0>|!D@ZGd67Ey<>{HF!k3rcoI2_`_lYhfRX_(TT-gE18#!f|D9b7aolIqswKA1% zP_3}XdIDcbb5EBmD=TXxe4?_JR#74Q6vjF>IB4uf>432IuuC^gxZ(r(Jb7O~XUcmlxm>`Zc@)BT@08_B_-1yI2ow<3`s*GsN?SeGL6!pK z8+SPxmS>JGTs6}Brxt+yARJjPHg}D@(Js;QoD9j|n0-8ubt!N5N%seNxArWl*JI?d z!l7l3Lx--eaMT$fy}GqsKGDALr0fnlb^O4dks2>F6^Ex;4O_A7sym*5jpU5uvGzXg zIoESq^A#S1UmzI#-ld^JSt>0qYC@WJGs69O18KF(cSTgYA#6W&d=TR8uFT|gK|w*~ z8zNKD4<0<|I`iXrF~V;~G;9GUn_Iq0KO#o(B8vC$gFX7?Q6eV#e${X6{C_zw`8;4% z&xEr4)~{5ASG&*0A(I!Fnp#Kto!mP(_}k9{fk15hPIl3le9qeFWtO4BYH1AzW^1-9 z<#l;kS^n7iQ|ivstjx?CK-aynUh9K30Y;9P-qpd;`U;j|pvxdJ!^g+BPJ4;}lfcvk zPQ{r3Y{=hS#}-$Ga9^U?D|NM?C7}mZ!Rr#4e@9@%6{?bUP$kECVa%B1M8oL7yy6YkCesuQZ zHmlz;q?fA)^7HbVR?Upih~|&@gI;`W>IO-!P<2Xf`~nu7ah^WEuOF7w-ys23L$4dT zaq`ic&|U&Spq3r>doLdX4HXsQkFCK-EHTzK1Hq@0dsrlfwnvODbBTN5{gdsRmd9anoeCW&^HkyCkJ917G zDQFTPqpyd3Q0}>q_)Hjro)|56G!Wx%UiluJO}DP`6kn?tXw)O7lqpgd%o)HjlXVAm zTDxxx-0r`@8!2x0apkwZbdmG*>({%MmYhz(Uwj(%3K{nuMK5yCfn0!IA$5-o>v^bX zW&MIAB`do=x1RD4un`qxB7s2ir4-}_xVV5c5lCIYlByyi32eaXEu?qN1Ig!d!|y^j zJvvf(EpHo#9_p)~1=`&S$%TAMy|HdiT1G>CE!Pby&t)S+F0;;=oG&;QC<2_P$62-8 zP~Sn6**(xzzeD+E%PBh~?GdJs@0XUUNOqzbY~G)eXHjfgdk*45qyKTLViFVi(8=Z` z$%|e)cbC2SmVPw56q_>LYw;#DNV0+AfZWM~p3`23L7ykg7O9uBIT~}fO7&EB=NUj2 zmX~8ec4J_(BF`01Uz%M;uh=6!4qbClKK}X!K6OuFnU0;Eoe~^AQ(2q0wrFB?$-4GD zNLql*V2;)DaiVMw7VC#~k_CMi#g%uxpsDC?KiK=F5Mo(y9q`}mVv;+@^_ZTEAaGc? zhnK(cz_%V+#dcH4X7ON03U_M=IHI!=LH5rY6Z7T8istZgo=So_a-g2hUlwBm#xVZh{pA91A)@nWln zR_8}7EW-~DazCPk=MZ=}N(RZfO zo&2D07@*Vy_~cE6NIgWHbQS#rL!Y6M1B1UPQ+1eu5&8{_nYZX8>nSTW&z9car9ex1 z**K$5VO<;@W5C)MY&FuPF%-S=U~{^tNntC%l-0$CE%IwI6jh^`E>XX8|K1{gnk?!- z!UY`6ps%RxbXqY&gaU_seka<$$%9Sdm&l@TkedtLBq4&!Co)%%TtnS@JVPv0Rd2lB zZ&s-Plo9K_#leCN>SlL{FC}*4n?&Hx3*4{kS0Ontf?ORP+Rk!5oIq5B=rgb_$R3uj zcgj0=I9#YEd6;XzkQE~dX>a3q>C2=}NIeBnLS%?@c%gfexlxhwN_yc%W?^pMTiuIn@`(`8VfjthJ_F%cpJD#Bc=P7<={{ji{I z9Kq%BV>6POUdt|`o7d~tuc2x*@FX0ibX62vE+U9*h>RXx1imNa9_v^)G9-Xg(!o86 zCHpuCO$nG3d}*|P(()&IWnVE}X3xF$5@S0SCWJVwhXeTUk@Qa^=`4 z@yVaEx2@uIzFz~*0fIo0m|khClT&8Jm*aov@uH+8muJQ{SLZBH?E(t!t*5vCuz-UG zo8mnepRgY~^wRTSi9_<*pIST9*COy2?tg9Gxgw5FCr+Gj<>uj;0ao+W&fohoKSPv& z!(Iy{?P#V&8gT{JE~56Q=q@+hWedry`oX&@NlN}ItEkwk!teK2-6!H8*5h)29_g5_ z^D}mG+;o~t)gNwTt~=&0O>?b(fO?_lPn)@y|Ek+-3Wn`&M?8Ae%E{>i>RwnGm#hJr z06hv1T@(95Y~H&gqs;0A$cDi|VX#04l>OO(w+kxTqDMwX8m?bu_IFLl|1T~y>{I&7 z;QXHjfk`U6+i8cM@CpUZth9gt;+6fs2%z<8KCo>cBvtk#HT+#136;%aph~6ouULmt2lfUVi_&6E(h}QLGDQF%Z0K zt+&^}3Whe()s6Z9L)K3|qf<$n#i^-+a4b)l=P>(6mjRu!t1PT1gr(l7oHblz&l$SK8@e`E(a~{%3&0+3o6Y4pZL0ZE#_3V zp!7(sPiZZkyqNFSz-m6e>+mT{z=T9nbj2vtS=cI;ytY{9-NW$iph7?+6iW6IYsuE;h5k6AtcB=f1Mg&2pHN)6dGPC>s(?ne;*kGqD67)AhT zxJ5-63Po;dB0tf(inuQ(TpU8f<5!UkO8wX_VsTV}_7CiV2X%Q6I}m2jh-nngJ)n)8 z^Vk}JdpK>>{7&XUL1BCxiMf=3G!Z@BgZ4-t^s}%?X4c{~Rnrp4_;7$`F$?&cAbQoy z07=nVGGVc@_P5D-aTEzx^6)jFE0SK^3mxmGT?hnR6UIkS(tjlepXTrs1ZN>JzaFL0 z?K0@TXa3sZHx1GaOyU23UzYn{WaPi$2sHkkIsd1w_dn4=5etZF(Ljg!b7+36bwm3d z2 zYd#hb*0jCvn$Yfh_gG6tmJlMz%#LF~JzhP{C2%wO@<8A*o#*Y8=uW$tWIWZbqg(b4 za}bauE|1JGKt|6X`YI4`M~S0!GDm3uk=Jnfl@++^F*ziTRLLlkT!Tr zHaWJdOJ`m5ST(+~c5nqr;nTul6V1nq7SRqL$?E&|7FmOe2FTpkie*#MEe+88lurF! z$_$z$K+Y{k>l|o4HeJn=PG6DDL9PYtE2Xb^_WOn!&}jM34wySs;nHuHFVB*nRKn@f z1amzCh`k5C4Ba|r_lafh43N0t0I<)YpP1`q*8M7&Kp)otbu{@RztBXY!_3fzj}6E{ z%LkC%&rsM7{S?af?#TiNzT|7Dy52;^Bb6SIvZAbIhuGsKd^2&eK%r`2}az z6$Ml7Y2URHakyQOkl)hfSuZ5fOBu&UT2K8WT5eAcx(iV2aUe?ovRnfH)P?_rccZ6( z`@IQUg56 z5|FY-1-NBXUi{bey!SG5%}+oiQv|3V>oDIP4`!1TP#R^ztd`ZKEYW+0n9ig%26p7i zpGoLFyY#GkHBeB|vxDiv8T0H8a`;oF9`u^MQpIFa6GIx+y>jBO1+ip~p5Tls^xs*t z!K>9g1m)k&QAD=q>VGC}=}v19fssK8Kt}}v4|{ZQ-+{_&Oj|3|GgF0kpw7W6RWqXh zseS(iPy_t@uNTGtCzOXda>G8Rq(K%Rn#DZ;Axa(EZytbL7pMe3Lm{s65N6%Fm1iB3 z6}H=SMRYzqxhM`VAF8u8i<`3UUaj4X+^OrF9~OZ?K3@8lT#4sEj=IkoHO3cl6&5WV z8T2Fq%1ItYTe5d?EFE2ZB-W1ywIdOq3Lz)I=HHe9Def*%Hv*#WHjw20B_dRTXt^lP zxXz(GtptdM`mL;9KlC6ECgRPTtEyjw{ZQL*!ZcAFd=` z#SC6Qg2+GD!8d%~t@|sbT=4m$2Qm_MTkkgGk)-&$Ncy}k(wwTaKX5Wk7Gp=qgqDINZuQj<&J5|Mx*JnSFh&(>vtaL^4nZt# zLL&h#kTr)8Jnn+%-kH^X~ZFpNNZV2AG_1??aphpy6I#=5U z2SKyVUBlF-=V%HlMnqQuxZ!{cm=U5+2u-&HF0~lb#{kJ!R#w*9ry_wFDy!e45YDo% zF>G`X(=Sfbm-%t%i4|&>vXoTGf_p6Jb6#+>D!*JB)gH`+u1U6`JJT4br-D1-c&ydVR@kN|vnV4)wy8BU$#NjZhh`wnQF z*Kq3n^E7WD$ZA%Bqfr_ZHujVI%7k*2<6tM+87&qstO5rF+l9I|G!Yc(0O~*~6_~b^ z!2`yDd(h|07z5})neFKqT?PBD4`DYh|Dl_ir^=-1m@X3xc_2Xu0ZKaZDk4$-8@F13 zX&a5uqBwWM82(ED9o~abLZS>Y0fJYzmD)`mA3AB4)xvpZJ`45d{S;jo&Ha44E@h&e zF+9i`SwoW>_de6Jyc!`l9$JM(iv5DzU)ZS8EyFD%3wf6|kcHlh8zu`VA#HeIra#3H z4g2jziMngXu!+KG(KcTQwS#O4Hl~Xu!nxqdjQ!40lH~LN*-auF;z`1}`}rZ1P37wLS~G`Yx6{qJ^G!hq&f*i`{V(~V6 zulA&8qS8EqRv2J3D&b;C!+oj{#gPTJ_8b|_3i#ItT^F!RvPef)h4jf#d@JYFZ!ZXU zbndbVB@rGlKR>@;X18WK2iX0d+qH3w`ScJ$S8i_Zvx(Y2sMOlfQ0jyb-9}q|db%y9 zt4|lU+}@T=sl%+jlDG<}f)Kz%`)rTc%kO7zV8Z3}rVpuAQw0j6PH@~%p9b{Kp)z_) zq=1{cZ6*h{(uG(@&)ZXwmKt%mhPJWYbSPDSj%k&)CPxmfnbdC_pIsQpgF-iOtARtC z7oGyNK<$K~j&MdZU2_-4wo8a_uj3yZp-tnngMa*W5We$VT24*`3Qd+pm{*g z_sBmLzl-)t!oP7{^urEmeDUeV^ey|RPxYBZDw1G=JjZ<32(w|Yf{Kre<6d{%HsoQ> zvfrslXO&5erLC_YdJ>WFHwRz$kDYvUpyp4!3fcWXza93UGlc(f2*_82z$yqqhV)S` zU8Sd3N7dZ^z|273#;qCj^ztgzA-i43lVU?W-BH1D(sU<<6(;1y4o(EPupBiU`lj@v z7WnXT2#)PLYzo#f!v;zD=7b$zV{Elpa9lNEbSjH7RD3pUJDODr+JSh~xvt^YlkxAm zkK^~{b9|P-gtod+B^agBYof{O>eDeW8s(V;FdCrfwP;l3$-N1l8`JT&7f4^e&fbW7 z2VEy+sZTQkry>Snj$7N!E7y<3!Ov3Hd6+YNw%)zN;YMW*T5+h}Lw5TncV9#|^^H}P z>kXY$B|fb0sV`=loY4hr>{nN|U$7(pjLiifIqNBW8dd#3c<%F=pMk>xp-mgjmNqU( zn@S;1p^rsW5V7WdX2$Ez2mOKBS6630dG%NAdNA=>2dzG@TxfS+JY%^M?^(Yd;nF$< z?`k(>EPBd=h|+%}26g2#t%!1Ddn0d~u^|y?p+bWNe*40l_HesU>~a*Cust=TlnP0! zN%{-%km?D;v_H&?#(z98IW6ePv`RrmTSTHFwB)XO>hWl#IP@UTCCf(~l_rGw)m4e` zn+9IX71*;$uJS)-X!@4<``X+XWsGE5&W<1<|ci*H8Y=nC(~d) zz=Ve6^<)fYXwi_SV%)P#Hp*oBlerK3rK(C`cyM znkb}rN+oLNFO^$DqgxU9dfM97mOBLy0Z482aqehQu!^lieW^mgWuf1J?KE;!gx{wO~O7z{@~5P-hl%`}XaEd3WC!j?Sy=-nAehjP?Yt*e!#F_XNqM zA+MD&pQ%*8l`zXE=eb`WRPD z<9aihA&KgSN3~4d?!8AK9{uBYC=8#0;=pi1pMzB{%x|8!x<+&vq>UOt?#t_{{8!som8R@an(F7 zld^;t-2a(g?5$L|Q22m`MF zg|39S`10}SIzoLqs8rkYTw8ck0?ec$PAii+(dBh-e@bs}Z=AQ%xPgnG_3M_Y;>^rU zZzVw&D|2%#&}s*G()HjjMjXRA^WlKD9sv)NldA;sQvTSS;Vm3PQYWp-UZbJ$z_V=w z-M9m4Flum9!~ZaNof!f}gWa^hVQcsJ@#6}ki{iFYiTL%r0&QWpJL-YTDLOFgi?OcI zlATdU^bFMjZS3aemaP7%!04h!_)SgFdBNM7>ExhAyaZr;GcrJ5A4A2&#l;a9VzrbL zwLkw3v;4~gMh}3cFa-jQ2YX9%P(iswwoJ)^HH?!=?D$zk*~0(WqBPMu#^_<>yW z7bVEuL?RiL$;ru#>tL7LN&a+mB|%1FRaF(*UMi7RUN7=jmOcSlsscKB>DcRUNFbBC z->25Cz&sgZF>Ol6J@LO_CNw#)Ys|F_bar;W9Md+&2`*#6eN5pZ@qfF&jwSim^G3B) zc6D~*40U&opJuW%r>ZBRy+CWWEP$Sc8RTr)fhV3RQhe2rO|E>emD!nT@c2SZoB!D* zozs%tVXdfuHUG^DgB*7k(9WUGMT@!B*NkLlH+{f*+)327a~n=k{WV4qsZ5x?uY$r` zUX1+>p8qhX{M5JPjX!*DXf6U;f?9i!pAh;r8&iA$DursZb@nBF{$nN82dtoz`6LU- z34LSrq`E-EKNt(02grt$g~1pp?h18BpNqFckMK`|YsDmzPdeSM`pHBSWpi_LHLGtv zRuLlBo~wx2_)~`$T1KY_W>xw4K+ngteN|gw-=#r24SlDR#RWFcXqEDh8}R>qxU8o1 zulLxSqO~&F!&={jQWHaKC7^OG-@nTO5Fh@;j9vd7K5JziWhjd1WnDr zU>NYw){mjJBJHB-G_Vf%gSpLtbE~WPOVG=lBWIw=>eIO^?bGo_7iU6S?{MA=TF{WY4Q`4$uJ}JWqd#CRy+9n7ez@%7YTK? zNbfg*TmSoa0i+&>wVEg>Dn`9-eHSWbUGGo&3FZYmQ0~SL#N{{elap-a+v(o2$+Y8~ zq!(a!o`(F2<@*IB@u#g6X%i|X0d-*_u?2J^B~5W96MVtS#JP%4Y90V4erU;Ub$SH` zgWO{7_z71c^jxeKtrXnL1MT$!EOlmMV`D<7sOlovmQ{l1y0P8uE@b88%>Ue+?Pg?zDkbP- zMS)U++W4Di=?Fu^K2aN@OGZ*s61^DQd?{AT3WT&A0HJ2pr#brO%VM-LPkK0C*%$6s){&Me1XZVKPMQ)NDZY*)_%*@1;7K0><$wavxBb1@qVtf=0rZjYA;!M$oo{L(RSQr`7zXz?%hZOzD&Ppy4sVuRs!X~sE53wJ$y&iV_`2ha^}o|++%SS=i| zva7_cEivu`ui!_bnOn)2TUt`mJAdr+ySC{}a4%EV9Bqi@pr3(gZDEmvubRNNY{xmt zVqe->`DmCEYJNGEDrD5TV1R}U-#S=dI< zqZ`;w)WPD{i@?w*0O_S?ImuEeU>9ICRX{(2LAY*bf%kvCEY&{&>~{dLSGE{m0bph| zyw!{8H^gJ;1hl5>3-}#{6uLXWab)}KCR{95i_Hjh0LI0{>0~K3Ey3Skk&#IO%PC4E z0d!YWNQn%)X#)~wRlsUWj04;Cy2M|I);m0$U`Xgx1KLy(+NybDS_FtkpdDz(c;9IU ztN-$4=Y_U#Uw$Ck|H$0J3o~DNzilV0b}3m|ZbkRG9^mNAJwhO8tKBJz#Q4}i39znU z8}N!qI@MNrnKaXrejO$QgW=_6Ww%XY163p?i@p>Ut(61pcRI7X9w=7|C`yrlGRq~H zKlR@$tBX_NTA2n6D+>#Y!n(QuI!LsSoWO2;`}OOdeY)PwuC6Z6HxUsuf&x9>L)`7X zfV}G`V4cqasfw!K_#w(ea}rI_K^==`K%qR+i5+)g*xb7cDdXp$ozUKtHrw$-HLyUw zlP9&qZ?=H+Y(UjjT4SkOW<^DXDkn)d(;(+8^dMAfsISj(QRTZA5TE!PpYE!U0;hCP z9jbpU`jyc|8Bu5f*h%q;?IPevE=+++o`b-qHwF&Jv{V7dOm};0>!if70}MJ4$H>r= zN21-J8_ocvjG)m8%S%fi#DRtbp;D5S_3V4?S@%vWQ)O^)Fb?730td?P24wL&wd5RU z8+cad$BvF}00L7$d$8;kyq>7VXyDEos~3j0610VQ}B~mHiVGvKANIuEmN#)0mi&LK^_e8m*_e7_FAxa~i7S=SQgx6&v)uZ*Va-@adB$YnolD$`tEz z{H;s_)B?CQFkLU0Z^%S@b3J0^hbg(N@m3uW3@6p%gf8}R905X9Y64DP%XXaMjR|JYnA?q*hBOQqAu z22L&gNlt00v_v}(@0rH{m_R&g0g$*$9eUZFMke5Y*h&#=kS!(oL|ha_CM?ueiVyr^ zp{6Gs^Efp*xkeh8EngLs&?WBIlvP0Up$^&Ja(Duq_DUQ`2_Qf$;pJCs`T@WwLkg&Y zl$;!~4Y=#=!Omubux?wa=+S2`dIsv|0F!P*qleEzu?s$>9I}B~OXaAlK$@>1H2TpG zyV5%V$KpEe&eSzu_1j+Rbds$BmgK;QlPoa4g;torx&+{MCUTaEwO_ysyGsL$lxK8t z83bT8>eCN^IC(^M0%1x<*KYiv1Np}T9Vxbzs_GdT@d1uMH(31*s1$Z|R6!zEBH>j* z|LCasv1muI;v=?FJ_V(vZo-M$E1h3Tcez^>--rW)q-*R|QYe%3p0=>ov$?F<&0@!Jll zhg!PcmsD+Gdw_0rv4QhoOXa{OAX8DOsQ&$yhZTU_+5^EAhvJ|mAPf}6GhT;&>YIm; zf&^|Kz#i?hM=ih#T7bn8jn#^-c~u047d{#`&4#Q1f?wu5QgRMN>D}>+!iO}*63);2 z?2wfR)rB}$=Ahvaizt5(Wfb#CfZy+^ns%J!P4&<3o}7>CIeV-qZEkHePJYw|2;G^HrPs7&J&ygsgL^@Cy7QnNd^$oG&G5Y8s3D)6!s6jX&BT&@pNX=R%T@Jd|OV^!xK*wN29RVu$k47{5dt zUdcO~SwChrTD&M#1`Bvi{r56=`ufdv9}rn$J|P|#9PYc~68`a#@dX0Li=tO$X)SeU zb5HQ)H+P4VfdE$?`N-X}KBX2a5izwhZtdjdw}GAU8K;&1AH=F zTP0gUWy=~_GFdVtWKFWu$i7#ilu-FUpv7&9c2 zoPKY;nBUa#rp$jX<(6|&=~}9`!cB;y{Ei1b0jUBVzwO?@?SDRh{=7K4Su?uXs?hbb z9=bHbpy=hY^Pc;f8^%vI?en>1I>?ISZTY|&XuC&&VGh3s7~Sg z0ngji-?PqsrnF(zui1jZxuhX>;CYmLwb8r$;*I zEOi1tAJnDZ2!v@PUr}Bz5t6$P1;U(R`@yK6M}7dnKHn)Gj~F*dA4=92GDQX5DeyWQ zmZ~Ap#l>w5NaIG6S|;bN zY`RD@S?D=1AXnX)X-{dt$+#T8Li>e`I5RXXWMpM!vEU~BVoBb01KTZWC`Y4i)AEmY^)E8nH{td9i zjc`MtI8^{GNC?%E&^hDTSk%;@&<`+919O{gI-jv}KP%_tCtbbY9lPdXx~k976hV8+ zdD@L}xH@*U>ZfmzJn{Ozpb6<8(l~RfWJ+k@TIl$JI?4MG>Fj7A)6%#I6m!+tT6I;K zgaE;yTxncqxZ0Un?-9|JY+>Tk2nxYX$knymnjC2R#B7FC*_W);*OI*F8-gMescYnL zR)?Dw^;uQrPxkAh`wpRQHZvRuG{IbR1KsF zj|n_Dro+ORFN()l3r?;gAeE4pS2E&BHPo+-M)!-;?~AeiV(h>Ygqv7X5s7WF&n>cK zOMIGYJIhRDUk%5+KT8lFmsU6x{1v(b9oa%)S)4#%HDTF8XdjK)%~NrxCX&{16V)fk zt;E5OX}A328ya7*TMZQ^bG@RbmCG^ritJJ@k#z;#3!1DsjVnw7BJh70Z29YprrkEW zfVH~xN$fk-)a+9G<0BzI?Ha`Fkvq#4GY-9G$Ak6J+s^sTzeBsbZ!(Oe@ZT z<-m#=$ugxRan__kQnu5VNn(=1gU8IDaC_rR!26^w5np*}KB!B_dlEXQ^9zNuxk7#x zJz-YFWOvWGNX9?J%+PEYm11Uy1iWYJ@Ugdsrly?le;r4_WMvZYYOJbF@4M|)1u0R! z>oq6&>P?4LybQe)dwa9OtERu#aQE51#{W4d`&_n$m%br}`A%xPEeB0o8FhKfQZ*B$ z>V?^YoXa8dm&y%iTIbX{ad~-vhZ?g$EUW5h-)#6fLhVdr5<6GIlk@C|cu*kK!r(VG zaW-_8Ct5I&kG`QLf#k+mnIPU~w%uKrqmfH_2Avwudp6ST;>>9uSvb5_*N(=#!vC2w z5wWq$)$zEa2!{7A|DwEoLaMn)u=L@Ol*@nwR&f(=?Iq(g@tDmxhAv0R0)Le*?AuUT z;_;*kx9N^Ruy9Yd>FUZnUTl5DzFpPU(#l1>lg2HbNhEEPT373!FB>;r@>439IYLug z+bk^golR%?`IedP47J90-TmS}sv5-JK1;PN>g7B<>3X?@Ea9boCuGRkaj-U$NQxk@ zN_auTY&zb%rBK8!cUO+Sfk=01#5lX#>>uxuJiVSxB|*wFrD*pX3Apv-r4oK$?V#yt znFkXzu4kh$3id`lO~pNmupEM!$7StH;(mIMEFI8QAPY_R+WM~oTe$gzIq-nRJ6}@P ze1HipDwmSt(uK~dqiX9U9ikybB?mIsbMqc;NH#k>ah@zr|g!_>A zkGg0~KoMppknAp-(7tN`K*AbPeEIFJLOhr@)ctDX+*<1TyzEa*RriX#v+d&Mq3R~& zrzh*dC%d#`{y*+5g{mzNuOv||y!i3shYMS3DHLw;F@@W6do;Pr95f1UdDrdr(d6lCUTpQDTAjbYJ+O2W@ML<= zLtIL{o!z~Yq?Wd53x)~tIukV7KktFZWC?`jsp#^i3T$Na&@xkhyg=w8t|-iWya7FI z)E_e+@p#>2Rb5rl#p6<^Cec~DzI{%Bt{>(YZtKK|^)hpbkKz<0+^rR^MiG$tQoZJK3}eH#gopZ03htQ#q+ z5=|uekA^F%ZhkyGCLf7O)Q}F&-?wm(xD+`DiWfjwoX@2MqGz7Wz^}wE@4$>*cNyu$0HYXfv{Rryk@&mPV!dVKNgB?VUA2ju;fx`fbXgEYnv1z z&=b1Sdp6wRQoW`Xu{cITSAr#5>%F4>%<~>LgDY(!Xdjg!GXd6-BsbQ3h+xYR(~D;7MMN!uBWMIi}(-ju+*vgLl(NkYWjMYvxYk^ z$l5FF7Vbmc_T9O?vr%+0`Lh(C4yPmR$pT>+nw>f2dA@#|t4r&0gNy#@cpvbznZnfN zxB1<;TXa-)shhBQF_*voiMW_3?F%mt6dm8EKo`ItmTLZwh8V}VG}qdv!-K1y98Gl@ zc=YdeEBou?M)f>vy!nu{(vah z3oj0OgH_4}U>RT4`F2c3oDrP#WDj|DT)BGxl}Zy4rezmV!j^A?*xXU&^q>`o7YB?K z+I2rtzkd4n(MXkfh2`+xqutPgN>ki+&K)MHpe z7w0!McWF#BKZ>o-3v19{O3Z7>_SuXi7wUViz z`^BFNE2?Pk{=yvbASsnV!$DeO0{7_ojv+TcX z*s-|$*lF+w&^8Aj1xYELPBnFl42|pYX%PQ$#bF!UDXz#){gEGF4c^VK_YA?W*4oG@ zmr|tFDVJNK;1qXHf%efL9%In4$Z$^38VEHjcXtT}Kvw!dsYNM2H3mjaQ>Jzso!O~l zpUXcX?JU6_PDfngL+Y__j}7jcf2L-u;@XN9qZd7Ns`jOJW^WX3J{g!O8(IE`Q*Wt< zHx_yO_-G%cUu7%D<}8(z=gA%;J(}Ny^y7WgvYR5Y5q=5J7}4l;=^*01wYws*o9Yc> z3T)IL)uS9BAmjJ!91pyB+2=c~9!QojUTr~Gp1tst_FY&Gi>(3)|nwg!e zkR~%d*wE%E&fb|w`r)SNsjvO$PQh!cAb{=fDg_9bC(0>jgX@3&`qcy2t$fz|6v6Kq z1TMEBZ!D|ny$vMX94=KL6ThKYwe5$+7Jyld_=0__aFEU%db>;=wyA>*N{qDx38?`w z`~*L3AR}Mc#py!GK4W9Fc~kh<17n9YTQ^xNd^k9*lj>9{lw z)rB%C70%A@eGQVV=MXWvdU1Ly16u5*AUi?pqxI<+p(w}T(B6szy(n>+-k<1*(m}wP zgc9fdO84FQc!H$q8~C3vcbkaZ>Na*k3q}YMLS{BZ34Zq^;~BI%9c^<(LoL_tc6sc- zQe>Q43TO*94miiff#iR@&2(@NP5qQ;v4Zps^@TY^z#rT&)^^0D z9fzc5S=J`(jxS%-1>u$rH@1)><)`=3+S%4U%oM}#QVA0@jbiraN{maZrL|uJ`1%`r zp@2CRe03CX0SyCD+>JsU}+9cV~r+P6l7?Ao$5!gq~0{#;d8D0-ahCV?MPIB&XN?dDdCwr>k0mwX9$~V9!_4!R$75BK0SwkGBBUp`b0>3*aREIRuHAdQ+&3Yp<2V=$45r!*mFIgXL}-C znZSVUg-KR0nrgI%sl4t$2>T7t;JFY>@iYPU0go0l4M8111H|}@H$BE+Z88xKne|r~ zm~P?X9=JE1S>BhJ+N1Rsaw)-faZ$F4Cwlx7M zKI|hIuND4>{z?;eB=Xx`uEWY~SdLq!y;{*NlYw&IC1C^im->HM-G1gY>RT`&y@zxu zbh(r?h{NcLW!XYIAk?BkX*%S(99QmgC^2qcs;(*xY%C@J^GL2hD)0Yw!xg{l3p2A03Zy5$_eHSh7WsTr0vX*B19L=@RBpPtEuO8hj5szhdDKIN0on#ODFCVV;U=MaC9V5 zxDkLhLtR~6DzL?Znf0(7Hcy!QrE#Io2Q4|8q7n}LOlQ7xG3uKpL{D1MxT4CXqEe^T z$|5fw!0eJivQkn~^I;QfmvvbaD%ka}54+Z&_mWdb+GBu=|l@vwRoJ zuQGKq?6A@<2K}%vF@ByZaIirPEMx1WD|FZ!=gm5EE^o+vo!yXV4t!|ICebM_Rnh}Q zTExxl?s%U9rv@>LI6eqq^T?KjuDXa+0f)GZtdc~vs_n~;rNuoVc5zawy5iaRjnOLq zcP1h_aT#h&{wfLecuG20OupFc3g3G0F6TZF$!{l!+z}zU_$nI8P7>hEVjc~~2 zo>n#5PA=IA>e)y_V zP(hd(UBOAf9T^g!_87QVwh9=?W!4g|4~{II!D-1K~J-XEPCgb98)%d@jQWWkB~e%FwK?LMz`~3 z11gPk6%LHCAPNV^8bT~{=uQb`*fknE06LFIk?*`?3tU>VJo`w8u@p+2fL9D(5e~B1 z=LJn636feY>UR(40BxAato)to10pw@e9{%zGH&1Dng7-T{Fga<{{`y^4bm+2xwiZR z@x~6wJFe3!i7d)*FKRttCm#+QL=CZr{L}*V7k*fGuSwpXo{F=Z0Rz~#uV$&kQ>Q8r z?SrREftdi_l-s9-3>hHc4?+8VFY!_mbpySwh42A|)<)riY{)qn4X>1X}+)))i-aBC_!K%gqu(gW-fD+33b+%$v|y*Bc7uRdR1)SsHGFM>sZM)4?6zW zM3|cFE4Io*7PoSHxIP18;g5{OI*R+R{*lJ1ax}s2p`=T(A$W`wDhU54zip130P6gS zR2I}qH`IM)w%T4{?g_WVQQrq9j767Ki%L2JFO%TrxSfg@x-M8p69j9)J(p6;GS=$B zN5Gql(Vqb?rIG7?w4O8}y`u@(?M2VVH!=DMRbBi|wEuh3(aXF9{p)DE&saZY+E+g& zUHir8b!bmrMEEp2HA5|*^3Y;5r0)5CT#_5bzLiQFUiXGP`W(eU2m`jmwPL6XO8=eh zB;$|CbaF*wj{BPQq=5Bay(TysxZez_9>czODT9 znOYi_&=F75%_WyJ7k ztQ=#Xmick@B}OO`Gm_9UDV$6B_Aghq=S-EDIc6!RrLT&GtxYOFWwB(713xV#i(8ro z8lLQ7LB3hk?}s+!XtJ}u_~!hn&!1sx=!r{aeMt+x*_Zx!Mo&o3C&a~FM6ux}y5xxQ zGk$g5j<{dKQ?kL#6rk(xv8txtI$4sl=qvmE{|zDLdEiC|xw^I1&V%c!=Aly;ON^bs z0Y9vXzx7`tO!dm+)?1@zxB2LL-RrpOpEDJO!!QrGH!8i{W5f(h9foNen3bQND=|Jl zvB!rUqh^TTb27llHX+M7N-Afj*WqR3*{ei*pu0EN71=jdQ63p}{y>H;SLHaIt$S=Q z=AF2j3)mhs+Gf1iLYgu&GUz+S83ZSf61oy2_7U`f6Bc4UcpmwB_acZ(HMNP@}+-!FbodYfkcVo=%%RZbaO_K8muH;(*d`^7iCdzLbneJfH(@n)_; ze;?=7^({S{%T;+*)^YbTVh>F)x0l?^zS%YV?RKujH( z?Cdo3h>QSV{)7(5!yMjU}WDU0iz>AsZb=8w*T%*<6ig+Z#v z(QTK;_#g3nMZN+)$kt1F%rn*h$hNpDp|?v(Q9TcjcE2?{O0FSynQM>&5oT50ZtUCq zK7*a(j8#8?jN05GI3J1oEO&p8NpL2SHHcTaZ)u1;Hy1v3d(*Tr$%p7Ze5`Hm>9y0- z*DC!sQqzxro*Icz^Kzef)$Q-EnWc~ZHJ|9VK5-4*f02Hlaxwo9{l-lJO!N5$F^uw4 z{Uehs;YGnqb#L5c{ORjsy%RkbKMcy=_%FpIZol@M`u`Ni^uMIH_#zpD{^gy{5ajlc z5s*3Rg;Pji7T)J#|2sxC^ktgl17lnWUl7wdLQhn9ScpdR>UQ?-8N&B{<#bnA>L-w5 z%=<`9+nQ4ZP1ICC2_*V3x4)@L_&E-0Z`O`#%HWiMQw*NpJmakkeJ!VF&I(Q*VrW=9 zfQ&}AOeQjn=^?dJv{dGT-Dt_m?N^u)hzzO6qLBar`UY9lmKm!mlK?>>`o5PqZysMg zrui1+KG}S@ zr~}bOxp@zG7ilmZuMjm>%0pYbuio%%y%KY^9597XW-E6g^Tmfi3iKLKao26Sb~TW| z>B_n7N!N8wjV2ZGoOFCXvalbyi(yiS4)+(v5rk}ciLI9-1%MpD|SK|{&oDVqo)i%d=>%a+?!YHEj zL%fB8@tEYA54X+$T?kB>Bz?mk%hIt_%`!{`f2qjPR3Tq+EfhF7hl5WZi3YDl0|HR= zS@=kk)JJ}RX}(S0a4k14&zWAPu?C7~Amb8@d0#L{giJx~3}vIN5xaF0ofS{RX|7nF z7fepQUlzT^|8nJKibG&t^rjpft#2>ME1RdDv$L5 zeE*>s>u%JR1LAoy-LmfFBneBVK6;>cMaUUJdTq&}Rz~g^&a%5O%MvRuKq|-#&nr ztsp8;lc)3GXrjJ>y8oQyU1J+T_TivA<;>Wyzz}1-eG^hDchlOx`X;Ut zU}iul;I<{3Hk49~+KS)v+?=X^oR-pMNOfc*@LJBzAuO%L>psPJ)wl zNO_r|@D3^{;($_e8GlrWrQE6D*D#Qt5HYFy=sM?vo4_+uA$ivXBlf+f{;+=x+IG!o z$Fd=)%zocJ!->xNHtXc@nd6dHC$ex8(;S$IkK7!-!qH@IAbf1p5UTLDjgwws5{rdr zPZ-Y%=28e(Rfm9|1#WLYp=+i@K~MPDJZ{3P%wgm!)^rsN)0UASAqzj_-9eIWbwc=n zrJl%}?SW>1^x4Y4{1tu8Y-Ls}z6O{mQCVCRN(_>rH@@EWE`E<>mt+spVt zUxmvNWjXHp&p^^fL;P_)#B$4@RrNS(%dZ2w5(Wn0M12)%i)>j2l>ji)=Sq4;^+jS` z1|~`85l`FPKuD)fAOR@yF9+MZMMjX0KAKBu8JFJigw%|Rpt~!HWYW961O!hSrkROx z$)c44iRM%&@?=t`1x5~Ri#;f=bKHZ?=?@yM8gV|V zEd0cB%^;WJ010cVAj|6kC?4E|6~Y{Hs<@}ALCo(l^PLKV?BN;j5j{q)!P3ByrD~ox z*L(rF!nXA@hZUP;=AA?9Dgw z;u3IB5F*D9H7!pp*+fCIFJFp&!U;+$4m}zR2OH{E7iBIu>84m#r&nQ8n_7}6zE}KY z>F1qUP$;U)Du3N!+o#vvlY9d5;GJSGZkP19KsnXHf#=^Cj`q3(AA2FUq!s*{4W>EP zWa2@7xACqatE##D6x(JB#B8O8!d(0AzncIKZm4x0=U4*~XeV>i7j z#tz0} zMkXrfn832Yz0aM8`8`G7a7$fxxe%DRgUG0PesAEB`kETyGWFV2v;4Zl^@m{7+=YS) zfR-;(1)y%o%)zK@$uZ;wJRX8uh3;ds($PM9Rb%XB1Opq8RciWfnZ;pz+ zpz9Q$hnf@}*;~jJ!RWA5+6=pqypjOUfkOnwc!+eOGVB68Syl7<&#&(ff(h!*uscTI zAa;P$BHt}?6n0Dm-Kl@ZrAOTB$h|AS%Ce(qH1~Oh_iTvdQrdQgA(XVw1xQh9knLXv z2zz+_1Yce8u%5xg5iQc?An?UYQp!)upqNEUnHJwNnc|bz2+Rg>1Mir}-8hBqWSf2|6Sf2JYk@o7xDH6>0b(u?jlOz$ zeEw`N%UhZ-}r%MJ8)*<;5B?AtPMcY3n5p0lv? zq?)i>HLx?8#xhY`96^;mm6sh8lJjP@<6(x709LZZIZ4<+`n0-0O3gz?rGT8|$w9iA zNDA*#wuP*C8L}4RQ?s)I1sr;4isLaouu`SW!K7Uk-E6OrBPb9YFUv8oCt4?j-0Z|h%DS@|AnQ`H|-49$BU6YZBG zbQR-WVR$-0ILUZc9gzbJ2PIm*F+Ce#TNHp^XK9E5yn~qu!*{%xSi5)Xv*$0@igT81 z_U(zs1EFli97<>|LB4%NzBb|!-0vIceKDPOtE3&fLMIk9%yqZ|@_fBe*hMm{bfbeT zA0Luy>ARAjZ6f00Av5QUvdHM1?g4)1L4#Nh%8Rw$N;bgym&}zQgl2sbx!1x^1_waw}UTq3vt>IJKW z{MsnY&I^n^kF{wFG`3cn<=bo&I1#!W%C_fyH+9uS1qr8-dDMcnM$<)GAnR!x7F-}; zXkx4kpVPXE?uTt>ZR`Nlt!-{6FvC!^Vk~%cMPz0KgLb+m=m0w;vm`)OB-X($R}T>E zBc5v%nMHSw%;;r$mR@&K%jBQ@W6xDvux|rxCF6<1E>}zX9TR~ih6)D-I>=1F{eJi2 zAt-mPa+}7;Ov}tgV`dVNk^b%7)+LAh0}BdGScTu-X4y;IqCg#vB4csHXG~dwr#@%G zK2qdXZFi~}cxP=yMegUaYADP}@d=@*X?C(gC5npf-Q~(NsU{*)>G;$o_UgdN&47y7 zLGELvPP^97EL*}uJCcSUSSrc^Um{4@sZ1&uPTnfEHtIBX2)6Vxp%J=nr#k~|Fh){WT^E6i)+z}u+GT0aAn26-VCOzJ?SOvXQ3U}lF+1@;FE=V~b zI7tNT7JHDMw9rDl=wu=Z9pEiP|5ig(mxSx0ctLzM%kE| z&@=&`+pMZK@I#N8nt14u#ht#)8nXzD&{1k7A=*d2;0y``!djs;p!E1RP%hlS&7%8tRt(Ao;tdOI!+g^lg6X zbwYxwLXu9-R&;clK3fULE8M?sqf zSpQ>t!C{OTy(0D4l_DV5i8FQ~0S1OLE8U+ISq!PuXtZ_okXtM0i2f=`T#%e^PTiZbyV?ocBhelOSn8^Tcn zhPP+?H;VlQ1EIh9_dN!W+3(bAK{FJYNI!)s6Uz4LvLp* zHC>$ZkPL?4hGwJI4q)%-cG-k<5#TbkpoHSPKTXlFwwkb!lQd9s=)Ah?G`Q3M`O%51 zkklVbn+L+RU>Y-ajVj`ooalS~XY4PRKgyPKRDE<`Ae`*9EK7F`q889=!= z+zDgr>b8Dl=L;A8oq+*%q3CAA7u3+XUIM>$>n;Li2F0w84pcPHYJ*-lT%8C7VSKs@ zB^7ytR0Eu+bXggyFMW0&=BD8pmkuysRTaI74j;}=3Q_IIzv{}tzu)40zoQ5gdSA|x zZhVC=1ilxVFHUcoqrIUh;2dQ7mNf8+xODu35X))}+Qn_;g=>Xeo4+VQ&W^27^PP|59pJ5A~9t{bjIhg~d>y5D1Udg8Khi>BVC4_qo&T zhctu!KYn9s0Z5#mn`YaX6zC0qYFqcWcC5Xx(5cFL&|`Lax>Nn4?vPnonxW$9)a^Te zzk$^^$gFQ|$$>_Vn5=BPo3#HWS=r}Lp6vflByxY_O?qmp`0rH=q3%oK(xoUjwtb*p zxDU2~Mw5~Xp7(F1ns{kzl48<8Ump^5<_(9(Y;i%sLukC^uGlzyn0yNuyL2m_e@9^k z%m&Nh_CEHqCl4EQYgKwLIg=X7yJM$}_x?@0A>3=phYvxZnO zY+FhF5HYaw6;?q_jWDl3P1dP7 zE!+H_-rfQ@AV!>q;53*EZFg>Lo6t9Wg#2@QlED`GhHY*3-?&)W8wxjm)l++NX}!Q+ z?7XPxytnbxyX7M;Qreq^y_Kt@X?N<#Og=)1yW%grb`{IFhjy9t)bdNai7UHTAkZO> z1INYK@}w8`wN#9*p^BB^I9WAQ$rEi>Mgzt&t9$u&-tP@_W5I+yQHrFYXLASm@`w_dZ~q6{nTko%ZqC<(A*9*yV0~ zR}A8t2gSoP&CdR;at~gvQYxzXuInO4DH74BHM>i~VqZ(+I(BMbZTGnAo1eNwpAe*y zh9fDO9-7}xv$^5U8NH(TKewlU;DP^?XWFv;pWex^S=jYToysC{Ddry8C;xMksTV*c zprw?|b9imxzqJ58)18?ScaK!pI1kP?{m1I;dB8ny+4SiX6`c7H#hB>=KMG)9t*@_V zYbgAW%UKSVD#AjA!(qvzwYGyR{lUsJ722jE9=n0}?q$SNZ~oV0HHI>cjsO1r`%8Fu z_;W-=L|AyOc0NfL3vjg4PG>-V`W|K}Z*!jym04DHElwSgXXcHa(I zxWw;lo%^QRB~?ddvB~N(y6Ue8=<&{f-Z$o+6uRuM80{wfSj?F+oJ}B{-2@?mfDY_( zXRFM`e=RHf85k2VRS3c)zs!u7Ec=gYU(5)AlelQ^-}Cih8IMJ^Bw3+p$Vd_6pR=JX7G3*kNaIXQ1ljf^gX>Io4JnD*iI zfx|PM6F``-m9%72waE0Ruhgk(aCUChr>bU%>u~)n2p-trTkEz>0{upHa`W@esmHh{ zNr6=|?#pm6yr`K2DhF)$guq)SjWR`b6w8>xp0Q7|VQ?ID{y`*KSzB8RoQzBBK(u8J zAcp4VW$-B$-=4cklY=Kup7cn%%FdopIj}7}!LwQCyF+YkP3-UMyMjrpPiP$Jhr#f5 zaw0#3j@?VqXzRPjn4l5f24=1m20^~9zt@JQJIK_~aLPNs%4sl(O(pWqU};@p;YIx- zCLe2W?|w7*u7fSOXO?TSl&RNalwFz11nTXu%vb{hgWqrpfNwy+&UdqX#oGBnz<$y* z`SqwEPqv#r~!-(i33OAAo=I}axNDZF|E};$6Xn{7KSa3AQ%S^#AHHLM)~jova=ABnPHeO8!OkGKTV!nYVqVRH z|7e-hCViXsl%%Aj7@DNmmbf7S-Wm>BnWAsY>kJB;!;K^vnVTzaH4dB^xRUv?wz~QS z_~Fgak%hU+-bXYsF)xqi*dxKlWube~xn(lLOa5#=y{!?A{s(zggX=!P(ITsz4 zKqM7ZSN~2@4BYvRlKL{c>+UGKtM)`*R`w9mN2Fx>*0Iw_y>}qVJe-`gu8Qa#s6|(9 zUlx+48nQ_c+S@FGYHNwQ4s?U=O8QS?vJ{k4U2S z${=h<`Ae6qT%b98wjj7cdTO0%Op}07!fZCIZUY3&g0E=%YcFKq@f=-}{^}{82+}3L z8ynSt$CF_gxHSAKI{+v5&(iv(VF%Oz-AKQ#A738Jl2Ng2WF^TjU$*8q7c}uc8CdCu zPJK_aY1a%)7KeSaeEx2)6pY{lQfvSA^Bk#|*jO^Gq^jQDBy2~;ZX(L!me5hzX)nfe z(<`J8*U7)x=CvDUXEcwqeT!9%FgAsi>pn5KGoS9x^3C!YNloqi2rpS$T_i6*f76!f z_4>2@-82b;A67v6FT7Qt?SmB zHe5A-yArF*2i-pETKu)nff6UCDC@QGzCEp-`iKIvQU|Z?x|Pw~%`%NU+}tYA9e&{c zJ?Mv@nsaHGV_zLDQYV`vi~1N-(aX8_`E}_er|BP04PeWBa2Lw)zfIpf5)f`A?5~B6 z=(yZLtmN(2s97qPc2vJET6*c=%I#iD_NRRjmQ&Qc>>gGB?L$yeXGr@05ZsErazp;p z@DR6m;?pstde(FveOA}G*Q`Zny>>MAZ<5%D3<}-0@+*B-ND#=7j+0#ieTnQQG)|ff z@oAWd;rqLzeY#mqB}353p6jO&QBooS5{g5h@S*-bAkDr_W1)4T+Cg;k(%x4|ebwf) z@K(wG=(%?|`wB6i-;~837T$C6bWCy!SF&X{R{N|Xeu5~Z*VscE56(rIr@Ai7bN>i* zKidr4#ob8&LzcHwCd*zu_-?_BENLH*`)XNNjGl5r#k-1gaCm##En?KU`&x_$)=kiAD6ULY=>cwA;h3CIcTl;_EY*23SE9RfoAK&zjW6{!dx6i?HSgZ4k>~*ha>?=MJe-8-l-`T> z&o7%ETHXCfe`oi>(R=8DfL6vhc;nT|Lk@I*6N4 z*Q@)!h4OcnxAQz&dwEcRxc4K_a-url4Z+0Ir?{Aa7q*KM0%?yocN=lW{-q!R!JV%- z!%l(E=HBYHoRwOk`v52yA{}H;Ym*u|4%Rj5MV7ha;0o$(znMATM->%u`wa=ggRYa| zXB9Np!i-vszSrE&Nkd5sKuI0OW6flZv^ z4at}DoO_#e-_XART=70H9sc$vu&99BW}X8u^7Z#0Uh&^`>?mM{_^SJzHaB;7dDPw} zy86$!u2ukQ3Ke6zNuwidVN*8Lep zu`r1Xvc#Q%&|zqh=~#Y;wE+jUd`I?7iry_aozcwDuy6IgUqVJxv z$`=+D9XxmLoXuwYbU{3Y;tun*J+paYHMNSX0YJhV0MVcGL=#$LiU8QGfS$#k6Se_t z_f<|3lcm20SrUwH-}X&@ke6gla|F7?jt?)K7}JjU!*gf)XjN77A}A;)2HL$nWVyPDl$MD8FFm*WJtrrIbw4i9`&-eSr#3P+E?oK-UgRI}_gtR)9?)9n;Qae}FZW3V zoF8^)%X_!&PZ;x@c}`()qJ?y$pmB^f0djUsT` z`*`pBFa8IZ%(YF6uuG#WpUWt~sb)4o9tlSnVHMcg{{! z6^IzVF84%8%f3=}+H@pf3gD#IRzw;k#26(eCI1ITSkVpeaE1_KZ>FRqB|i}DvV1*2 zr?IF;VONIJ7z)&Sw>eIHhiR{Dq8eyg?br3$DazjS{w&|-6u8&i3znXKOH{0@tsNnk z%fZ!OcCACZ7|;@3u=B-TzlkFHLebgz6%%P9;DvPDhYyd<;fnzjgnwpOh68Czt9C)% zLq{xf@#R=?J&nwyr#Z>(AF=T2)~B5(l7|sMWnaTzyJcMQsB2w@(@+82bwSLYlBwvK zuQ-^|p4h)qlsJC|IFsRvi(e*wjtjIhLfixbXghm*$$uMkjQRfz6m8@Cw;gSM_04U` z7AzI`YC1+Zy$(07hI`T|2Q2_~%F$zv)XV0PO^vNt(V@?*HcNMQSLPHYaZ8#DTY4$( z{6+_lR%r>=n)wb#3G{0>9&lxoEqBye9uZO=JKD*X7o%{MfnLWq3v0wK}FzMNPYu$4aDd8aEym{S@( z%>C>7(c8m!qjJgu0u+%`ue5rW3~DGnw{>b9^1^tzL&ALMM_YmM~PvSp`zzez*kV>yOeR_0z&NEkR!of0n9}<-Q zfuqUj&+*#zA1;+}cn4?|AI;X5%9}KMws$filv~4ga9_F76mKB`+>Hh2M;ag>^K%6{v4=a3kwvL^Ws9hY0EU33odx0EJ z-qUM*QHKw|itzt!RiMFFxA#x?G|E&}(hahoJ^i|O5Y_X-vg`bH;nyBT=_Ij&EIT~%M#h9#-8hz@M+}0_3%FjDny$W z$1OQpsyPOB2Y9gwNX`!ix(^tk0-7-1+(DR^dlJ`uZVd`b&hm^Wia!-M4=wi$8Ts5B zPn)l*uU)=f*yZ!NV5f#WFgT|*@~6#_T3!T3jiYx^2kXcm9{GXsbn$L<*n|GT==3F{ z91cpI$9Xu5Zhl+q5l=6n-(My}e0FOq?nrbx?u^Fl>5F9wd~>_14oao7_a4=bDr#)% zMfRv3vQHR~Q&}^09tiY1YiBB+u=SFfz(SdiI6J!UZLnQ~hG8f{4p3>#H$h$OoZPs{ z3c-u}5n)$CzTb1PGk31#vbNuxHXYIkD>({Q)g0l{v9+ozUg%G~6eR zSo6qY5wq~l^`n-^30<$v<7 zc8u&3cCBIQTBTX{e|4HJ!SP5>$_e>{IlJ?{7b&~2c8ANku$3=+uf>{{dFoM?_HG=l zJnR50&C8R$J}$zZN0RQpSZUk2#otO+)YK@i6Q`SHj^TBzn(X=L%8@xuQ{_4D5r4K$ zSMjB|?EPN*5*7aXfbMUY1hcN$8r{eq!qK|fI&4Mwc;WE4*^bBS_nXO9uYcLBHz+(~ ze2|123}7z%lXrj|=#3Q(eC;;QylNDsVHA;k*1GC^8P|Chi&quAhIbeB@M!^Ji-`hL zzCls1x8hhyzb>>|M?{wMy~3XN#DB4)me;o4KhC4=B&2N}E7OZPKzQa9*Ed&0+yR5hT*0AK>WTZ!f9;Ut6&K|NBPpfA12) zR|O|SOhcl>tlp#vYY$%fzYW7p?-s zWW@!^_*@_wZuRD&*yjLhL&3?o%7N(MY+KkC9&Ze94L|&xb>^AXn_De+H`U#yWisbF zLnV{6ExWuqHanzayw5(e-_?+ABxWL(Iq=`}^9s;XmEz z&dNL59Xfy7*xk8IGic6y(tI?*i?epV#XQ@%9w;NW|L-AdFAqLr``2AqT>gI={p@3z znc7kRdL4t@8v>vC==lEq>|T4yp(Qgn-TnOQ!ZtCh?M zE6mf@Rsc)0nUa!nMW(<}(m{qgD5yQJ^V#!$=9KMy8eJDr2IvY<%2PO8=p@^g?Md-5 zec$~a7U_D4ChXxK_s+iCc>Ve{t*`+zWR2k@P^xE8a>|=TJbAko3g@HIYO{QTPUeR; z*qB2wS-)mw_^i1X(&hjsLxDzJ*j;?mW+kQ>4##{-2GLHj4;fBBrEwAp3S3ooZ2_Ez zI?Q(2$%=_v?{}q>cU_z-RzCcqUFhnCPVZ{>-Xf`8T&V&Uw-Z!TI#Uu!547WR*f^dJ7`QQH4k%kjUB z75{h6;t?4Z)NFOj+h;LQxG}jAzI9|U#ay9qb9;x{xc<9n+ z&)(6*ur&|JGl|Zx65>1nC9oD2#&TTvl-}x)W9_UHtl)!BzNn~Aya#2qY}*rAeEp^T z{iP8lts8+Vx;i?aYiW}t>lZox{iXg?>p!Pj(r))F+ns2hTt`dJOs=L->lWRMAK&he zbfH4yL-WsCFd$r!Qm$Ag5Pbi6u=>BV$DG$*>FDS%9TMLSeF`ovuHes7rbx0HCM@(+VrvV*Uh?4k zt0x9zq@_Ou-n^*}(?w(FsD=f`KfZo_3dFyCK(gb?x-=8WIfI8wt*or{tPzwt(wYf_ ztB&w~P!Vupe@kWVKpfuxniGB(NXwj!4vR?w*94&TL%IEaYfqCUSv0?x} z%n*>>uO^fH!yZdo5*|iQ!l+yFKf>t%Z(p;N5Sv@`P56CR^H{ams_3bvm8JV}ab6uH zQ1}CDcWFhs8$rLAfBLN56%qsU_SL8T9qjOPU506(BmBpA+I`)RMWX9hj^ z%o34(A+aAWcl&kR41_u`Ib{dTz$G8$Tun?8DH;tn8<{2;KNuGRuMT7>53Pi_Lh=!t z;uGAG*4^lEH7X2-eD1}+z6#<)#l`1fL21^A)X@GO-A3i4v~=qB_SiP1K`%%RqfD16 z1OM4H&}`qm3PcFLtuN(Ne-QO>z^#eFWWxA(Ee&i08H8A2YpINjs)#P#oz4>AfWUz57Xsd2Cu?d45kodO8Fkrf_ zt`vVk$Ao}@SzAFau2uYW=Wz;1ny zVoBHSh8W(n)9C}xlW~o^e2tyltTHZrBCxjOphno7>{dH%UFH3)Y}L{G^WX766n3oO%i+Wu6aY*g6TApQl z#S7pq0J@s8KW5I^>ZWokwtSRR8ZH;&)yq<;QyYrZ$W81e$WG>7qqK8DZlF2$hZE%e zr;@)Z&rbfB-^fGCfH}m4?tvgX+4yj~3qoOV8gp=8N`*8SJStv7N6fZ0mHe~pNzM_m^tt{?lnW&K_>hfjAuZNe(-iY)?Ckl}L=owz}T@w?nK# z+esy80Z_UfeCEu|Oy7`P(!}GNUfYXNcuP30WsTpD-pp}m=q2o6X43>h_Df5)Qs<_p zrtV;I8}^`*csKu{Ogf zQTIaw{rWR*>wBv32c==#3sorkXMVwYBNvx61b)O=L-~xuckv5%R$kr}7$%%uW3ZxB zSn7fMrmLsL9n*-sKpnIvGo%n1i)zdZTxHLG8i$!UHi$jIi4PL;=)z_1G2^KLX3yK; z65jTbfLQj3)>;nILszK05~M^rDP=+~+u*;9-UeHQlV|fHd~-|IXI?!Ur@q|yL}1Ct%PE^ z?2C~ZFx|2S?AN^6ca!KB*V;C&(Ir+H7#Ii)J&YGm){I3ejBiY)CIXXJ71s!OJdp3J zE}m{G5P405`K&DSf|i1^A)Y)xw{f{hFH%97_6PI$>FHa?THUtIK(BUtt&F(O4!RPn z&A>(e)S4-bq?|^=RXh>w@tBnHTM=>PJqlhgqJcw#s3Ev*eRKb)`F#BD^dYLXYczPx zZ_o274HJ!lRmbhER{UT(3jzY}tEClR4IN2P;GlSL@@%NVs*F9CJysWqx z5JwOerY{eG^vfJ*oST_hqBUvq39g1~x`F3Ck!1!tRQC$5L$!#lP~G8#SM@XhgM<6`v^j}4Z)6#ed2SOV`Ywban5 z<=W{Pv|kRAkb_S(Kw>b+FyAVf>(w>{-%a4gffu={7Y}3$Kz;EHV$2S$t3U0RlK+-W z-oO?mgsvndEnT5%41*Y2PYJG=pCJLIkO5LDfY@R=HIVcrH{W^x&jai;=w~^|q0wtS z(rGk{P$RS6AR6(ZT)fvl##{uV?gm%?nI%8QluvKiaBvitI*&Gu1zKL?n`l++U{8Ca8QGkyDv$~Lp>-0C_?iLveN5ox-av^&t{75a&@K0Td>6E`j`S_!uU}V* z6i}-CGx6DXPsz1YAc69*VFboe^T_AJGJq|iHS8m(fm<0dmwW(*Z&svN>?2OwpGv?I zhoIy6&WmKc(S@dV@hY>wUA|=>5HR4#8Mn6C>xe9ln@}|lQjyM2IY?UM!OHKe$|JH$ zj8g|687#UnvrB{;*QxRd>hO^1?K zODfBCXYC+z#iRgsPq8sj_1mOpR00|z5PP$I+x)R^vdrMZ`?FmCvgwsMdx63~9Awy= z%O24Ht6>2#(roW2V;R`B4KPDB+4kKeFS_}z-uRO&8*npy`BtKGdoO8KO>2QJj@hrQ zLd9xqMG2xw#3P%?)cFdwZ+-apV-JRL3-<-Vp+pr=_;aO|>*7~I?)F>~N}7bA*NUUg zRGytq1QqxSkStwEA2(@SJb!Kuybi$g%FYG`K>CKZJGazK$lg*XUt0$suBD-&Ve{-d zM+|8Awlpvz`gB{ z-PH;R{4g<*h_zn!hU+ov;`#`8L03!#qy%DM4gv078Fhs22q#nV*50!}k3wvaC-`LV zXRy_$6uf7n;dLCm--KXo^)pezs?xK5@_TN{(q1~`XWX9ti;d24Tl;UXi#(z>dU?7 zk|ZbSo}a#WAZS^d#M36Fl3Ra^v+^rhXd|@>z_EEy76>N5=0l}!RPU8GauQU*YdE`7Am+MNnv52*Q@;ymeXl;5TTI~ zYiMAEuD@r$iu88Sx~!0I?TAL=Fcn{=BPb>>FMlZe5ZCGt=1cud1v z_P*waXYEmQ?1Jdp{c;yrZ~hXsOkG84}^@A4jq<(%ya?B7s;lS>5g1|>e}{L4{WK)) zf3s>DUWjDo>mN|_?f2N0g^@}>15Q5AO9Ar(7b#O686MyfFHm1@QX0cKM?eKo9cQbN z`xN%_ASihh@0hL)+!|kB91H#u7OUuABoFXg>X6?sM0mquJZLVahsMd<>+ zHgLl7AXYC)Z_jo<0;#+0+_f3=VI}9Zo{F2E4E)T|cQlI_z8D}l$12C3kbIObbVKW1Cpq!44{q$v);<$S!j z$tMYQA$4{2e9$L$SyhZrO*J zgY>&;rHj%+-42hL?vunrg9(sinZf2|9d-lJcGrrDgopSj0VSS$RI$Zv;vCaD0Gj4w z^_5Sy!L|%%Jrw7V8fcsnu+&_~bL;*6*jjDd%KBBA{YovQ8g08%I8&2PeH@;@((i=u zcb_PtWD2!}R67aYbVyThKCFI@Y-n}_XW{fFyRDgIH8?^?>_KUzNG&;q5I%Ne98qsjTl}uYaW#((xhL4ka!Xo zVJ*qdQFMBUkpxLs|2MUMW6VE9yZR7v--lLt-=$0dLN@c3-re7CEtt6aMU0HxR}>Ii z-Nt`0N)rrR>4>LkT@R7y_fQxaAJ6Q#AEy_T4Oz;s=AzWa3RI^6IsPUUAG^51VCbWV zYozD}EBLKA=4cIjz`MBhc%CWmG#=kPF)|i~b{!vW?8wltClA%YL*So|A*%a%e+48& zgdP{``!n}6P*nNfUDRd>Vb8dYl3G7q9?^ZEpQ3n+Upb(BuJ)=RCBbjM?oVzNKx#Oz zh{%1LBf9T#IxpHrsy?sC^QLybzf7`-DU^l=)}@r%I#m*jkr>?^V@*a+~j@>72)W4aGWdanJI~O38^Vn-@&< z-JzZPkowX8^#WwNR*RdMxgjwwqY<^j)b7UO?-phx`42p|++0_5MPlv-*kSOEyJCTDePA%R>dF)^mC;z&$sf?%=m$E@oC=@OA57Ug*H8gs! zX?E2DNTrqjdfA|Nf4bN1Q|_rmCjm?j?>%`xY+{~dQ0QsCfIzESY@{Gs!Y{lXzHhLj z!yva<&bq>}=c#Y)53EYXN#>#Noq-O%Lz9&_QUYxpkN8hGcGe){x=RnnH=|X-aD+l40 zMK|vAp>dY<*hyGeJGY6fn30i@FeX>nG;nAA(LP>`$nys$v=YiuoWES;U^9R!aM!+N z#wK_Sd-v`=t@!j<(~fyK!~C(vs4CnSbijHMpWGc4h;?i_Hf~jNDZ(P)Qx1@8$4mfl z*SJ07p`YCd-EC~IyUY6uPRHin>n(Z2?FH)CU^$BM^X0JvR`Q#6OSJ-OcCHT|RqjHqpFA^({Oy}NYMq=250#6& zTi-lxn7RQ1Z-A_-udkQ=Y&vtExU(2)m>-seUVL&zL`MnhfAwBbsLve008k3Gs%-Xq zPOHnA;hmf6xu;RjG)_(&+OxBHav2JA?E6x!KwqpENRRR~Y_^S0#UC0?)XqX*2q@i; zjbch3{l%6ZS9w#)IC-K1W^6#GCp6cE{lYB8b<81~qH44VHRF;jONlBFk)3vUq4Nl{ z7scrW8?b_eH$^csGe@N812e<%vBcJiv^EDkAWrd=6@!`^&iBr5Rhg@gvY z|4n)NMNmM%`T+jkJ-N{JzNewp;=;rOF@i8)jtBAONfroZ`R*+I$KxeN)oSs!MqCS{ zP|RtL7+WYvxvc$$6Sbz$QicInpn$=^+yM_@Z+mNq4((KV{{W3jl0EqM60O)S?OUcRX4+mLQ%ugpe#)LAc z2!HUut?wtekRJLJ=o_3tFpo9k8#~R^jIhnz_>VRf*mLw>?9NZ5jzq<;wxo@PHxa{| zcJ`OP!DL>>6efkThMq=$l7|a@QO#cSYF*q)^jKX`6y(&p1FRMjiB_>DKS$VS1XVik zX+Ud=_JVT0zZ4Q8^1Q-Jop|PoZ~Za-?eH-Z;uxc_Y^gJ~sG{NV_b&z1Sd{G-s6lTH+--vu+onW$xhN*tpbDLU zD_PGha6SvT?g)@e&zZC90D3Vpe5kRtze^(U35B)k5pe_yz{n|KxRom>>?F40pU?60f zcR+8Mad2$RI-vb8bMlGl1UH03lkvsNmvL~6@2}urC@6c!T*}ax079=%-e=tpeueUD z*A-98E_MOON1H^6h*fr>8Yl>sHa9mD{pKqs*?^_^5A;6XMykSQEDQ~G>F>33ohgPi z8rt+UOU%$6zBm2k=gW=Ad*P+K6}YzIxRmJSuyALC9KW?xP#f z&GHKhvfoyiqNF_ZZ9B7yx8flQPQ$L$n?~5#+0pxNn(bF?Q@DeU`!hy#={JU!;KmqU zC@jaYrDbv%N|MkAiXP_4Gn2&n%$9Nk+yPb;sx|`dOraeqk_L2+t|6EDXSYXg6)mL^hhQKeC@vmKl@~L zw`zqBhf`RJZk#tuXqW?KZNKDIM7UD{5zBpx{Qmv>4M5(py9N>e*x?g%Pj(Be3Ra(R zSw0be+|~FcinPU#!NB0x?O*S{G#TlSWgF)mmpT-5&EEi%4e$_Jn>WrEhNIF#w>3B_ zjvrlgyWYR{7@8`yh};Q6H>gV!VFt3Bm;aCpVqV}~sfOVFYES3pBWJhp^{Y{#=Y0hi zoQ6qGOMyiX7>uue7s|EY}LGRe0zx(rjoJ$5x{}jkGHw$4tcozv)6dns?Z|sBhiRS3H7D z^+#t-ucz+Ht8@an$BH`#-x=p=LDib@Fr4dEC?FZ@Y-UVFKBD$knqX3(G9LwWRKL7w zV4Tsw=)nvGUdU15vM-9b^WMN7_b7Ds&^d+8cYOM@gUj~s0@*rlZ>73+AgPD6uvF5x z>{Hrs?7if-_)JT%4bQSqVGgEW+EL&U7@7Q&n?jG(E zLrdZV?j3-3^BcACKhGQ8vQOU)`?ZVA?$SShc7I;3XtB)K#N64tImgQoPAcAM24*z3 zvw{!1EPj^x2hptfkutUw&-;L%737FOwm~bZFjqi z#{9Ep*HiB~&xo9g564b~DzzzH4GZ6intSJL8b2gwe^K&xm1FeRjx+k5s>Ky$Cf4hVh z<9efvSTrVSP!(2Vs4#cA>X_vkRKexNSdm8+9`_&E|#1 z?J96HZj_0RN{10oBs6boR6ZP}eTp2m*~q;}6B`60mlbDm;(*=l+h2c1LVG@a48GHl zOvWQyT;Md?{y-^dx$`l6GcJ%F5bN$mGbh_&t&0#*C=QOSYdMt95BSk%aO?GgDZt-x z%&m6g&vD@68TCaST4hItK9nBZp#!{>(`j*)Kr)jZMTO}CkfO&t8}n~jYzDzRz`OV% z4$v2tNIa9(EvDP(G(ZF9$>QRfn5e1ydY7395*6<#8O znpg*k4}+ik+{YC*0(-ta!d7pt^59+1xU)+dliy zSDXS|#}%@oou^`(2SkLE{}4ks|Kr0NE#Jf}o_KoiO7wroj~9T8e$KcLW%|s) z@7H5Hcj678FOD=X=s7B!kbBD!?8oucw$`6NO{0&hVPK``ENui_U;H#gqyOa$m_LiR zR`7|3pDzTh32JW}LycY?YHp5N#O1&WHWMUrSnMdgHQSo-q-o#>0u^ZOlVz3?yixQp zszzz0>Au91lQ-OuqA}Un?EhS$d*`ah!XBYeya*i&fIjl~3_A@?D)N53g)R)HG3t^I zAx(q-?|IOFKCAvJ+WPO#(m0yUJvS@}$&oniSm49sr^pPE=Klh#cGMqmq_^i(PUXun ztbK1Z(Y88okaI9$(j3~;&mRkV|NCtvJ^n#|qihVV$Ngn1?m&)}c5a05QljvZKgTaV zyW4-iWIJD!A%!F6iB#e}8s*aK1$JSNFTI8zfSk?}D!PYxd8;fiv{zqiqBnceTK_`# zLLdJSsdG>p_XNR1;?)z?XN098#+@ntcZ_RtDjp58$7N46-F8pV4}tnz=fpX}t!8%t zw4-?W__puUe&0tM_lP4O-Qx|3K$2xdJGdxcGs}$6&o|k{Z-SxygOT`Is&rhKU)bXZ z#`0h1S+FLpDF|<7FLkkiu=H=JCCC|LCG1fR)Q-5>pXabxE#RyK8?;;-x;M1x;;R6X z)Rff55ia@{MDykO?E}>nuXw|RP)}fEI4VpRxB#zd3E|CQK|#ugXklS!wE!GT{#3kn zp>bXT7srdJ!Pjx`K+6Rz8vR>JO5VOvfiR3@FzhTPyJ`v@V~YY~yo9hD2z}0BIVJ(* zdJ;BVQ`^L*Qe#4>`%70)_$h{0 z5?bxAU<#*C{)D%SLMJinTGw(!mhy7d-U4NR;Gw-7Ay|4MaUU(C7N9G7L6dKkB@grQ zc>)mn;P{DrP`RqHF5`(EZg|I_VhBW_r(fF1Zk4@x)3|=_r^TZaEKXF8nn0n@%3hKJ znyX;3x*m-G5-o)V%gY>?k;Fu1Nd*p9DAH0{bl&Ihwtt`>>ssx-I%$V z-Nhw?vQ}4C%7J1b)-8}^kzm+T1K5u7?TzJkF8wka)B1Q&kTAtkXG{iRKECzEd55PZ zRA`#?cE6)?K9(vphTf6_6z-!RNYm(zQ6P+QJCa@*sGCsW?oU{`OPs>=@&ecsw~`?U zBH+GX9BV%RuKslGNDa42&ys@kA`muK;

|ryJQR1$J!YF?6wR1`k!@cm_R?P`IWnebgPQxJvsn-U{dc5L0_q}t80w@FRNGx+%c}MW3S=MDsC`c z*b`@{&UJUN!Ti;NB&7mdtreN#O@+s$8giH#;kP7ill}Bc1kE4cxN4cO$gnK5^LqR2$5U6!ysZwpLc<+L_esE>%a-n^95c@33ye{ehd16&kw3|ZbQGY z1@it+$&3*zTDD8T{I^e-MSX$iP2kRp)P28Mml=1bkIBL=x-^>cChL)vDARpbq2Io% zKTHa~f7he;RYOB>_mybLD=0(^Z}I#CDb(sQ4y#-!DVPD(W%bE+O)+_Mp@8q(mkEwh z)12|FLI(1`BMr?$60$8i?(lP~e9GWb?)Bmhj9Nd+uq)_r=dobbu*>NjkEJ$`&i?0{ zM*^qXqF^J`JsXiLDUgfn(6>af=#SMGb!tX^wyq7hSo9n&Z_Q==1&sC;<;#iixSz|Sh43`qWYlQlI>A2PG=>b=91mZ%MZZ4 zJ;<$+ezeI1!B`z8s4m@~kc)Iq#z!G3opyRV{ZJ%sG%YgEBqDpe=u|Sziy3PH>;_s0SLL{@tk*R zzPu<@-(`ABEup)=pM?8!J~hmaF{jn8^0vXyE>zIk-~n&&bSjDg@RykR`T2)T3$wr8 z8@JmpG;nj!tC#};%irjoNG49?PqJGAR8T=UD@=2tUxk1_+%Ird`%DSC(cQ3uea2;f z&*o!(G|S&17?&4->J3mPE*va@kM!~a=|<}}+2PY-`YC(IF;@vl!Wj!l1GGUuPIy+> zp)KWuCXNFlywWoPJHI6d$Zjd;tPicSzuSAGQJ)h6C)13x@+v}_$R+_f1s3F;eQUzQ zRC*6ISo8+8kP0J_ZXKz&L6lgDnhBiSS9UAKC?X3-2TywOGGv7hx?d+`- zE-^jRA^iQ>Sg`S%TU%BfF*F)Zc8a6ji_{a=wCdGszsH96MAo4Kg2a6ZF5^e=sCqPg zf zUF8pH&#nTJ!d6yvgi58VZ&?$de4Piavbf6#9!#FPBolZ*rBRF1hpcMmp~DBg^nKLB z2Q;7a2;F6!92S!UoZoXU;CbRT{2qrcx-kpaA(y!$Aoi)s6F7?<%?t@6+&`0vtbDnh>luU@@Ue+CIfKjgYa z-;%#L-2B-B!yNhRQET&qr0~%HFb^=gO7X!bw(MBg!LB$G9tusy7N@nqfl<`l&nh26 zUO(QvA9pOP`_qb!(H!2xk+`E3g4ia}o4xV6^<&*6Z&DXEFvhGReGcfDT zH2ra4%IJ-r83?y6)$L#}hktXGk2vdScX9Ggt8EbtqWguu&cWr(2`Jt>TQa8S<5Sk( z+so~Aq;uXGyOs0-kI>pn@dr3-0N4;7dRl}yyxt&t>6ZXAyMQObx`rpr#iq~0Nb!CW zV;_9U+R6&%&pIsZv0YTu1u);R5+6$O=AOHGjq{UG3rD=y!56$N>{WZ6KfL9DG(w(V z@m_lk;2NN2qXxQ$_AsW@u4g7jyfMt$*V{WuYfjzPI$;zXEHv%EzlI_p0|;D*nPmN* z6$;9g09>boa^JfAjw;5k`Q3&KLZi+uO0?edVUYamedA!ISDxbX*YkY%{f7tH z)IwZ*aAQYJO?$Kn5=-*Cgf3QARSk-z26(*I9rm4k<9)7%ij>!yiI4Or3|);PA3 zLr874bh%jlx1~yl6g-@~&h(l*{=y-p*xGM8>#D=0*v;B;2v=~vq`?-)d(wc`Wy z8tKI9<~sw?C|fQ1!kbj4T)gGe^84d`=E3(4ZRWUFq0p@k;;na9?Weut#gc8IOgLkEPkl?0fefPUg%>#RV*k zsQP$#7|vHO>v5P>^XoWE_kGQ~b3KIe<9va@_89f+HBNJASKAa%$@uRnqJ70!7F1RB zyXg4U^ZBke^faHHR66Sd4J+W&37I0uMWKel0`CumNAIF98!(gm<}{Jqrf_c|jrV2% z-G)%0$!`pB0)OaqYF-GiI%HK^)Oz2JZVj}vg#G%Kfw4y1XUO*reY?6sKL7BE9^g8j z(I?RXDjyIr{Oi|Ai1kMUH(kdTRm3u(y8yL5K$u}$+fOHip1#c*Lz-(h9T83U_q_(pcDYq(`yVO2RAO706Aqv-yOKy3N5i5n(>Xrk?PiPE!e#_h2|F5ZJ1# zXFz9@q`p|d+@`qvG;8=fngmsnOx%j<@l`y@Dz$5pDtXgXQiSfQoN|-Tr>cN9O|q{`K24 zCAUj&@om?(+$>A=Xk>T}8&JpXDG9)JQuxt;x=WyZ8Udg|)w3~?qL;?a4hq{kmsV@O zfK`3xKGyJX3tv+#VOcIjk9wSY3!6PCrwCtCl>7&P`q1Tgi~VJ(sd1BGA4w@6=-+9C zykLwt?&a-WIF&g=cZ^Vjh6)bmv)hHUXGegwP~9oqi@x=L{c1j-xjqjME5Q{%B$M;z zw<|!=4J?+csJ>&8iIy|N=YP=JQk0wvz;;)26F>RwPt>d4+T64pqyffVP~9N6^kGB*1#H*mA@q@ilb!HPoGlpc<&cZ4HR z_SuXZi4liPZ=fT1&Z>%)$jAI>wjXOQg#HMn8c#O4=*d`U>xa1L)KNqGHL)wWKQA1F zy$CLF#d&1rNW+R~#UYOC)Ps}EH)2q>W|To6Y(I0){Jbj#$cC1sabW5Vwqb(CIe-9W zP`k!DF+h2^L`PI1&3F+OVKfXsd4?It`j1Nj*zFUGDU`t3 z@$2=qVwqQz_L)bq`S;_aje;eywYLK{-!~2TL5S!3+dr`F{G1?;j*e%4?j)Prt>uKr z6RUbSMvRX&4;f6|Jk}X;tQXfAcqh*Fe7pV8jfc0MqKFH2y;%n&D7Oca9scm%4GD~-n+F+9x7|G%q0vujtl;ToTIz~q-4i zKOM*8nb!sw6TfRRO%#;BZ3pefvlQ$6*mmP%N}H2@ardMt`(!&=)`6UWJpZ$}{zvN& z96KFuU(J|Y4-~`)w#dZcM5bzkxMxGgqgT~Gn{=uN`R=)pkSQnuyr@;PAAf9Z9;5m= z1Kouiy)JE8E=@eR&=|L$p31|bjZjl`eYnjW<%%J&PdexXK z{pEG_irbpI2LDv+2S+aNKC2(x@XYx9L}S~nOHd~22A2gJA{;sakF1BmYta)VVFOW- zSX|#70M)&IeYAD!F4fL1c1}NvCd2#thrWvJs)(mjy;|8hr5T`l+riJ!;~9{${Zt5| zAhPBiTgDmcK-+WSUb49BYD;{B$30|M5V87Lt-CHxjb7~&ZwEttQ|bs*^25urmm-+qEx6eaW%^acKEgKw@^5j` zUHy76YHB+1+t3caZp~{~xi^i4!|fTv1E=7B&eOZ7t_q=B{;q zY~w18_uBSNdlsVuEkT}B^Yh;I1H+!%uz)(sj-qy}SCJWHw9wb{7GKq?>eWBBNk8&M ziou}qa#6cXV0M|ezSFz9uvw7uH=#;^rIsL^0BsE>Tu$gut(dN3EFQ0XflB0)NYw}U*q zua!pK8Uzj^%^K@B2(xi0$Mt;8pT~-BG*b4QUsUv8%ZFiw%pd*+48(_lAqTy;)gdra z4BC_X-nNmgSAnq#(!09Nv<9&@Ny=R#aM{PjXUG5Tz{@Gzru>}Oug9+_1>KU|(RqA! zi<+^Nxm;AXWB;QDj-PODO3~hF!#f6shlwW`$Ye76N^aX`NH5(uQ@1FOy&3!w|QCTYUz(9Q0+{(zZN9|y(2ot13)4bjwSyfd1%&j{wWSDnG(VNM@kFrjL}z` zpPqIHXUJ>14S?RtP2rI%k~Ma|!!>Mafw0VsVOc;~Wg=2xJ{mygyeV~%A&bKVibo^A zk0uP6QbkH2V4#m$^o8T$H6{;EOJG|mScZ`^#)~X4Zk{aT!s!;+?IhiGBY0HZAVR6mVR{^kwUG$uaW{P1V4_5Um!H+;t+5&&!=DY#J zZsLtbX&niRi;HT*{;8h^Ac&ICD2pr5ykf-f93oWh`O=+{Ta+rTsu!c`g*5_ zQHrj97;WVZ+9e_~vUFRq>16v5>usnPadX5x7Q~qX%9k+=0YW0l@PgL*i>M+gs0#m` z=NG!Fom=z-h1$*VKV&N?vQZ`O5<6AQfLd(0Tm%ViKLFdOhrD{NpyXEC-U9SvGSd)e zLbS?%gr9$cK?N05dXBMLd$Z=QYAs%(C1ilj;OC!i#O78WUZ{Zn;h6{T7vnFeb`}FX z`wTUl4-)B*Mrpsrso(3$&+yXPyEv(ZVn(eyqpcNz|DiMNWP4sWEZjR^E`H4$F?e03 z0Twz2^Uui%h!P||v-l?)Ay0fsL~8Iy>}OVv%WdT^Nclp5|Rjb^dF!?hvP+5*7x} zx16Oix6sh{-XUtM^NOT9BO_`zla?e3wK&mwz)@*Wz(mWzi%>G_;JOcmO`rNl`<~Jm zQ9=LMLMq*P>l+~4mlBDyk77cVA<5`TByQUag#WF$JGR34kps#8J@j1<(`{xlw||ak zyhtdyQNODKkoxuzM9oubDN5==3_?N%xKZD@R(dDQ_8Uu)9uB=evZKOdB3#hkyc1BR zO*KOzn3tG7>eC+)@|tFL?Dq?e+J}+Nd|gf8Bi)K>++0z-3J`uWS;*q z5w1#D&(pQjeTrf(p8XMS^8yy)g^mAw2U8Xl4(5iTdnLX>ominz2#&tEMz;$v-9mpF zuuwldbvxyqXYbZus!I=1VRkzE5)er-ncZbP?GdQ$aWy2xW1r9Tvdxh^By-VEUk9{B1XXdS7&xArv|GC1**P~R2y50$So*kqg zJpBAtGR5@Rk)QtqJthFUx`n-hm06PLXpD$%LAJ$v60>#GUl2H+UqLag0clDXJ4pXrY~*dlpe}b^RNi z2y@<<+jBE*&)*LSGooi6`4pL7wgG8J+spY-1;X8JvLn zTBsP*e;kd9O{&9@+i zw0+tqDN7Trqq>`MhVwlI7WRN=YKSc|UZm%lLZkkzN2O#pEBh!1whVT?3i5A-TUEqI zKUx=LvlGBsWgT~?hPu{IPaIU9716_Or>8`4b+S3@<`8Yr9c8iUh0USg#$d&>;GF)o ztpx4`K*0}7FW@lZS2XY?;}m+PD*JUkqSSRTsRh~|LbY&$*LU&^FOqr{@MD~U@X~ks zOGkio1k!JhiI#X?bpiT@Gbyx;fynAe@}vAQ(!Gd9wa<>*Hw!H*-Yo#FtlM>We}8`~ zH)wGM#RFYg(D8o_W`XqvL-zrw@rhH*^fm)b1^{2Lc;whR?dl1BES}iCyC`hE6_!jq zkQ7=#wVPgt0YdKr_-NN_Sh|<~76*l9JPm)H0)4Ez#8KHR+tuvBd!#lXVmKIhP6dpc nm)A~C6N2s7!`*NK-rLA-Yj)FLiyvX>qflCEdYHmX*F*jbL_QkJ literal 17768 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 diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 79df46605a216b4fc10ffb100eb82ce2cec1b8ee..410a187e8bfc22f1a553c078b19d3349c036838c 100644 GIT binary patch literal 71679 zcmd43c|6qb|2H})RF+nXP*Iek#gc6%E!L0{*(v*2vS%4XD)q62P{b%CG4`>WQ4+Fd z8%zu#%NY9%X3WgF#^?LH@B4B8bIyIvea_>|myI?JF!NPI-%0rMt^nSo!^8a$ZXOF?I8B+v-We7On2_?^e&kkfT@AAv1hYYbTw92bQxsgl{A50WIytKt~ywsfY^t5;5xB8h~jY|D{%x_(o z99Pmae5ZQv>m1+ieP@~JcOn<74l7@MPnJ3|ID8mx`RV1=?c|RdjzuN$T~`NnK0`tb zj=TtUO0DMfYUoS;bnL9tN&QRuUxp~N4fJyV~r)!qUqyWIF^YVRAh&V0YXQ$2gGPG>>vhI9|d5~1j(6-|#PLbPis2cj}b0d=m0v;nV57Bj!T^I29S}Ip>%ds{;jEW!i3+ zZya1XNP5l9X?yZfsm5YYghDK5w*Dz?ksp>ze$5kZ4Sne{hE12Q&@v_6ZxNIF9t&)h z#+IClc=+Rx7LaP|OLP>7Yhb={{s*-%AJ<=Zz&O0OpU_6-O45v%t1f7D3j`A)8a zl-0jdQ+^uF$eWl0_dQnC25uR?qubs(Z*tWrEbj^5aYW&yT{p39slU;^z(KI1=AYLw z@%}OAF{-cngmk0ZmU>dRrUKoJ^22*{p6%B&A*ZNO2jHiIc z977Gi&X~2*I#SNwOKCT_Zx?aMJEU^ZE1?JLI_O-QQ9Da+Ce7Fj$t*?Pnz3Ge9q0+J zSl*nCz51$Jt&b+yjH%MIG@teCESoB-fiI@jl@I7zg$#QlapfC*3{k_cytxZWr_z&K zg3mY?=2kqoy$(yU?dW;;*}vR#u#;An6EB`JUR^=3v+3z;$0}q^)__$p z^sdMkr!e*4lC{f6MEh3?_Ug;)FjQtPHpgDLBh}>^>5!AJo)_~b>syG{o;PY!U)5&5 z(>im|?ypl?-(NW*`hCEH-g@1@u;IhYqiM(g?%z9RF%>ji_MB$VW2G-3;*Htuy3r_h zZ#IE;+u~8OoW`NvH^+{qaq_1eORJArz24fVehgWo{(kc5HKIyILQd3q-W4+on(=$j)_C4j@X@oT`WMi;ql#sE6iVQQr6T1Hm9n@nW4^-hQ7ahdwH&) z%!pxO)(FN5g9aN;;UJIiIRVkVscG`${lcid`*G(?;+Czkf@@ojsYij@re!Ig9o1rrfj{=rnu6#Ro0?J41!1mZXN5p!IU##)} z!AXvYs(VB3`W|EN^152+s;Fjo(3Oao#tz;Js(V+NBj$Xi&a0Ho-}_e29?>7o(V?!H zl+)=PFP#GQw_y|$Gyj2NRG#X~k2)Yhfsc!ghq*EYve@6)7(U!F*=b4)M5_(F^xy>B zN`yG}hl|~El3tox0|JlCrWlr|p>cDj65;sEzYYPNf)+ij~_dBNdl!-^~uOe_27%Y2{)n?l#~V&8T=>I zZrr$06&vvG?OT^E#IK&7*Te3xi@W*2t?)eg`_B3HYGv|BV)sn4{9!*SzRvOStkMZ1 zC~CtPYk!*l{eG+iQu*mczAH$EvPdf8I#Lqewk&-tz+~TZi&xgnPAV72eh6gfK(GA` z$z3O*4J$uHH6=4*p4+>OJ(=W}M>UQZOUEBq&1q|E8wd9^s6O`3LRp>oZbcQ9V?)b% z2WaUDFROfqrDJ=Ea|l~W@;-#yv+1sn{N?54X&D&<;BHHClcqR#Zaf6MR<-Mx$Sy4v zm6fxjf;1A(q*wSAN*TcBU$GcYoWcXD=4#(GTS zBgD4Khr>?noQ7K(B5Oh31%dR`F3{uo!=%Qdax5o?oQk+^Lcm(^5$RQ1s()k?G<~FD z`P;s-DkJrko9#T;di99zpX95#!83!8i%xO<>OUW4_9j+6C>_S`oExm>&(F)#?nS%W zQlUyj;oBTs|L*KV2E8>_cKa)=&cCz;N2_Zbi)YR+J)K&cqhpvFJ3F;<-)k%>nk{C^ z>2P0dv&$P~th0=uf;-!`B_ZExdnXJwBau#tCyi)f7*;p$iJeVlw;<2_Jrq7VXCHvZ zu%8f&-Vo4fcRmJj5MI(=Wo+;k&omG&uSW0BKa2} zX~IjaDur*Cm9L9}QTNyV9HeZ*$n@l$!?#E;_(U~q<7p(Z@Y*7jXLPZJXxqmN_D4nN zlXU@-IvX{`*w3bU2{zF#{AesA&#{KVg%#VwQa&WUm7?+ue(7&5EbiHdJ@KIhCut!r zF0DhTLPDZq9gO-*xKc}KiKAP6?Y33<2pze)<>Z_?AcquMVo@uTX${7)adByAt2F7C zA7|rOrPdP~8X9SD-;U=9jt%4OF8h6^J}78)8!lg1d(;y5uH3o%hkv}dhFjQHyKUv~ zS|k09c0+V&g5S`hTBw(T{n0e!su8nI7Pi%9#O%;+SVFSstPLb?>|O8}B)6q?hqcyrH(gW!SH``4`*t(?!-o&7i)w2046P>yPR$#o4^mpf zz^S=-1ZHEE$6mr=YaLhqetW*}Lg2O+zA1u>$8X}>bJ#y0XN5E8!)6*IxLDx(zQk>u zfR?s)=lZ%|D6Y8JD9&c4kjnnGUlMWxO`UX>AsnFy#pGYbE;z2hsb1fOa+%ayYGp9hjxqxHnGb`J) zhNwX-T=Ry@w$@Pw?DFM@dbx=-8m(erJp0`c#6|YQ_9xD)4IQA%}{My3ouk16tPj5F#M3a$d)89-E2s&zmWobd?%5oU@mf|xg;JK!> zpYSu)*W(-{cqSvTnbdXXLqyPIO;DukXHzKp=h!?_FUa=v2p{w1o^+|8uP~ zYnC)z`rhyb3UX&>h?PFK_*N)3HxFrU$^TX92*i8Bd1uRb62H0yVm%%+u;2aOPRs?X z8@tN$4_y2A$f2PB?;^tg*6{K_pX|%k;PubLU2BjY9q>d8M==6rabjwNi9ELE;(k7j z`yk8q*&9#rOWK!HDgTF9BwF9Qu;-4>>lU@fQL>mz$K;eTb}xoCGDAu!orD&j9VxPwSbNVLe)|w*H`w)C2nO9UGw+P zvX2A3#v3{0Kbc*G#&{8-Vj98y1kwq&R|3GH z6lPwPd*GSEr>fCufsZmH{m7$YVu})o%@5eE*=$w+`8OLnq2LkU{QbMGd3d+> zx1J$F=!Yzj$5Wzb3n)?T!RFK&jbEubSDd@P`;*gq!0_{RR$|xJ zv@mZr2s`QvM@^P@lQp$4!P@cSikkbcdbO86YPpT3VFe&b9;GA}7|d^qX<%b))eR!y zy~fv92kA9#@tCKDscO+QE-tQ5BhbY*X_SIj1I1JyjU=&`&D~k(5n^kc2KQ|V)>bG( znUf$$ebBK{=@MTPd7>xPHf;EA%jj}<<_y$l_B9yEi8J*8GHr$00IZZ}+Q#8VX>nq8 zebR0zd+tueSM&;|%G;(OmNpbm z5e7?JAmCfqR5cy+l)vo9zkS1&1eOi8Tm<;|97gcqx!7Q@NZ9a+Sc9%fE`o^Z=jB!Vm`F_+hE0l8yvdBLT5S-LIo zXy4Bdq7a3>A$J$mAnji~Yx&Va+oP{6vin8JUY^fIr4bw4y{3%hbeSuXrPxWsN| zsP{jp39@kfe+~+e|0e+Ef5XY(JAfaQF9{dM6X2uq^jnJzqBETcwpug9|l(~Gq1}e zoqwo4;PHkQuR(oVGm{x2rJH+K7jzd;>8yw}^7HW>wX{quvT69TF%}ZP|8dmG9gNrW z+U+?Edp(QtO+tdBLu(?Q1g%bD2AbO@#uZlDZ)9p%Jb3U@LQo1Ze)5^?Guj53SR5@Z z@5W*>5)ZSOgO*-Fd+ahpS9R~9nZm;I!E=!Sl6!d-J2^S^69}@pA`%iCLQsA|L820^ z%Nar7uG_wH<%;Fl-<=fGvs{+O?3JP9T1tP^g&JbZzBCwbj;li2YMD+W<7Htf?a1v- zZ(qE1;2e!Yf`1d%9VvH?7ZMhFj}<5{l6djq?9^JCY_i`{!$wh%r>m=OvR?C6m<->I zzJY<`BeXWWnb1V{mpY}r$X*Y0 zDw7$;zQ24cxt0lixzs*TUcPCc?jIcdM5itVQdK)@ne5sXhr|g93HyT^bpyAVDreoB ztDh z=)MJCdFy#37F@t; zp>7%bfv#vB9UYz6Zz`9HTgCh~E4E2)SnPDO{Nq?jaLm2yE%Ysyv_!<&DtnFffBSa* zIB!j%SIn>GXyMbk*4EZvOwQ@WeP5x7l=O9EKKZlfQKSqZMKAY{!ppsWvZ1E3L9hL6Y^Oya(sGp@R|pYHp*ngSU)dH!HusWn8h% zq%X;98~fcTkbEjd_Oae5$jwc=*RjC3*6XNEI%y6|ZFk*R9QEdPwhfdc>EG4XZb|FO z%g(-07eHoLiIa>!?MwA*h9z)(k)lVwl48emH~W^&%_kR=jvknd?v68h0c&#{HJrtg z*`VPymlp&wZo+DuqLl`(djnX?jd@SDNOVw0=ftyu)qweK=ONrh-toQaCl4IGPsyaK>4sK`27TVL+Ln8Dt555Nd$5Qvz0x`UvW$};Y>`s#&ApLF$u zFV3j1qHojHRDR<|JY-jgdCaLBSGv^?;R`Dn(kQRpZO~k#48e~w zM~@%8($OT6GbXmE_NwDc?_6gqg0W(|OyPqcF9SO@| z@hmUru}AMcqvrO(ETNTq)EKfVqp~U&+#4Q$8Ji#YYDp6+k+gSNef|`rFDNw7@Ly(S z%qC{wdK7AVN}Bc4jG>iq3#M?Lm^U**e;Y!awd%%oe=$`Ia7NWLZxj?GZ5glqkx}+8 z0>`grDUUsoEMj$B>3+LUSgztX`~@|AGa4kIy(br3TVQg%D>JW+#G|980H( zJQ1Z%t!-^ydMW{dZ0j3F{`?pqC|g1ft}SC6w*aFZZ7}J zOq8s-li=eVkma))BY6WL225}K5`@CRu~|&^`PKGnvdNl~pmZkS(RMxy=l?^0{O=|w z{#SGRNIB5TAn6AHLdSu@xLHI5nc1i2z0}9_vf_FxzzS^LeXQXH7QIc z^IC72N4nI#^FkSjYCoycMYNzgmfM{XQd{eXxw~S+V%G=-xu-`%hzQ!BXnCnEBKHC{ zkcilr>lL=0Es7J!&btM6@8`_gNR=1LFhg}3E%#2pCg6G?FkK-Dq#cFP8Nm<$`Qz6krF7>`#s{iU#+vX+V#P&*&l2-ic z*ejo!`ubqF#NKZg>&=%`K{;Wv52+N~bqgWN{M|P&-4GTMQb(OxbAwx|gtpJD+1Lt# zjvLZT1i6y2RX;)?WKh4(&VGKEnK{@p(=`WjlSAZDQRW-H(;!U(vP8AmHZA?0tEXY& z`mZR7bExhDlXG*c)9qdJd4%Pa8eeaO1SZKthuV-+tpOg|W(2U7*c1PJyufJrA3;gM z%8IvF8w-TIca{h)xx;%!K!()P(u!#}LiS?zJ%8Hk!EPD>RQssT1J-acDSW}{T9wzHY++Jx(9><*GQ4UB^F++DeG(NtT31t%DkAcM za;f*^Qr9jY)J-(ZRCoP3U3NCLeJ|%+3rw6p(Zl>c-uT*_-G9NXC28T`%`Wf#73yU=`Ydp@26=q%k#F)OZl$x`-0nnE!k^9?41vb; zzTL^7mTUcRW2H4K7%MUAiqQ2Io!2;cMuXP&LLTatN3d(kb0B*`X`d6xz8VKx;~G2M z6dVRA9->mL?CXg5&D#Y+0rcY>!!Ica%t^kcYrQ_ndAASWva#VBi2EAq85#QkS>Q2r z7ozar@YJlzEaZ#OifY>1cF2#S?YNteii(OUg>bz= zx&IChx0Lnu^#L9MU7iiZ{vkL;BePY=rq8!c%OKrEjdsSR?DC0xi1tjSWSxUV|e_GRCrlmgS+iekMuEKT_063Ik8}= z>%8*P_U8EF!533YSX!2zM|ScFm(=!=wq?m-?lw!v!(P(Z80`zHeyNUsAO&Wx^3SO} z5-eJ9JV1|uuCVXpakfADVauxjP}@K$7|#d2a64(9na&e>>ha zX1)~ULMur`1ts~pS+fD(p%#@)8E%8shgIb9!;427 zZL0vya?^}yr^xFTvM>{<3aa9`&sGw~1BVYD^GB#np9s?6m0;j(GR{{bQJ6kS`$QOz zp!o0Q&eCI3J~fJ((bi$Exkgsh2!4qBg^>L&F~9WX8Mal=eJs>2I=2HBbU3wruBdMD zZjDu36Us_1Pa}jXliHq-MjLFP<8*>n+oVY&JOkfQx!*sd;^G9}onv7$K}29f-TxDG zY~HY#fc~G*F}2uGkRT_jI)reCqT-uU0e1mqcd}KxzqTFQD#mubOpmOD?oXs>o-5Vq{Gx%^?@9I@xi<}uAQsV zP5O9SB>-lP6zN8Mku@Q?D1k4+N<7A9wJD=3f^h^z(4j69;4N5TOt z4z6&|%*^aK&ClN-?b-)Q1IL(zU)0EwdwGVt!PrXlj6GM%@ltHM7mpW?5~OYg$2R6$ zz%J3WYY_^DuAW6jlHp48k#lo%n<|$0=GJufacv@rfU-urG349YWTfT>!?55=c}6H| zEz4+77X@+l=FBWiUlfcQF+~QPCP_!0NNpyU2}d`BWRL}RRs8m{)>3|Z#TYj-n>W=e zVbs?%B1QgE`Wuv51D~QkXnJgkTuafoHb*8WOLca1Ts`)}$w+Q6-R-e7%SnwwZtDgk z&2P5n!=}>K(C^>x`{wos97~e60W#gY4o&gn$72F@eiUxcyPY#xohq|nd9H_Q%r8Bo zz%E|2vl^&EhS=Gi;58N5j~q#&(2SU(W+Yn+*g`1}4qeZvvkIWkX<;I*)Kr_NHD7B$ z3Iej61)o{>7c23fZ(F1A08-%g9}9@qt4QY5y1Z^3Aoc=eoFboX&mYcqYZra-!CR5P z-4JGJVR1JkgznMTU0C$}`G>qupXQZlZ7z;eoq)yb|Mlwwc$LCpS0O&ee79lSd@~$CQ+miohiscJhgsFBe~kl7IB*QH0q2L_Xofcs5c9HiDH= z$o+YKyi#Z@t`?iuBh!lEy@=PL^_di<#06(OL*65_Qw)!v(q%GYJ*^GDcDRk0#ZoJD zYv&3KsECUN8%WDX4U{DxYpHlxsF6lNZ;B!bx+T*3QDZ30qr2M(`;{!2pIdDQCFF(t|-b31P3A|iqxkMo1m zi#K!*TOzX)paD1E6eL^>EMp?RR5I$0@2(ijD}=%#I`t%v+o2E5R_MauW%u<SU0*Y5&=%{A(s)Vz%Gigk^ zlBtYc;n%IbFjcvMTZ#2*y@ha{rewVLNp7YUpQ&LGsE$WC70ai5KqXejd~@Nz;?Reg z6%PA`JkBA(chrTk3%bDzr7eT?SWqw)AWW8`FB%yb>^74?le`^mgmZE+tUvH+^ccIg0ob0DOPg49hpMs9DOw`oYgVz(5}}Vl6QvkB~-GTtU9A zDTef0syKSm!bi&K^6QoRuu%b9ytp1|X-P1Vk@=q61e668(jY{Q_%DXWFm(s3aMF3! zTVK53jzQ!P7x^On<+w-ROxTu>P!C^pCEq$|?X?SoohCgOwz=3w;;dQywom@8EsKV) zise-Cn|-}zU#&D%9kljo<0MY>7%&e2Hp3@?^ZaPqi~Dd!U13IHA1?_Oq;Wn~QQ5^v zoj>P}%&q{2@ZRT2^dl=2Q@Gkj1A_q1942^$PKx?i!y1_70?5QrcNX=UG($W|9kP09 z_j$ly2JN>vFBECv;cHA7i~lIodWui)HdizuE13)T#Nud&`~w5^?;htI&YI2$9BcEFSpI&<=q-pr)dosgnJ82-9c~9o-Zy%= zU$QfKcz80N!3O3D@YNx&X4>ZOnoZTKMI?fSdE9o9(|?4Fmy?rOfRnoi-}}1QYoe_T zi$1OR_i#z!2&dgzr5NNiPQ2mQ^*#6(QBj?no7EeRp5L)lf6g)9g|@dETiu{4!9A_J zBl8(>Kk~S3pT7*oZ{KbVd9-fhZ*TA2rsoHX97`F}+O=DSbq8z-NK96<|K{EHV7!#i z2aBPk0hcTh(#f8mW?z;1;pLg``yKLvPs@i-oeNDgr4iyPYQh-7p(ps3`%L9+c*dEvqZMY8{i1)33ZGPU^HrvvefLM=~Gh#k5XRJ|6rFwy7f zs(XBcB4)@>R+@z)2Ou)9{mKszUjF^1qxrJiC=A}_a`?{Qz8(t$z&@e6;ocMrow~rK zF7?N-fQ7fE_a*|C#?W_Tqy3a6IR$|+<<@_50aV)^+NrPqUlafTSL^E?egWLl|5aN8 zc?dH5{neqr;O7iUNu9O5W;4>m3p_jldTMMkV(ppz+c|HiK}u3+Wo|->Xyf2+5SQy5kss z#3EZ<<}j#w4@n!o-P#KB4+!{@otcpzy0nC4RU{P#athr_Si@gK)1Yqpy*)iW9u(;_ zXX-tW=J=Kod{!~uT5`as>Z`L_*_U)bP=8nRLx~}1ElU=TMaLE6XazW*u{eqCah`~r zX)H@*Cgg zCD~u~HOWu*WhqZ{k-$qc7FL(XsK8?nAP|n-`XwifL2L2DL_UNKhPrbBhm%uSSXk$y z(a}*65s}N#>u-TVe??8rlHzT9vS($og;iTuM-QQffj0+bZTo`wtx^o+gB38sxCGU+ zrh?z1P%Kh@em>0KS|YYeu!OvV*j}N7mZJ?6hfR|kl&xVwFp_ULyWwbG1;gyrpIvKP z)=sRiUy^1E^`TG+qI|Mm+WYtGgDgO_Re2zxBz!r4y58a-U^>>kDknkTa{|I3T)YlI zkg~LY`~h{dB~y^D>{V0)gTacMn{OeQTQjunwQm1E-}eA&z<*)rk~8Bm_|5(T);%K0 z$;q8VTubqUH-N6ma%rF!Ia=eAhnHKp1*nx4GE-0akw9LNLO+8wG&I-<{#+=l#9-J( z7Wg_(CJ!txmv|2gQkMw9m0@KD&>_ev1Yx0fqI+v?27jIoerJSaFrk)`5umoiZ~sGXQp!Zi$x& z3>i;-O`)RhGaQBznJWV?EHH@UTmxSwNSm@Gn&<$#<;M%fNZaJfi+m04bR!s}qHSgk z6c~v)KuMKBb(`_uv?}ojo!1MV8c)Nx0Zq4I^G|fTXH%SLtz#3n8t31I;qtFwj523f z+o-M^C)AoBtbtPVQ%h?Pzp}k@ZN8y%{(tJ-*U1aCUH)Ro%6tfJL(A>|yyE^p6Z_kx58 z2ki_X@XDiPy<6Zfpfy%5eUKf{V!Hp`3jSy7`@R z$@O3u;MiWGjd>EO57awSY&Fj2`e)!%^kvW}n_;%LC@EJ!kv#!g%xD}0@SR^Xw%sca z1kR&aYe-K(?fFms;BR112@x4j$Kg?%pvE;p{EmC-Ep~0dqHA$+@hY!c2(_>rTY{v6 zcc+PtypT$Im>vGrAClnD$YHm<8%{ZdVZjkqd{(FJ7c50=_f#am<$2USV(*WZ7A}Ht zdwcte%L%hVwKj@3=lgB?fR@D8XD`yQ1=fiBqs-+3SbMGi{-HCvGu6JV;_@@)r(_J1DhD|Kh6{Q?Y|gX)7?ex>c< zBC#V7MjmS&<%VsP2%i1mk1CFu;vNJEno@2ZN*eg{=Z^=zKWO$t)E^7zjXVWQI=PA{ zAP)9a>>jNTx(7r||6+4lm)29EZ65(P&oNG6Yeqfi@R~rN78H%>E-DGzmX!GUx_SEP8PF=W+)wR3wjJ8u(HAy<5+^B)c;a28GkV zV9bjM)J85rchVLam_|z^E{~L)J*K+#K)DjjpQRp4tLX$KUqXef%Bi*%o|0=RU&wR> zmdBxiWrS>e1SGwRg)bf;Pxh>@S5V1>szn?Lj5tuR&ojS%X1wm>zBo5&6+(P*Sq}OZ zgLs^$*`G0D%<5)JgU7OI&peFCxaL$7yqI>3K(Qp>zF;khVQT1C*J$B5NZ_y z8+Ph9l6(fmDEJWOfgEK+BQ!+`BFz%nO)#2j6FldI80hl(iPsXT@t`~uq#B~24Sxsm z%Nysht5n1HP{ha(wzc+xi(xUAHeXwej?FBN%FN9Ca<9?K7AZ6OVql+qNP#(c%6=b^ zhyTvZBuQosF**91|3mBtV%IXRLUiLxO0yrySyg9wA?XBmxegQ!l8>P}a0n(Mt3X!( zigL^i)YzB}czss{knU=v`^3tVqdcGwe{NTf2gq&U!z*S#?PmkPUq^){AG-yCg0BOR zR)E`>aF~jh(x5Mte=<4OY_Atw11ydkqk*V$nrP|CJD31nHe>vzdxk8hL3(gS*G`2D~qKE`)Yit8* zn_)<#kX3?_jr1d6Ue2FB22s2|d*1-9^vvF62mDqpZLUnhQWYGQoE3N9P6QhI zt4dHCO;Pro0cv38&o3H~@!mcom`51395q_mjix-&FsXwCppn{;DRBKC0yuvaPBtiZ z^7bxug7mk#Ln?revO`M-0Ac`%``l0et~pd?+jcZC2jB-XncUR`vY;n$!x@sNDt9!x z*Sm#*ONmRKbCef&zp|&Nrwh|}j)pwe<_)j>4347~WLcYAS;gQy!=w=nMILY<^duEO z-LWA<(r-X2Zh_#e7baG>5BMK!mcal4^;MIrm@p`N*1@;ghK;dF8jO8Q5QiAZ=dU#a z@2p1JJa$fy^=>~zv3hH3t1!L9QLTo&vzNjl&Ma;!KvAM0{8<^F8yc*;VXW=Ant%g4 zn>+u3xa(JYC_PgaaHs>Bh# z&|ibe7(DND2;^}N4o4g!MmK+~+W5UAw64xu1D*Alu0S!6lx*q7hrR3fK+-EDIkTwL z00eC=FL*vbFGh-ew}Jqm+?P4rKZY&irPhF+WW{Dt8v3icYl=`6)zwGwJJ9nxM~`o} zhO?B)KD%Bd3%CM-n&chg`Mdf9DCmWABNWS^5ceD!lyKmM{pwWrWpK%Zyz(?U-Jr$_ zIB1d@D96JcY=}%7xzx!P^-BBU!Om$PO(c?4X8JVCI&)r@@5Uj3z(EA=tPR63uv07z znSy|!+8QglG3LS}b99txFsr*(DV#Rkdn*gDAzlQI+lGd!qa5lRzkUCLHtid02mv@7 z&Bo)Mo%wfUzHby;)qE^Qkl}`$uYo75Yx}P<&ir0CKrn+|VQZqgy?7kcKTp!m9j4O@ z4)&k^dBnOdz(5eXnI$AF49-PXfB-y+UmUHY%;llx7weYd2q)UiiCm@_u4^He|D1(f zs-&_j3-#0ijt6BLP=Q84arNp?M6(Op##7U~9s_GAP;hnc{%Z=Wm)M>GRsleht%gC= z0Uz$}(QYQnW@9=!ZvWnZ!U@Z_5<%U3)GHEu{jCF{j;>syGkbVz0L zd^wYZXQeaysUR_0`7XmX0PIjC9-W`S;BEF{shDC{Pft&S%~NLuBCWXh7dKEX?6j#v zG+$re6~^@s}+)7W*V@as`xlx^S+~>^8?y z4lw&wA?8bsIq&A3?|W&OuQzBwN_k+=kp%TkeTi*=IOG|3&@af*07|HOL|QXNM!sFV z9nbfr&S5hNm^-0R@pURS7{UK{ZR_fjv&niu$+xL$+1Z%fJp(#zeFM`SMcA)nvFEuJ z-Y^OVWDo&1@8IevsuLIEZB6v#p$=*@lBA7(Oc?pVfH%#7{`LN*q%IgrbyB;5zGrn$ ztrX_21~`jyM59*mQXv(Gb)y%SA2F{$Tgj2Ox7I9X5c!@@SjA$@ez){!rSOaC4B^=~P>RA3uI@>VoPaS^@_s zuz>_kiXSKlbY;Ir^V=rk2s76Bs=d#zTM--?>`tli!JLqI-)}^VLT*MWDi&MUeY*Z3tGT(EjsnBEIwPR=fyQ$ZUsYvODapD#VV+4WxKkj|fGM*ruXF;sb%aH0Uk7FX?$Iwtl|$UDrGUs30-3>8j6*uny2IVk)eix z24&JLz-a_;PDJ6=XC!y=HuadCJEB{~%`v2J1JK58&PIo$eZuoz<*Lz z1j2}Zs@xnXMl7tX4hugGh%$nhNeOOup|0sC&5q<5%Z95W&3`Sabe@$o!>V=b#j9gkrc_F1pf$@7RqQPK zW%orWNqULC$g*fBKiaa~Vz5Bp_1?UP#>xY<>b4BpayS)lfz=6$*jfQ+T#3kl{OTdOer~ugXj4N4S zld(YztURQ{^srn5eHsK2ukH8kt}f;h;f~hCz>Ln;hr(kP4Sd!K6{b;FrQsdv)LXSQW;@5>R=Q#h-cR(Ic9ly2X&$yTU64%T#CGz8~6e z%O0@D*>zgLlmQfl-*FYHy}9hB3$g7imclEeg#@xO4)s*0Xd)3jVP*TVRah){QF(2^S75lp~*yR}>)vcO70Vi0> zyKjPlz^HAf&EZhc2~=9z>MCt%e!e#nWXNJi!L%6+AW%i0&kIeg|ndBlcTq-%qw_6XfdxEF?4*QU<^)b#YYG zh~eu^miXP<%42R`g+3zi&4a9^%G=>4Woim4yIdS261Ew+1T45-jIR>gUjuE~D=GKY zfQCadhGDA3cLND3(jr?QSe53s;XO$lF%4eGjjj93mHg(`(KjsiMEukIvEfWlnz45Q zhw&&{`Dc!?_K$u`N%BTt+1_g+HAeFn7);c3Ssr2h5#7?OHi49Ik==Qg_sQ2U*NQRh zGt`4t{cY{99loUr7!=#>W?S_)&8?^k+-5ZHNo!G3As#1K$w~qgBHlONp@BR&x{hxY z6c7*z8GpAuI##85r$Nw=Jex$}j8ofER>Oq#vLP9ODwH)8tNx_Glg!}xvy(K@)^N%u zltV{+eY0>>M_RS5@|pe6nK`HI3jWTPuy#{gt#aF(vD}RWt$bVX$Wu#2^P`#}oVrv? z9PkV%18@D@^Q>RBU!LRj_dRwZYaMK^&cN@xtbW2oi7mdXD=>oYrZ8y@EY za~dWy`lC!1))F{qG;6GEy2|)nJiM@5pSFORb&?Jw?LnY1SK&unTU$K{S>3dqZL`_& zm-90m==MY`B6uo6d%Xp@-C{Fhk7ofs1h}(kCn6DD|IUa8))AXj>%@O&83JP&jco{F z4=)>%e%0XD|9B#o2qz$RAv@D3nm%bTHz&2&rJFy4=C9iesxuO~Q@VX;zC=P!$YPCj z*aDEI-_@^xnKs{fzOmizQlK&o=^|WKQ1BygY<~a#tO^Rsdn}p>v_rf1xbHtmZkAt52D5@6}{$bO(65!dfa zpgXZd;C?EqSt@4&(P1Hei3U(7cwX&92QTs@)Qvz)@>s^OI)(SvhHm*B50^3uCx)&W zr^(NeYdpObCNyXO-{dsk~9&IhJk)EH|GlU95B~?`ER;c8Zg&AA`R0jH9)Tn zs1@jK_u{%Jf$?BCET@Jt!1QvpVq4j50KI9mO@fp@Fr(K0`vi7Y=V;L$}OT70-5HTY8l@+VZD?sjzwGZ zd|#QgR$NFTDCKms7ADgfmSBGLmxghK`!1!>{2$u9N&W~|$0;M9^?1a26_FN9L9QdRO+0K!pBMPN-n|3!T>OFGswU&zyOlEjp;%;C z7!=CE0K3)?R3VoCOOgQtfue*z*`tNJSi{`)WdO{4kV_?CzOET+KLykKf#W9ZBzl)% z0SxDod??%@1C$-xqZkW+>y58q6t*Qm+YVdh^_+1H#k z84ruo79A#l>4YbOPA&TEYL#HENbm$y=mXDTRa<@#g&J+UeX8gR8^jtK{wU_cV{((3 zKwvx9*?HDh=Cguw)oOX|Hg2<7{{0{-Gc&HK$N@!geGI0*P5B)j;W0jJg$>=R1lE!4 zVWrx{FRw0m{*KwFWokz|A2?FolrL7vavEqR!k9 zyY?xbg?N4q)ztw+bQWWy065!>5AOze4F|Q>koWaySc6Fns<8;b-G|`M8sK`YTLq0U zfX=K+`U|ACKN;~x18yVAlf%QqV2q_^%lL?J znh;tX7;Ppgp#m^adbERJ>XG==rzX^L+zfa{&^&6Zjt?LHiT|RZtf1gvC9s<~d!of3 zF=sk{Sxrrpwdl)`PW1v^W#|z^^hXU9gpkBRn~fhf(LdrkmQMz8%IUHvgRZ4fzq7zU zZuk@SdfSG}#mDFJQQ#F(dLq-=se3mR-XtRo0*Bw$s^jpu_TA%8_}C+7A~I()?S|5J z!eLe>2uSU=PcU@f_1$4g8 zd3n;%jY6PXF+eLcx-!)EG=|>(TI|2gp6+!;QE|G02?Sk(+9C~RV8eD3FeT~im13KT zR^H^{w$gDxAy#0ooi-_q)f%cUl1J|{zzniX2N|CZ9jbep)YOwpXgVQ0GBOA&{yn=D z415>0s~YjHPPF^eA>#L3sTu8mR#(5ox6xrAvfC8bJjF=^j$L5f}!BiL=M| zdw=Krb=ErT#5%KxnP+N0d*A!c>$;zM=!grxvo-P1XNJ(ix0nZ~lkOu90uY zXXX!;Qy^diWjCPI`hH*Ib4mb+V`4^eW@~*t5_w$}z||AAg#r9`DmV%BuQG($y%b%# zQz{qtMD)CTz===x%sKXL49A;S_W6z=GJXZ>Xo)lwpr*-PexC$jP-X>{92Js1&MxWR zC4V8kadUm7Sl5-Hzvzo2x{^em?jC49AzP%kf9>1%;em@zf41}Kp>LB-jT+Uz#L)!o zEV(kG#;HlFCFxYgJSW5LJ^jOFkB(cWB5reb63n<2D5RLUUt)JVLX4Yc)tf(z2Y*l- zCp@hra5*hrll9`tNJ%;C&-zYKK)`A9#CLsbOApML>i$K%K`V|hi_)=`GC{cJvo^(w z2QASF)!)ISy|NI;5Fyq15Pu?|4HSS@T26OFjuIJ>NjB`k@BgVRkE0A-q=9e69hhWV z=afGvTA@6rrlv+-i>MooSM3{DuMXrgIlf!p7qAs&A9lM!6JPH0Evhhawgy0Z>GSyZ zJO|gKC&c{EKMc-1x2jW)+H%0@8!N#$-}Jm`=0OtxPLBcDb-neRznhzz`T*$E0@$@pQz2N0iH_?>q z#$1yqch0{lSWyTCpksP3(7WL*s0h4TI<1UFe^r9wU2e2M_YmW_PqiSXLj+*;lke+# zb&fxxe09V>9}ta?cLr3s`0Y?J=TT`>(~b4@dVw{nnrgY(MT>}Oz@3y$!12_Sc{Lo7 zS{*g01((3s&lVLLx%kM0#DVya<34FGTGZ#-p8zosu3u2%K8cg*M!md_m%CIhMSF{% zSn9YyO2wXF5z9)lSn4GiY>Ak|sVt8(5{KTNF3_xZ{ z)3R1^3u$e)OQWarjdp#NoR!&C`Ll(wUS3C2Ag}&s;P?Ls;}-)fQqJ{cQakDq$m$BFWI<|O#b^~ zn_%Z(c(8%qhOj52B0!cCV7*AoGh9X;;Ks>`qA+GytqWnQ_W)Hw09hCcU{AX{O~;Zy z0IyT1V&R~4&OsHyIVr{{*0A<5HtLzo1kw*(C?Yccbk{8Y9$~$=x0ce+Z`aGrg#YFq zks7c*bVHTDgESVvFHoK@0QhAdRFM8WL_b9if#NhP*lbq#G{C5`yW;i6m@5p3ojzBz zn*Et*;WN|8(Prq1x~Pf@L4n)1*YJ94UU1D=Q1!^@3;F`|XT{T7zEyQ~6~krTONFRd zDE^D#ZVSEPTL{SKd>WtbzDr(Rn+R}l((=XevnPOYDBv$C;-1`})*V%ew8%01)B(Lw z3))-U!GN+(PT#dV$ErvwC-RN2X8RqT*5*XNTvK0vrWNPdnOQY@&3e)DP+jNBIOLJ0 ztEBsi+Cb*1f(vT6!5!{{JX36{(P88=VO;g~0JZ;oUX^ z3elguQPf-&F%%7_!>OrTD;A(e)>d35Bu~R3MNLiZu(Lb)xo~4q>U#`L(6!)xYUpEr ziyjRoQ+L$HsG7n}`q}uyQcYW%Es3_5s!<8}+l@TL4+sMvK%H~v0;HB>jw{wnzN(sG z>I*Bo;vki(i%NBVV8abuHh9E8SxfBk2+`8?JK8d2IJ|xP_BXDetph1_zcE^fSK4UR z>U%DWW74mG+YH^y9-5wBMSFNkzo^w21f@_bm&AVCi6#LH^7B;>L;u#{25JPSU|T9V zAWvsnt_R3zh6n!50g@t%OBcER1@bvGBd#5O19H(&Sjrzb`(%MWZ|!~Q`=3%MeB-~b zq3XWM4!|uMWCy}rOS>C5N~$2@Kp_xkv_^|o+=oiXJ<#gvwDy5Nbxl+d=mqolNsi?Z zK1pqGTtsy@X=MfPC`#k&RA@#o_BxMmli2OeV(3D z1q(op&j-QdB$7x`b9n_iV({Q50KvnkAdo4X(D(sv%y;Q`=L(pSSiU#-%*`pFX}?ZS zPiJ2_7Y1*{#HFUEQ*#5rFo=~wgBajPe~*QOW;>o6BR5w!%{@Fu`~gYuPXIE;KX?8{ zC=n9OPV6U!SaLb}SQ`-M*a1Su`?SGCrrKW?V=zuSfB?!a0@~1k0il!o7gRH_H&XfD zOg%-~0%X88_8T!1y8_azL|EgnjLQfH_^1V-YB2vb>}SAualDOz+N<_ACR!bzBoUA zpLW#pr*_AoCVzPhUh8!{jsILkZ9t?WF1s0m3fbqy*4vxoQxuwD>|(=NApHUyL=f&v zO5TG)*`c$Olj}FgORls4?tjW(EM~%2&4k!^zEPz)yJgw7-e13J>-|NTK;t&hGC>UT z5`eiyTazE%DCATFh|vX2qZX~bYP=H!{Y#ns$=$P`O~Pfn6L$_)`#WQirxlt%m_G(q z+x#W_0hr{|dK0feVH-_+f~Y?7+21OQ2OH#xL&z>ekWz_@3y3$@d52K8X*(0H zWQu=E4at7FlKO=fq!$5tsSyjXBd^*07Nf#QcYqHUv zIv?^|GD4L>s-BTl?A|>)myl4X{dUi$d6E-y3el)Vc2@NGwa(qtdkEY|Gp%FGpM1OG zTU0rz-8jcrHLZAD$IcS(8oFUqa|JDloQE+synWhvxL-;V+TA}F`Jh5U>v$2~bl#y9 zyU?$8XDSf!e3-{O?{p!QjN>I4pMXFZ*6On%sJ`ViHwWZtir)myYLXaRQdoR%V0r5s zG<+?fv*b(iIiPD$Rj(h}l5bPfl0;H(FaxFisfQLB z4^>N0uBXK_D9yQgokx7dQslaRCS9@J5bn8%=stQ*D!7#)i4VI!9+g{uLBWP3MZj}Z zYh(XK9I*YTJ7wzWVkZ%i>XTrerU6Qcv@3wF7J=~XX>wbB~PdzYOvEAv^+i7>dsSW*-b7*kl#hn9Wm zJlXFJC}@t^*;FLvEm_cN8IN&vrF$Z0Tmx>|r|{!PYb7TFN42z(kx^M>jC_iRK90!$ ze=3&#@OnH1!hMnIT~d<9(K^pJf`#o}@}J%bPPfSS-Ax$*ct+Igd`-ZqSE`GJSJrtI zV=1ec^kkOKgxsgV^nT(Fl5jf~PD@LxX*yfyJhMT1b_;bq*4xu_oo~Ba9Q)Xm(TEw6 zQ(r&n+wEGW_wWo5+6-n)!J*90@gK!nnq?v3_m4G|+GQ>zuO6TuoX2;1l9S+P+1%z1 zsp1wTDi$R|v@}RZ#O}v%@fPRSskZYFK=aYZQP#iHIf^Tf6m=thr=B96(CiiX{MGMNS}kZu;`Oueg{2jl{V_k;y^31alceFLePzQrn9wV9;K`p^ zGGXk4yqr4tv|{~qfrF4?wbjUW<l9ydjxIu4xVwM8alqERBryh%$OTeT z@fwA>4hCi;E^X!I}P)lw+`_*ZGUn?n%28n&ob<&@q~bFX}=l1 zS;_9A${dXo-=`^*4YI3@)Hf-wCTEgXTO`(q=_!hqF_2ebio?tQ&L;|+c|8?X1O%20CZQXxZI&dW}okg2&4wI zxC7i;StWwAY&Ct)dj25(v0n1Kq-S4WoiP%mYIUBGtgEiR2--AFyk2b~;7?}&;iO#Q z>sYxlqX(6T=B@WbM$oknuocMA6OnAs%`rm=g@A+Nb8kQ_$c0mX0UM;Qw3J$zj-8I> zh&$PC-1Fv9K><%)Qxgk7VANA}1vCdP-Q9xJ&?+R38K({0_}Ca7btAw`T7tcs zRKfr0!uK$i`8`=%8=ZefXt~;#nM5wL(fWMl&V3qhN&h~z2(h8Kt9LA52B4hl@Z{-J zU$ph@J!6;Vu%AC4Z7Y0Qvho|ud#LhJCq4}N4A4G90GBi^^U=pDFu+n^RRAC^lQue; zly<}PvpvclbfNOq-xvaV^MV9b4d|pzXv6=xYJ5^n{m8UE9XnZjy?h&~URAfB(SA?^{`FJJkRlGH!u+-%bddkt=U zMh|xL*JBjg?2INFJWHjoYow`g{-WZU7>61o`(J0we>GM@Owgf0`6sIhuo?mYYQbEn(=% z|CA~9HRj`U;T0drn)rW4!&A-DNrj?vsoiF8U6Sw)$9(vE>fq14=aRk<)`7i@|2m+W zi~i4dfXVh*;2!w*nKLmY=P&$o(+;+T{Cik$o(b}w!xt_~P{{s!{D1Z3J8z1Z|MTX1 zY30Us4ZtuLm6d%XPFw2J*5cys?aj@D9mdO-NgzOwYY`v8p)(M;(~Kw15$Q$3k*bzg zTRZCE#Gk50XLI)|(@3h|0pE?2}>T$_C=jmpsxUMSeR9@Xd$8|x3sj!=WN_B8}+29GgRh7>-Qk@ z@-9M-CYdzCv;75wxdwjakV_KH10BAn1}PEDsfjk>-Su9ULCI#few5H&Rh2q$9*#e0}? z!mA5|y;ev>qsRJCmwXOrxi;SXVnP0c-0Kms89GC+T3VhB(zaygu?9xp(-)uz!aLrc zf%oe_GVZ&BN8fJ-FxXb~@$w>e}fgvfA z6vlPVo+LT>`DATc{Sm}9^RdfDh=AAGK!JxZA39_Z}ZXB zJIh?e*B}r^_L@w(z>8wOc5Ps4%3k!|y)R&zYX`R!+Ow0Au9W8HT0H7;xgR4^0iCXS zK5YK@anEgYA2iqZoSjRK515TtRb@v|ox|bsmFy!ie564Vqp^9k+M~&BtH9$xZ9xBg zV@N9Iu$yV{+yT&)a$wo&*FCNk>z#9h1J2P8MDVqCh^(vYoxHO_YU4>b4SDwZ_njV; zcZd_s?-@2NewB2zvfTUh6mzG}P7rg7(Kbntx^RLX!xmcwfWAtr0v2lo8}X;BEA zlhMXc@mSd%a$SuF!lyeXU|{a4^_WY;*JsWbz7RFJZ+p$N2qX z3(#L=U1#L%)77>jfP}h9!3lnPw@qGyt_v#R=G}j?i|2LaQ{IG8YwPG#o8kgM1^x;L zBl+mqnEg5l_o-A+8z!@rApPd?qnZ)@;*Qo2lyTh$*+G~el5OMyjVZm7DJuB_NCc(0 z)6_d5NQyP`$UJKOp6wxu02q7 zs?~qDgMox^hZJm3hCyWo$p=hfQ#llLW{|1LNDs;KTH1@%EdI-viN8QTzK6}45%0P% zC1?P5X>D^;0kmWoKcHaRptZ_t>9YB}wzjs{o}G|z@!h+3=I;(Z-$d3tPvrLunwH^R z(9~k~Jn3o0_P|MlW_zS{mRfG&eG4{Lso_B;9J+>v#RC452&eQX#>P=UfBtMj@m~>S z8GEckiDG(8E33xp*S*L8o`y_B8)i>Q8<0+1BFMc{P+&v|7M6d8kfV<7T$EK?`Xhh2 za5?&V0E$wJXAZ)%|D_niQzzGA#54AlR(u-L=~~8{<@B*^`iiTc+AE}m&^Vf0o6fV($| zf(A4e&2AoAA?#3iC5Pz`&{at&Q+U}=V@6I7s3f961Y3s`F2uXAU+zEi=CVPpuc*C) zL+z;M6Fnc^Ik$cO_6qh9I;vdketEv|nNbyQuj}t0Jva8^K-1Ph{k2_!O_(?ptbh-` zUM9qSyx%XESW*-eDa1Lne)!s2NJxl%kn1rc)dMp(mQ7wj4!|u<+Lr4*3}Yls&Cv+r zUr+|H!XwN+c8FR5EQ{<|*cb)GjFl=lv_=&z8CL~%+V>LUPwksH%Uhw^n?*=D+ko|e zL?J9mP$xSay9q49XOE+%_*FRePiHIJp&wOn44ZVxa)8!0j+7>o>}SBtD!b)_)+0J$ zgj3^PbX?qmdD~JSNvAZW7Ep8ZAi-f{D!4@Y!U>s0JActFIPPc`YAKMjlW5-Qs>JGU zx552DVl(xN&(Y~IItjKa=s#* z?um*%#LEnfj97_^i#NtBc8RwcZ5*S;uWlUfmYJLfFK8zh`kZit$13v4N{e5lv+k68l?(#zb71%khQ)i)cg-U^iKF!4YK?xXF`os-hJ ze0jAQgkcim16qrU&H`N0 zY#c9Dkd+`u;;bLqR0w;=^z`p?t|zxFwV-zzmCO!qQE^zY`w`c{xq7~SyJq<~2oFGWtu%f4(cqC%T z5)ar8at0V(F}(oh+_y{?wOT?YO#GuWs_5 zAGT+4>wLUqb@TF=6$gXoF#|W9(_Ig`XD5CODetoNIg_V4CcZ7!NT-t~+ zL!#{C2{%9=YIKiUQSwE7TFr*frWxN8-z%}RNH}p>n!|G{Z8T9zuFe5s1j33b34S(( zTu*YfO?#XyPKqSC{;FD{=MMX;j}DXhS1x@iCL|&G5Z~2)v-?`5L9rxCblrF5?3D&j zl~uO+lA!hvA3pptfOIIM)N)m&y2a0Ld7)Nqy~lQ7No!96AJc+H?^Qd5k;@k33JF9mqPF?u0GQq?HK}ViflB5S%~J za!ABXPOkPnT(R^E5O|3^%OXRy9Lf(qfdd7Q)cf+fLOYOZvwkL46mC0?OO)JmBxij$zbi?7sqmR{dWI2C=XRgf zOM~|*-}zqt;3y{bj47p}UQ=&lv^9^e1M8G>Q!Wk~dgsE=wU+9q25SDC7cK>*oC_b3 zOpf)oRTcJp$^A|YWNwn6K4~Sc{UpH0zoZOK9p-FMDoUP^C8&MWaKY6sWPr5^#2~*K zu^0o8#a&a##iHt*kT%_sS%jf}$&FJaF?Hkwyt(KOs^Bu}TBinkAb0m(q`W_TGbGLO zDCtQioHA%|PdS{W(x_Q-7b7fZx?1|QQVE#5c-5kV!O_jOO0Z|wJ$w!JxCmJ{NmSzg zMwxrRKLCLrk{*Bmy5kh9xaJ73nP#-nGDO{X#$4Er&1eSYIr3)I zHGLsdOhC1Y)dNQ+V7{sliW^Fv1|HAg(9lI+i3VaSP|zjIrGh<`rJ=f72PwnX97hbO zyBi>R%oIEfF8aV<0)tkeznOV({(`oTgsaGf3+l#hp0~oGDu+F7I3YBLYhb4^5BV({fWo_xribKD||$?%nsY&&5r=djWy$vuXLGh|&gz%A!ryJgZ4!P>oq zxJ!tIX=}%iEx>?d!4r;mUb<}&ZYBl zjAa>Kzh(dOIANkMQ!08iS*&ZnuCA`*&KE2MIMv4aj%0~F&|$#9LBdLlizjoP;gEFJ z&J$Y&R5r!l>c)|aiwk_pHA9I375R5UZPGTApc{D11lbixnW63$o5Tx?_SKxEMF|E$ zMG@%+hC5+lr9?$d^c~(fgJRh81Po=LALJf6keM=o_OZ>M2O7&+2kr_F-PIR-m8Te z?HbM!%s9+_AON@hWUMmKx)IilX5SOi#Ini|UUnvQs*l1x7fftRqeb5J60Xy+d@(O; zG5EYff_ORJy%5WDl3s9tSA%FrpL{?Rm%BKAYjmAbU9@%RC70Yu-K$YH} zLPS?r-}UhJ?r>$vC+Q*{0>qpv05-zM&))$Wu}6>VC(n5>V|!eDnN8ro#fqdC0DYc<= zGXJPQL^0z;Jm0)jESjrA!oVp%ZY8qQ}ret=(ee0w!}09jtjs?&a{MEXK%Kjpi8T) zx*wUO`djEM&e#fD5s%obtln640M%yik?hI;2jk=onQESor zgy=^bkBr})*wswcyB99=1t*8fio85czvhc_Aso4cKx_n5J~riM71TkAd9YtJ_Q%>L zCXU5*JfyGv7b4crcfpLuLL#RiO`bb0AgnfJ)Nc$a^ z!K)eY)^j~F*gS2S^}=6WUCmBcq4b}CvckY?=H69>|C#Kv7f_N zzpY0W!wz2#B?mLwS7xj6ERqiRUam?=NNDR+KYYNn%{>RV=3_vq!+d4Bfc7glc0x)I z&eAbr>d5K{S~$>3-L71mZHPh_39CJ!B#7+epc-mru@dD6gjEbd{J+NkK;!foOK;6M z9Me)UQFDXtpVx@L{61&_?iP)ogwryY@$p(DVYJodS!=L7ezGKAN!}GZ#R)A9vf^J8 zM~}B`+z!Ma#DvYQux;Xhu{uw#9$kf-F0DxUdOYgCGs-5r5!(MbzOf_)5&GrB2XZht z8te>l)cy;yT{1cvhfvZc3t{$k!P~q9kWGSgnI;%}|N0ZBnkyjdKp!`VAT+%^*bi6W zjQVw?`A`_kuL9~ZKyub*@qZQQXQBe#u}c(APa(6bQ7uycMMD0Tg~H}mQ1>{s1J4O| zH6kKMI}~b>x_<*{y>AFa)l*XuG?$WpfZgkO>2Ob6+@Tzv*WB#>T>TfXMonE$H~u9= zns*8bZNT~z_F-fN9f{8S(o^r|$hh+=$zVj5vC=lbvdU`@3_l>@AVDA)M{Nv}Uf#y0 zrsbteMJ1)BuG^mDFVO-$@?fw}E6S%T$W@4=6$v31%2#hMbEjjW%6e7Nc7qduL30jF z&-B(5RgfwzfW&xY1MP6Q$!`-b*%dQnE?cB%bP(&>&8=_pWjhlR#x-FkJ*~p zV}xQq0?HGS_dS>PQr1m0B+UX}M+k*E3qkR%T#n4^jO$0qY_O;+0`h=Fb`K-~02G4W ztij{C*RA*Mc@Lw?KwbnGTYVSt+eBw2?E<&K)m^7|P6O5*;j~Y!tv>?NdvuPmu0mU$ zGg(*!$pAS}(g$fDMMWDSEJ+;m`+M2J#0OqG(=XM(sdGpFuEy25%(0~}z=#M`YGG=Jxx_|!R;e_T6oIFGcG=t%y({a<@|K_<}xjm0K)i%r*5J1PngEal+& z`A0red7oMB1sFUJYPn$P?QS?xO0Kz1-p9(w{E4we(agHb7Y5Ztz%|(Tpy%_81lX&^ z%Wu0c?gjgS7n&NJ`1WZb6}Qnohc9{H1nzbsJn*uxLX+ zqs|m%d#hix7@{KG)#!YZA0Ngsx*Yq39p*2XAZAjB)z+u;Q42ga-S8VV-l5lM4k9{w zO0`&`HO9@4P#+)vb}tfye`_8=m#o|L`Z$a|n6EHA2>P>Kd1@sDQ#W5DUnGu@lFp5?-y*CJjIS*_KhB8JHaMQ+&8`i7sQoPT_5(RT%NA8|$wtVGn(v2ws1*?jG$&Rl7VsfUQib_9EdFG*o6yaTzK zZ{U@SSP0P-ng_pj<%Qw2urxTC^KHyM@LTgq_y-IYs20wlqhMben|dkPYoK?LURsUv zj`mokgiB-Q0n6jS0wcH%$pF!T(G2+MH4Z!)_3UOyB5%$n&6(gv+?<1=7 zwc}IHo+n&8KN;DhxL+Hb{I=XFl(BB)hxy-5pl^1l{586>6G%2Q({>~PY3${xnC*ZcHQx}wCqtmU%TcoYBWfQk36B%GYl$Ueqn@5CBS6d zulibh*D7HvFP%8$GyE&q$e4tzzd}=af9(;I>*#M}c$lW7Lo1Nm$1>if$v7?<2^47w z_#YEkc(EV``mJhS`FRve#M)Wt$a$3*f-{hdBX8&yDQC50-YXg*Db{w{G+5#XZ`_Hbko6ZNS7v^MN>G|kyGhL$4!7R7F! zXY$FF>|Z4y>d4tP!m!G4{#-@QWx%gY%{61ziweMWNieiAvS8}q{ebH2Dc z+Tuk?*T~g>aQi`|=jp7RLH|q_bE21x6<=0r33%FSK{6i(Ek5%-F7aX}YWV|iZ4Q%r zPs?J!nrZE^SY?3ZCLGM+ZU?OCbha|iNbBu*;7N7gP)E~IPjWnX=skD(9-ZPyIWwp9 zXwMaa6T6Lharsee0BI-upw7qvW8I1}#o}X}vE!8qOxO)bMe~@KOVi=2PxLJgm9;bc zf;h6W)&{nx2)56JbvhHj^7>1@ztSkDzgE)CV^5!~Nqh4K!N+{B-==K&3=N#64)pEE z(O6s8&v^$fnICob^KVn5o4W}9I<5X*(!}R3lAj=%d8o48g8e@6Q%+Uyrf&uC&VB0< zZz1Xjq7-EsAF*=nc0h=MMv|{_ml6d(EQDYSzV$76P(9*7Tp=x2NJ$lL2egTS{GAK@ z|SQiHbKfg)N(YgZ796zp8vHeThcb@Zq#xI9b{qMLrd8%B=+pSu z%2;Xhk5?`&&iBKG%h0;^a-WVoA#J6c3$ZMO=R*FI>ij(>gz7%Q217s1s`VFG-p+Q5 z1c1owJId^I2x#r-AoDibKiH~QfCQa+cu*56Yaih1`oesoeBd(a3GxME*MH&$kGfOT z&iS`CY@&|w>{Qa+Z?z*7!e+R5*G{m_FMeQ7tB?$1`$jQ~Y8%kN4P8Vd2tSC<^TCx& z5(v2SXfwF$yIM%&2H|+~!d#Uekir(Q(89cvB{&Whjiw4Ce`cbn6aQDF9Pkp=<`t+udFJQQhy!d0PIF4|hc6#Jlu&iE)1p*0ML3 zl>f6>c$LQl{f9Z z_l1C~_mmizSR4KF+&a|{?0T?W9IfVb{T7N~URWSat~;7X_Jju&!0c>KeWIzQ_x`qj z09*CbVu>MqVAY3j9Lxrw0*-;Wx8?$tb9MKJcOu1lTkrO_H6GGQAdy$8|{Wo zsKLhL-Q{tMzA}Cw5)kM%MpWiBvh>pz9}>v?q-bxqHf@}eg8~uuxY?Sy};D= zw2w<9<+~KFFc%?G;-$TC)kTxpRN4*OpI%9su)`*2F`jyU~$uNV>;NnC)pjcD`GT( zqUh~dl>Ydl0URr{H=SudIS?)TW{hCdXbvPzlqQh7pM~2D}M}HRt_)JgT3&Nm7!#f}d zC4o%32#6X%V?g!Q57tFXJ!-2_J*v~e&VjBsXx?Iv-u81#Aj&|KWf0MjOhrh&4PZ-l zkzqsj!)I#qWblbzCbh>1i)PcMxrV6)C_ZY~Z=0wviaX(wGEqOyd5vVrHe@ibr4H>D z-qL6e+)t%*%D9C@m?HaFDT@d^0Y8}C*3Q9Rg$ESZ0Y_|O)em1hM!j&$obVQe?sn^# ztI8WBv66)7NU}KMxdTO%zg=Gk7KwL-+qfLDIx7zp(ip?Mex)Ck^K;|bYYm#O=vjP5 zu3>fO87@l~`S3;>65MVOmpKJz!>&X9Ci+m8xQdu>jCd%PIF-ctb=WH<^VzP0vv;@r zRj4#)POa9VOvN{IV=)t8uC47^iTh1xZ@pn8JOoN0@$H|Xs;l{>_>!1#E9f_C1Jm7R z5Su-iv4bh_+*^gpVz$BzOx~;1iO+d}gbLdW#vOie$z;ac43#gRuyn9n_?n(&P@ww` z;$|ba{Y)7@5~44(+k)n|STP!PwOPHj{{7Sd(8o|K!fnyisJL9v&JK{&^9e*>i41209^qJn#Fqd6N{3YKcpSg z!0f;Acc)8DiBcIq(DXgaB-|wB3!EBf7HEn`G1$^hemeqX$A_JtB$>Ey75ss{nJ5Nx z^RDgY$$zl`zu*gR=%FF7C)hcWz*BvoYXwhD^vg80Iug=dtdHHyfD+-ErK~W<7cm#Q zz@LD!)Pyszm8Vl%NSklf7cV@#A*j&SM|(Iwnl(q-rH(O?JZ0!I!`Mw&9#pE?F_U`L zpx-jqC`!}ZwmVL)DFt0`I3j{35!-#~;`E?>YXmtI0$?_ru~HhxyzBM@+$e}$vFKHM zJ|0jgahxiQDyGWu981-q&k=8V(RzbdUgRd0#I46~=9gczmvn*8F)Hk|ocI)KY|AEU zL9>sz0wSDPl2?8fDZcEl-Pi^kCXm?3Cm&@AIBS`zKq72N+_C&sv;i`iuS2{_;blGqz%nvhDR=p?41Z z(oAqvm<>g(klmS?C0XjS*Wk>ID=9J{PP zY4r5d&!fF#vVnBzKR)~M=;)=-yvF82uvED>MpIdmeqgfYz^9NcL1S zR^dbYibRYj9{chTg(7LIs!|}m`qE@vxC(SEs03MP@bi>7y3^BK_sIj$;$m%gmwk}! zc_E#4-`B;;J7YNE<;JDP5nZyP$Y=ivOowB3I27eMsHA2wYo>>EhaH5Jm_6n8EDmjT z3ITTldAwHFi^Q4)tyOTXQ|2pPDv*7^2Q}Q73o|vA=Ydk?sU`05zb<27^*lIpn`hS4UTPuw;{<$D^_xMteOyaor^aNr%jm|8uNOj?V!~p*P7mokW zgZ=5t+TtKnVAlka^ra;w;QCZoyUM|$cVi%0PoA8C#E&Ectjey~)A7nrp9atL3W3}% zZNL>0;UhMdhw9hQWiLzgeIU4hKgks*g{)=R?);jU(#KDf;`Z7yf6RsE0Y*biUf}eU zoMPDHSK%{_-p2OFc@(m;JLY;g;~7*~1qN@lpCRWYe3iWWE@?-yDK3-nr+6&AYhV3v zchM~SwNkYcGWu@N>xPyoI$c<3O4-LT@*il!yYa1=f~Zd2$^nN2wnVxhZmhOK_L~Dl zsR+3aS%lE9RubT7kU`8gPczZtk_u62G{nUq!=UVGz*lu%h8$_O3r2f2?dE%Qq)Pn8Yf4@A`|HE8Pj z9%++ba4n&yXz_~x&ivW%U`aBw0Gn$>a5&pOVn=2bvv#gsnb@+Wq|b(A)}yuJNS zGaZvb=6?%Zbk)yq3>@5<#fyx1_C9=2)Uob+(_qyWz8gUZeS1mZsomk|? z5?on1Lr0+E10ni;fl}8Y4fp?C?QOjqY}?N|bmf)G+CHUwskZT54~~k@D|SxW<6j47 zMZh+{2ML!|yhMj;>w)hT>%bXT_KN&bAyawb@)o0va>21$n`@GLhtNubtfKPXVkLCS zcT}21U<0%GJiSR&xNC*u|p0-f{ELe}r?*Q|fy|0SG z7d&yrH7=452nNJcA|+ODK>NMHnHlM_@js~|wpvf0Qb3GealiwJh`@3E5W!ZEP*!b4 ztNC8ETPM+To%LF_t?n01%Gp~5no8g#ewLT|&C0@$Jk409v`aPtKzrLxlphaanTg;; zigny2N_%6E+n~VaJW#i%i$g|^jGv$tFR95)ESZb&VM*q3f?IpmO{kB~DJUnT7c(>S z%#R;RbtNU|z?L7PcplLjQ$Z#|ICx}QE3iRg2(F8?w%ei8$u4sSB{Q@D+6cX@+XT(J z1ZGeN@i_Uh#tO-OEDfCRmfUI97NOu+!3TaeKiyvtq5xAm_In+EA~R3_?n4$Puxv3! zKV})XyZhwHli537T9w?-`}L5Q^q_W9rP)0eW9%-cA2bFqRHZR+)>DVgg7915vVe83 zX34Pd!qPw{xcG&AOrn{_jT<+JWjk+ganMOEf0JZscRRlk-ESxD|KmVhw;cYDG4t8X z_iko`4sor0&i-=khJN4Z5Or6pBV4%dTDRdx1Fd^P3A0eS?VmI@e}HQ-ZE(0gfV4&; z(*L4dm8JJscIVVbvT>8y^{f5#VJ0z)G^ae@;PBa|m&dV$D5I24* zZ!fRxMiYjTRV_NJ8-QX3@Dn`wqTKpmFMBRkKi01k2Hq<;Kj3MGaKgM z2cy*2vI-h0Q{Y9Q-)pb$t*b|8AlBB_!JIulc%HWamix)f(D3S`M~@(Fo9_Xo@7C6= zhHe8*6Lf1mW7VL+mo)nFR*`h@xhFQl%$^KC?y*iuXagIXBJRQl5Rl*pD7s}lu4TMD3ZNSA4a2iOX)LNbZe93=-lor4mA$ui zGU8(DX%^q>%Cd_Tgzsj5(L&znsr<~F&;VVl5H~H_eCSIShMIO8==N0CPDq>rRI3Kf zhEX%2jnig08{5oCKiT?K`+d=yC@iD-fHtTpS}5Sbm`2$&~ez?f5}f~AD}|!5)fgmEnNri-@nf-D|1xb<5y_+7-jUH zc8zER&F3D!;-$(ic=m`y>wG4s77H<0n{5@Mqa&B8K!VsS{%Y?J0DYM{RW9_9WZjrk zR|F;=T(KGeyW@Y+oiV|K9#Mwi+Jt~4Ep#Xbkp+!ztB$&Gd_?!ictxV7o18%b_Wa9W z`{m&dNGN=kopr>8ahaE{86GsPnmi@g)_dMylAcM4W|h9H{e0bgXDj?qPxyidZ70>~ zeO~$P^*BwSQ4tI}FV)X9&!uNDKMdzCRtU}*g5HXGn_|D*ThNp52!GpKe? z!3cn8@tLTXeqt3Y$fI*9WrMQL+m)RJyjoeON~9rN1a2YGd;MmKzaQM5Ahb0ox;kK> zWISgxs398vM+SY zH~);FWCs&`LKi5tQYe+b4V4y76?c%k>^ECPRx~(u$*b{4BXr$g`mN}ANFU@UT(;P+ zCHc=;`;cOnug^U!(DKxq_3d$$lxLUM4A`|REUBb_NEW}(qPL*Du<<}x9?)t7=Eg6F zo)vwaz{ai(DkcHH=~ddxI5`vjyE!&RVURL91{yA=9)0*di?M9SQxA$Zi^|1Frv8)c zNX*cpGVA`w*$r+6nI7&5-SVrLCvA!o2PDyAow0o<@R4iTxNoCon(V0u$}1o}34FJi zflc`8PxeOfD*?WWn#}dr4BqLJ=vLxyI6dmSHHu)hvnc`T+iXM9!$Z(%DP@V$NtqV<%V`%Q2bwJds>4mO(II|KE#{(`bT`H)1uW&Ke0$)mZu zv7-h3w@LawC?izI64%AnxhZAvJ9xPR*|i7fBZsjtS?rX8Vwi1{TttPeVgP|2bG_~G za)MfK^TkfDC2CU7UcW{0u@-B|x6~zt?$YGa-g+cfdVu+F>e<4+PJ8b?zw5*2LnLwj z9S-{(uvc+85WY26R@CyzsH{qW+UkvYg1NJ&`NT8dyK6b!*`s33!|=2P`Y;Vr3M!T# zz7HI0$q@Vt8d~Zow1w^_6_v3E1?*(%x<$sdAk}mamxvOIN(l{6lu2M+;bG~ zUl6%)-U%Wy+|JIaAUwLKTrqIj6Uk$*qtN!jI~HD)4Chlch<-~gI^qL7^qx5+aAp4h zmnn%{fat?_DK_vg29uf}Ks~UMx=$>VH5<+LX5No7~7eM<7F1=zJ9@$f#BD>^# zEOIRzs;KDu-Qw(P_{G3*=%tTEg+Z@Nyxw7@13*_}C-u%f$^l_=wRXJ{-P`?Lw0Rn;7Zk8dC;{2e8h|>xr51V(k z)y95a>5{m1)A&9P@I-*qh#9={Uz8W^2X^%|5B~bg;Lmr;|F<=#|GAUU1A<^dD2?;8e>C^KywGmrv`ggI(Ct60oscIzjAyyFXy9HKaGWb zU*zh-o({JLb{Y{ZTw;qhW5)^rtf-O}#MIy;L+m#zHpeF>*1+eAiHRv4-M{n%00m7? zNP;jJ-~8-O5bvWPE+dq6eyc6p<*@>fwrM6iK^il~T! zbRnoHDorUOQX-&&U_hkTV516%sB}<}-lf-|G%3;{bQFXDp+g7>Dc?T)-*@iJoxAR= z^{ttEzjqnQ$;rtn&$Iip_itmxbd)7}8K=@2=cj0wTK3nOT1R6op}qk+-%Kbhw_b@? zpj_dQ{{wL5ZCDG7?fE-z6IuxSocTXeOhUe7V*4|F$4CU zy94ew}Za4cf|z4=^z zKwIB$kb(s3(&O8#bBnq;EE=IXSX)QO%Sfw|ZCET8Iabw65hm3Nw)*<|(vdF!I1!Si zj@gMwO`1YY&Lr!Q-LHJm+B0k$A%WwmoUH6EJ-uzk2-1DPVNdWh@7%ew5e0Y{s3Y$- z9l=GSKBcF#gYigc-?t6tY5q}H{TwuJxF~MDm zFm+G={NRL2D<~H7>I(#-gfVrJ(1zruMVD6R#nYebMr!(H@u`I#__6^K37`>UQUr#HOu%p&K#KT6#RU z2^w`&$A=L!%{| z;+frljHGY0=Bs4Vvli6cBEL-@>f`Ftq1Vr!n2XM0odnZPaDPHnPu$kgd5vHfpqluD z8eQAeqy}F>w_l)^R~1c2kryr+Ng;+wGLqNhfzws5Y@@M^JJB#@AJ6EGl(Xs~0>dUB z>Y|FA`^27Y0BOt%heQ2*AKLpE{l>99cXLd(z>}1XeJprgJn)6^#T6wXDOmzW$vg`h z3|q{66!{$lP3JbjeEa07SZF_{Lz0*GPF8yt*Y%ya7gJMtz-bg@Lb-fj5jGtSzK#^> z`zn1W1;4$1>?w$vR|2_BlA?dl>T2}Y_ zP3qC*o(~vlzf}wk55rN=T#Ais6Wx!=$aPv6;rtzxNjvqJ&C^(jIaTi&NNevn6HIm@fP~mqAjZfK-v0dMK!d|}7H}nZk!tHLEQ;wAC<5aeq_%60zuVYH4{N1o` z-Ook-bYX3MCeQVqe#huL#@R}Oe!G7J!_1ya`-9SUDgS|2bKi8TPI3?P`Vo^jo_EXi zl+@Hkbp@E}(Zh5V*FWOt(@Peeg&L!>3hHAN7xz!F#J=y{hK@@X&B8h}0I7g|?eb-p zt=>8sJ8^&9@$vDdJ+6VxMo@Z(y#pk5_loMDSJKlVzmg%jUkKg(HwEfqj+mg#UfV?|*XG6+75X(JRuswRaq59=5pJMNmeN%;_C6o>M zQh_e_w;oxxX1=u8G;h&xsVLA$`IH{(>wrbivEkZ=IeROd%&!k2_qQ3N%z?k>o^P&{ zn+TN*Ta~=mosZu9cI8#?j++??F~8pAGrHbBJw-Cjqb&xMvij%Gk%GFmI`eC~Zl3g* z3pTz#rSPeO?NvGb(igVCR~#o?Q7OZoG;909qZp1)pGMDY!zT8f&>Q;1xal==wQbY& zosnwGCCmL~&bfvBVbdFq*>?@qG4a8pFS83?x~*(+uSk>sY@fLU+BS$j;U!UwyLB;h zQ)|zgX&#F-Njj!Bobzy0%0T3(yxZzIIu8ATyhj^X|L*t? z0$>O%S*8NJ3Y0(TEC?G~v54%HOvd`Bs$Dp*6|o6&_tHQF0y|0Dj{~*z z%^(p7pf*0TJbK8r9ehWhzZIVPb{{-O5cbFD+ica3NYDXe0hz+%{qo5ovIr1e)%V!L zat?Q&ook2E$(f#`jtdbi zvVxvST0S}X9n@z!)QcMb){u&Jin+P>of+;O6qRKPvVN42TO z4fsw#`g?v4<8?{R-YTlC`x{8WxAhM|7QA_lMwN|0>em&4V8s(53*TeU5m@G(pOwFg zsD?x&S~PBpUCs-(e>*4L2)c5jzt{J`%pWVt?BK_ATt4=M%M~>BPYA%L1RR6ViTm%p zwX!ij$Z*6%Mc%CVJ%*;;sXtC)!#On}8VZl=ZQeGw@XO5JJP{)3vPP}?YmnS^UuTB% zb8f}(yW=Wll2>iMij=vhmpJHlb}FB7N#3yvj}pg-bMZVanC6!o#!B4tVj8IG0QPWlRa@MVa!*e>2~+1$jQHu76W!$R+XZJ|IlS>i z(BvQKK&TOYRG*!;;6_sD+I|0`?cE!#$F6(_k@e;k>z#kgv#<7$wkB*59j)sQ#mK`Fhn7gKpl z`ttsbU{82Kl_c~hIk11%UT!@jd)_ddbXW?9XSTPq+Q*c%7XjTn^45RZ)m_^@u8gK$el(Z)4$a^{gfh z@LZf5OKnE4Q2@?N+ypNa_x*eVpQ6}uG6Vr2bX@?kqVE>EpK>aG`YnF-Vfv=nYq^f1 z9)%iOP+bpCUWl+qc|VU+OGGqmVMQ zOD?jh@=sI&z(*gn1r)sojs?>WL*IY#i9N zU4w`39Nu_L$aKm*WYA{pkA{~?S6A2mv%G*H_2D?ug7WuQ7mLoE`K4WEBq^&puf94owYLu3m5$~Vt&+g7f8w=0IKJD)FbY!M$^6XK7q z8rB}&@0XOjV&0hK%KuiyCQa8}D{H%u(D#z57VT$akvZL2PhzvPuElqUZVTP8nW?Yr zp1;#(&IU1%iW0NlJh<2Tp;9$wbHt%p86%q~u%N>onB2lj^k2y2*s2)vB{6Vd;nBYR zOSAZZ62k{xvTS~nRNY4hCa;PIljXu$;zLBum%P2R%vQlB+Fo?~4&|9G)uu?ArC+q5K{fi+kE_1)~*wj<9|T2eE9sdt>B&NE!Pb;fBglX@YM`hH#t0Kck%Cp%-S27 zKP0p=U9Ljq7|)@V55rDZJ_)OBR6{Bk!1BWQS3CsH`@j^go|Kq(vpgwE#la^jR<(vL}-tL>oGO%mUWyxv z*Fh`PeTCg`$3h4Q?9W6vW2w)+%o|vDT)%8a6yH&P zmcBOl`HJ^^f<`&}7q7ngUoSaIWC^~nM7g=SC#I*Xk^7EdH=eCnvvPz6YDj5FHmC_f zGUIuO3x+QQ-_f;?T>Nq>@~;|bw|15S4Qcl;3{d$*zt9{9?L&8-G7Ru&H;FyGl@buk$0Hp{V0mrRqTG+UfvJGkU~{1jy0ag zG3mF|oA}-4FHr`HZKdHL)UWS9ae*y~7;iiiVgzrta6a3^_t2e-_|FFsez+W6LSH_j%wUu zOifw1{oa9@pCy_5WBX@cY}w)UnjIMhC=b*VoZDcNlI3^mX>g@-*gdwre9h}+cwXqI z=MF0#LVLJ%t|c1G26Odp(A`U(D_d%=EcV`qU(zxtqPFBfH-fqI`JuHBl3AD-#|1g` z&o#=WZ%RFY^Q!|rIG}=mlU330t%8kb$c`$CAsBG(Dg)(T8oSd22t>f|v9vk`8Q)tcaX>c+hG+z|7_Owho z3o&rBmYBmUVfDYh0a65i(Z!`E@sE?V7I^m|?|z+Y)^fQo-tsWS69Op=djXuB;S?$T z8=@NNMM%)|9z%DLzKy*3l$N%5)67>*KBD#>V<;_>(G*gR(|)kAJU z-BnjFALV+0+Y~29CC9!>#DL0(U+1o-4rBR59bXR}Z(--J$)MDbr}zn?IYesehcoZ&0AmU$OS!+W%q``<6|n`J!hm zqEF%(cP!Je+bsu!bZjpMd1GPxp=$2nN*Jp`*k*#d`|80LnY1qG2~s`_tajVbFaT<1 z`}*!7L^L!9?nU{nYu@q7L2-ZwR5{P57#$s5mFe@yuj%!%FKSSUSufe%#YQG1q#yq7}nJx~Uz19wH5%#zzso5%Sk<+pFzDB0xJ-eLb%7bamc% z&JjQX05jy;iLu1*LZ6j;{^kd93sh%MPqO=E!FHiH*t!{w3-VnALTLyiQIUypcbCVo z_8tUIV;0}x1No?1!M(}zftW9JO!0ok9S3iM;i?;Xr@Axvoa!I8s;O_Zh-+55QTpA0 z;$bSEG+X?*g2kBApK6usAU_{)`8a=mSKXubtdBUY%ZSE6AaDEGk06@hpIFm#-;Zkbfh~ z)(WfF-)3s3{{uWX_fVj}3u};6q=Ktp0@|$GuR9z zAqw5F5^68fuT+2!#ERCsWcgOP2II~h_2#Smo`%VaV=kRnDmy>5*)fudjBO*<{=Uwh1y6cMQp=5yHwAL1 z*2md2&lGt#h;VK|!K&Qd61z#CVQ)1r9i+p=EYgLPF`U`amR#KkVu~tW>0f6jz_Z2rq+Pt zHh9*p;Epjyc<_}FumEQp@oHbSxyDyi3>kiX;LF2=Fe2XP%x0ty?D2klM#fLXrF6d- zeBFE}&U0bsr8Yl}JpJ-aK@h zw}qK>CCbZvjO*&bc;1c20j6bvmFq~k^lWe}dLnk0q+~<&$L{9EuP1pWivu$TdX8K& zkp5tWY4~yfc38RnOTp=$6zOMMc9_OjhfW{YyY%(B;x@VOV#i;fIoR#;q)360{QX0=v;6Vm7C-$j)WviV3HT*yQR1US2?e}a3^A%> z5EE_XPAMHe+~+dJjTU}==Anqu;+FV_-{v+fzY8t<(ky%GbnF`^O|e4gJ%7A7gE+z! zyQ-ALF5R#@*=-STQsdXnhGKZ&bD=csZov~hz~UC&Cs+hx;1;q8%4Z+AYF2c|GcRMs z2Anz~hqT{cx)oxd@FzEx@x&~Ln1z4iS5vY5a|&)n)?OU5UAg?4G5XN80JW_OoLZOa zpf4Xk;O<*r1i-t6@D{hkC8Wt@KI{1M{mMll+@esl|Jjn{Zrln(X=tUOkekQQuI)UF z7PkAZYjrO+e#*Bb>>F$Rrg={M?e*iIuGgCw<%fLdR!rb<`?V?hiuW!x%gyQw^tao4IUHzx-MghUXLCPGfi^ z&4wOHNS_>bJ#XY7b*gWwK$-w?Fv`et7Qv^J?TaK9_GG zo(z-8t%<@}xT|Nx>=mh{ZwM6XTJtH{_QK2Ts4kOzY3h^g@RC`p+h+n45_YdfDz@;f z6z%z|UFsc+-Aya&+X<2JU5di_l+#ak%&}?5-gcTKsK(#5)xneX@%96!-%WkI{Nvr_ zot3%b@1O@-r7D(PAfme18#%R85-GXI2%kc3r&Ttg4Culufv+rzQrY&XMrpO9+eQh00 z%N)&~BuCyeJL+}2@p53Aag?`u9`jt_n)bMY))aYzv-Idr>oAXjg;gHB^zxG0O_J2@ zD;=a<>3w6{KN-_ASeFYix`)-WhC5|k)ZO~OU#W*jdPl7;i+*I^g8&xi5(Yl7Y_}7P3MA**sF%% zt0pp=Wm-po)X?1lr_q2KUn|QH$8wTkP3aIh(~P_(+NV-ERVJ8Bt9HqW^^q!PW*4%a zu#+5PtfRRYRFic6wrQ2!4H8py`PcwsvVw^*1KrjV&_}D&Pn&eVf7kwkJ6)pOBg8U6 zv(C3!R5+T8^nPSck66s=ed3ri_1J|`TyU_BZi5b~W05n^(=+IURmqd#Drb9nITy-G zXZxg`*7jRFUCAjtIkc7~7tOjwQ3>9<>C+|ro+{`4o%c~I>jz;pyl&NxyFAxc>f6^ubt48L`G2P5<41U$foi=|$aq|ET2!hT?;}LPTx8 zzw#!xDRz)JT%%8U-PY=0Si3Nu1^A2yt%ZB-_fY6Z^OMQm+_q@ywv%1VL{Zx z#*}KW)On!N5d5gCO4T=nqW9uxNw~iKWsEN&>V7`b<13O*b#g=J4|~W*4i82uR{do$ z%H`Sart29!VRp@)G1}F+tnjv-E2f0CucV$FX<)f`3gu~RKBe}FZBy)ts@V3X-O2Ql zv+HAkqlV&qMf3{}aiOkOpD)b6v45lcA3=Uj6w*J#-%L6&E4eJ-EiJwy#dBK?@_~<(VIuE z1*}V|eU)pha}8x|NXvM|af1!WId}Y;;=dOD54lF%egt;?4@xpPJ4(z^vt!G}gA_Ew z&txR_V>N@7cT7MalR7q6cUpt#ko5cOyQhPp7_BG86GQi0ZW9aACa`n+#H~qLhpo#p z_dXeBYSr}Rds|FijqcAJDG|jdI*qlcUQBc*xgXhHtgKM{!2jaF!nr z>&W^As?j38{jA^YOXxU}rC8@ks>b80QGCwqG?kxEish3s)Y;`PTWFXc7+#ogOLu#p zBugh+efrdPIDYC)j1Fo!)3H3w$7glk8$EEn!@A6gnloItI6=V=Dhb#3GKP4R3@*69 zU5(rF1^D_Nw_!1qH&$9!3_ra(SwyTMR`(S-{wXl5nWa=5aj4sohzDVDZeU zI|EBEoyJZFZT6&y+R!4Y&-y<+@$We->T}TamrZ5gc*Bhw`r}}UaEwG)R`7Fi zsf?`jx13`M_RX(a_a7?U&w7u&jS-z1aNr)J7uw6_WQH|t)J#6T1sj1=sxFDUo|w5; zd!{DWV_T1S%SA4Pe9eyMRDDHGI3CF#a5~eeEM?ETPA@i3siC5aR(Qsnp7OOVIj)o) zBee%ZV^?t&zJqh_-+XZ=zhQN6^HEOUq2H%ntbFfkN1@^L!&_M;uH453%hyq_^EeAT5#lzJ7P*!OFv3ZCw+u;Z8 zUsIN$fR0q1#d6^!#`M!&L%w|4Ik&;K_hC|tA9Jo~RB_Zk0oh{%dw9^SrK@yW7SBTE zCQjB2p7Dyx4>O!~(umsNGQ^S6jMZJ3b&QoHt+FcFc1aom{mkn z|GTeEI2XeBs0ZrnV&SdKdNbGmbH9{JY2XO5FRl5#u%K>Oqn%2vs8U2AFw#9x$;DZ7OA7vbuUeJUyye-Wnwt7+j z-XS{|A2Mm1b4sC$8q~pmJKdrr&aSi9UzxUk_u)reU0X9D2w=UU+gkHH*g{B#3`O?W`!~B4ftSe>SiuOwmxd$lTJsJlVFN zJBpK~tfX|2lO@fN(2DWF9jeFb8Z(#DWaGgG&Pv*YFv`1g?V=lyKE=PP|7AIaWn-sKLhHAr}!Z&t=Tk`78q>_Lxs?|#0e-tvQ5>|3i&2`2dmHBe<1z1gnjc5 zdWYFMX#;it`_~=&YeG8I-}WSjt8apI?|p(!3^RVA2Au$;gJXW3w{ES~P*Zx6Zq`2@ ztFUA(^`Bma;2PFbP<`ExOEyLn#78>jmlM_I(ojyVbsy{i1U ziXZdOgHdmTx!*f;PYk17wGdl_GVcXE7>1*P0q~z+sm*xJb)8>1vA;gl6EOm^pZ-sW zAO1(CHClVjyRKw#WPa5tDbpmiGsmJo)yJm?usoHN5G!CRDwvv-wR34s!QS@#Qo(|j z)e|uO?P5!clhY7QVR2a8S_KqNo(XfXr6q>7nh-$v@WP6+bkz{i79XZS3Z!w@;i>R< zi8VMJEzja`PhJ2nV+;=eLl|n;6~vw$2_f>8|Hg9Etd_6_5h(}))af_DCVJ2eGcEpMnri;J;NR?9=PgjM)2-S&;_S(z>)Kh4 z)snTdjs*v$^Q|HTn`g|FbG&9CKA&T2_HSBUBj#X^g~=32hs#Elx6|PvW?ynUw<1D& zy!=^tiif*1`ng4m%}@QI5k*_JztqQqSQC)!&c!ZiU=EI>v4*dfvuX-zIu%fPE%}@| z`I7?XP2FLAY^Y?wP1s~^I?Tl?=o>dd3%o*Oh3L;$0Bt{Vo~`dOp&=#B&>`bV$-6x5 zY2}2||4ylcVCgxKbN1O6tbbjZu z$?ferX4aaMYl1<_)oYQN0&3VW=sKiaoyKNup89Ti0AsqYvr?wLg)OQUSU*NN7wR@i z9n%D3?;Oke+Fz{kg`b>*4%`^@oT#9JvwC&MaNsIUnA3XgTJ<#p{{j4}KV(>+rY)j0#E>h_elQsZ=KSiMa|mmI8p2i_Vn z+R+G$5V6k1HrKc!D{DvEsP7Qh4KSHWE8UK7x+Z0oKpqFc$kDZb^##6JLwfZG)>>73w1i2Un@~9TEv~h(&3(6dOw|jHDLo zcNuAyZZz*wO5o3GM6)P7b*6)*rqGO=k2G|cMIXit*xjgiN_V9oejcunEV8hIDaX=A zhq3M|9mkKGQYzZOPIMjr+X4tzU{$dq7~kH@x(45jZ4BpMjU7jKJZH&7^k@D8gvT7` zrE%c)GH2UE(oaAAUN@Bgsr7$?;}53WHni<7O25H&|Bh zvfFmSyq^otO-WhKoj{?Epl&E#(jHiiPi(y2{8|c)E->h{<0gZ#8A%llw9rM(+|$$A z-^EB1HR9DM`yI2Yiz&+n2UODxtw|!oMIv{-1j7TpeBgR*YT}OTx1!~5q!059(dmgQ zpN@WyEzVC64P+Eg?$FUL**HPMuv`r7wVzQ$ac7K{s4SrqyW9nhY=7~L45_fhnrTjj zlV9Jpda0oJeU$|SMy?#p3LG9>jTICyxmvXGq`*i?K>0)+i?0}5=w{qos)qA1zLbo0 z>-U0@PgJ6;Ysk&vMp=(3ylVC5(;ZZml)Y{we5X_b1SV>v@YJ7R_bo{&9iqMytk5&P zf_VE6596sdm^Wx#72!bU2@z~K-V|qrV|r!PaNzE?6lg^tpLMcO(-0!=^Fy@8Cuin< zCxmpTfYyTHy4V3+FFa3k#ct|cV8COQA-$L}%7Deb+ znS4i0ZPy{`-H?PH=;QM`ZpDjTmJQ9XA@1HUAItqk5PR|y%*`T#<)|p2i zV$F;*ajTlLh0?4Rk%awS^;G;|X311)(fl}3jxDcs{3oS}<~HO^l+e=@%fvIk^YWw1 ze#P=rDX3=~d1Lmvy2I(MOI~$fPaz1;`U{(@U^M%9wAu?Q@*d(eF5N6YYx%gJ=^ zd@{i(Nn7P+UuWq1W@UB)nSgO>GE02_x#zMyjlq0@TkX`+5J47f9Zq%UO{mM0JN2?` z5#8D;BM2I%f1DKwkrJRex1aQ&WZP>5cdA6qNB>!DSxX>ozPRrm)S#}bm(J~P>JI8Tw9FdN`5?y!s zl>1qtf)gLOZODy@o5eOb3vc0LmPrh5mnk{>Nc~kE$~GmJCnZY%(N_HU zutLhTf6C*=oO9Bw0($eIu>rg^u(O=wYxTcmtN;WJM4X)V_7p(iYe8GhqzQ+*M6{Hl*7^?p zbrVmVh|nXLg{8zfkw+dE;LCr?QjnaG)FuoWC*P3XaW!j06a^w{Lr6$SJ~<9zr?-cQ z9J8C$2=D!5&7i$g;xU>5-_px9gz8No{V1PoQWtpm#A%N z(me%353arQl6+TcO8r-W0$2mDc~+^n#amMcZT;EbVe(PU}dHPJFhG*4q8 zS|yO$bQ?S6%eY^(ydP!$0%dL!@BpQK^Z48AH^Al)ezHHk#^c-}VRG@(Vrd-wk2w2s zYcJ5uBBjSPNW$>)o&Sr<0RVPC5d53dS!KszJG_&tBhhf3sO3H=U~r7r9cz^!>+h20 zE?U4%o^od{JTDyyXA_8VzCT6c=ij~Y{rc3LHB%_!IG3<<$;<=mwC&tdn(Z|-tu4p` z9x}c;6s4}N-d(W%=tzE=F0`dPq+`}ONm(On!$K5FanCi{@%sp+MTPxKk~QM+*VosZ zK*>&YiJx9FETlJ;Wem?rLA))qbhc!j_LfHu&p9bC1P8f&Sx|^%(WjzV&^N+w=RwH} zL&OBBfpeD3HS6L8a4*jl7+PY;1<*LYda+*5)b(k(FFyy$1;la%>vkX<%IYnw9 z+irz!-8+owm^KAk=wN7j+mcW|ylH zJ$M|hrA=^5Z^qAoKhM%j)xp(~@ zl0&PtQj&(3pG~>FiD?*R`NZcIavVw%SrQEgjV*?=jn)5~kUyR^Jhj>U{1Thz3hg^j z#V=n)m2me`czvkDGkz7PEbqzI1|SDC9M@;J|3Wo=!>8zr^Fk(5zDH&RQBMk=tpu`& ziNKX$E;%juV+?dfcHB{*@|SJ@^PG*(JT>YIlpPioVEJY3lA-?cC_Nk#y~Jt@^3X=; zY*^a$VU+xf{zt*8>2LbHw21|JdrKYh_m34CeqdwTrY)U!ITgfGS$WZd` zOSw_blulNJ{aWVQtiK0-`0=MN$Cd->H5!BRyxp=(lL`YOCo%)>7SB##x%vg}SOxH+ zUCZ*9=By_6adB~;*1h(|`koVi8REiwKA0()tI*@e-tiKH)~Auol1zK((dyU~Q6*_J zqunE(BO-8zZzt|VCN?hOf*rrY0j8>|_8M+|ZS2_N`GyePvJr0Ep`km_Wv9_3U{q!x zwxs0YShr7@^rG{xm4bW45(3?aXX-BNxNPeI6);)@Ndo!Y@EpJN_N*MTyvw+rFxMeU zmM#5#dC!7@5v?1{ zX__LZ^evk{T|Sa7ZsIaNRxuBOpka3`zI+K+q+4AQCM(&JnZ!|bcl4FSMSI(YAJx(4 z%Q+5(GxSdPyVLROKOFXV`oka}W`l#2N;C!y;5xN}LHy-2>EZ$-=?*P8T2b^8zOS7nB>^=Z5{iK}w9YEU4Ksn9g-uC){-O)Hf&)Y#s4 zfi<~XATZiJ0hKngg4Pyeq@w^HXozo;wcsI zMYgDYx_A%C$NbCiL6?4i!}Cy|Gs;klwz9s$$(eKNPHiHy?@lxBinS{z=lPz{*G&9+ zAoEE^`XXB7>q2gw++aqX!f&kYs<`>Ny$8o60?p{t3+j~Lrm^!M3#Ih+Y_|rz^tBX> z!_3K!5$rQ;FM6+yM*9jruUqcIi0r}%1n#`-eV#S>DJAA%pe23UgZL0L$!+t;`ZH#Q znZkA)TS1Gb_s=g{6G!tUGM1RnB@T#rGz3J?Hk=d?sI9Y}wreRVmL{c}V^_Isj-iCz zg$2}89)AWxX+GdIPZ^B(C=;`gyB0lLrKS7)1Ex@h?(36+I+kP~XzErrJXyi~A%iO$ zmPzYBEzoz6sZ_1KTOm19ZrnJ-_7MLZ>k?7QMT^MFZ+pTU{4U%*rRsiGW9#D{NixCV z&S9#&RE_q$*3giWd`ehv=<8IwExQpGkFSeVMAi)dRhHBLqn7x;E&j`;Om0l2{bEDk zg_2XbvqisNNJD9?DM)Uc+WltL{zl7jNU%{>jX-!0xmxly-(IqfLI5Cu!(;ws{_^j{ zNUKvwETHyrQuIE^>&JCo&w?VFZ;0`Io}iHJLZ0ewW~HWOo`RYiJ~j@%HxM!*w0o1X z@Dl2)EKN)0y2QU91AL1_x2ZB2aPp`5*(gX5as8D z`P`S=?v^@WP3!u=l=okBL)-EfjYnAClVefvEJjV55jhoU)PSuUhX{)f6t7D{2}{Ll z`S4o#H5W!skb63BSquLFo5xxqEQ&1+e|@N8Gym(GQ&*aiPJd3ZXiNBtYOs#Y`j}; zWBmMK_G^~76?zY@Q6wXp)qc53KM|Z6dR*cOmD5tu1TV3hPQ|^~K8L zx|Jh$dZF!CM)J|F9`Aqa7eC@^W+j+Ca?k6%zp9nb1HPP2j@X@=hMrFAS?fNc3bo&j ztP$BHMU=!aI!-M8EdHs>%By#?wOZ;zW5tG}{vW^o^+D*R?#6uTRBZdX7uktb1>e%# zwq|X%fZrsTalJyKOC!4LPJ&q3whO>v|L3Nt{J-+lfBdo-tf8l{W>-VSFRLmk4SZ#N zR2SinuG}egMugAlr*p0qnl;2W`cZ#HN>gjQRgv*yPR@l&%VvLO-@-jwYyXf)GoAvy z#cN##A(aK_=gw75E>6O=>H?pW$bt`%!ndV-)+^4(mzRHz(D%}+P}k1n;c}gnL_2Aw zJjX;o{Y~-8^97G`ylaEYpcQ9M>Pqo)$w5CK!#3-QyChh?%8&L9v*hQ+^p8;aWkkE> zLyZdcm4xDkt<9O`Mx0kUZD%&w$F6DKiQyr|sALgDx@(luXZWoiG5cMwI^%%<%%>ED zw~RUG%oabH3*grG{}3SGJ>}q9^UJj2oBOAfwJ&?$6KhI{?XaXUVRyhaT}Pog+VbE1 z%FeZ1pj(1+H_a_djsX2d-8Hv2ESYo_Bhhm@#^nUxsy7ibGk2<3pG>9W{U_v+eOr4x0RD?mD_;& z6rqi3($6wu;W<;RvUJ}wl9$R1ywLENS{j=p&OKcpfwb8bquVR-%}dYrGnJCW^B-+` zq%bb$z;B*pw$|!Tv{ZoR=;LfYPL9#844_CSLm*ui@flZL=b(1W3QjlWT)e1K*>Ku3LdKy7`#D4oACdITnpFJpOs0xyGxlX2Z9BDO3~;hm-0t zky%XMZm!R!kC1%|Ly&m#2Y4n-RUt_Gno9mx6s%%Ptgh zg;u7(a#*hvR}lqNe(~i`l6cx^G5xA}((oMN7AK-AQ|3>!BJcka321M>AW89%Fh40f zF4okiIlJkc?0QzvHrIL;qjtM(id(PAqTanI)TI_4QJdK$oQ??FtGwHZZs?n;;6GJ}ev|K67VresNh13dR**B) zUns*RN8B1P{-3Z!NnAFLJCH}Ny+kg*!WT68FdDVhXe$?Dm?V6p!!vY!KfFC zJ!BT+{K&v{M~dMie$&3uHjY|;WW6x#Ew{|9W42%_s6>J0$Mgg2BSVE)DqyKjv;aW zRfy>DKrAkjOtjC!L1e2A%J~w}9F~xl4H=^1yAI3lg(5U;~A=RaOiZ&;G-;*a28$orH>?L+l5?y`yt`?{nlTJLa}bo z&cNLw6=!vS{`|2stV;jPj&5kFx*$#$2Aq?4TevGHD51UE-zN&Cw4<$`uRw8cpeaqB zcjF~PK9`Bl&Ou~wP&qf|EAMyM{yZt~_x8$Si|e01?){^{qBgGq9F_>6qD3|-+@hGa z!I9znFYGL3Q(JMXaBp!&rKasg*%wk^IlRsHLmSEApv(*Y4m!xx@z&C8U!xy#C{T)9>>F;S?}9kzLUD_`6|LwXJy&dVoSwbH zZVTF_Zr^4pYzc??;;HoTh~xwV@dSknkHg%}ONe7SJ}+Y<(~};*bWdKR$KGpcJa;T% zw|Q8@uq&@S@Ay4inKp&c28C_$aeds1NCvzi=T3#qVN^xD8V8-&UOhKl9Wl1n+*G&{ zgrkpsPDjU<5Q2Q1A$uLe=)!bKhKBdYoZfuk;q(zw6boS5I#(M#RbJ}GePJ$Um#}-CN5-(gdUz;B zFl_&TgO)tHjk^L{vax73+p%-%*Th=K9V!kYm!qQ$b)1`45?Wzsl2WJd{5?SiCU~(- zxA#pzKo|2}dLkkAF_@}3kA6nfs#jQcrwapERr`-VAa^T-mZGUcdy4|R$b5?SSsRwZ zNmDPiW8O*{XY;(&H9xZ=YinrSz8v{2l!zmK;q7xb?xpnc$UYZ)>tk-cs&#qoA($9~PtHd5Hu{Tn& z>c(oI0b=Ag>=rb8^s8e9mFzo=pOJ?kHLt|RBiC+1Iad?6LLNEc`Vu+b3SkdR*Ig*o zIlq5oWG?+fh1jlpU;m9Jq56*s?|+C?|ba{-tTIOIUP1nHYYK{kkX2PJ613I%odc&N54U3981J#_GBpMWEAs@Q4Fc<@y z8t#CfYf25_s_N>JE~@az=ncEii6NmfH|pZu+(&9rAT5z?r{y-~_~AK6uN)9Ja~Ek7 z@yK3jkg=veBP5XR+81Hp^1W|g*-t~J8IT2#oh6}B(0hYi1BGvr40rftItK5N%wSFF z;t%k%R_jK=dGo{58}aGbXz0Ms1C(srp(X{E)~`AFRXGgYU`;}((LDo~$%K6J=K<#Z zza;Kn(d!5BxXvG{s3THox>;u%f)XvmTTXWV$U!(^^1%IX|D?PK@&jB&ziqy8m6u6J zqS_65MOAtNyQhG_F20MrNzo4X4qbFQ2TSSa-tSI^u}lKpuv~)dKcio8reY;OYp2Mo z2)&l1Pl9C{v0f}h`k-z|!xHjW}Cq8akW zHbonKf^(1ouJPlxW%hz&Y66P?9r4Wv<2uAs2k%<`#H;=E@RIJc__GAYWGr(Mp{7w- z2AFNl+~~3tIqcSS;2|3E&aFL`BK^a06=6n{5(0OY>mbPw2pIABO~<(vkI z-Mt8xA}W4?PDG=PR=@MqLSdDU4iDusbMyM>T}H^tWl|1v%r>lgG>@Mvo&KFP|fTQmhH({so7(I%MN6$QR*Is8cOEL zo-LjJYQkbNu9QyY0JQ*uxlOm8S{57t>)qJ@2e9ZH_J$b7O7uowLg{(I)i+5AzOrt zyg7Gu%Pml8vD-Ivs)&|9IO7RRj2?ThDKnKME?n3_h{&U@$1o#MkQcUV$+ba{E%sUWF5KVRo-Z#n>bUzd#h(AIW)l0*t=Yio-m=MQmhpNH>}3kwT2i7e>HX&4tf z(Is|=oi~SwSNe*qBZRc`o}cyq(f}Xx*=0KGfrLD__D8YbDEak=ktpNgqc4rWTv3@= zT6!G1)eM`WFba|6mSVZL)pP!w^EZt2N1-6a)<*&QE zVdkou8&kXG{8Nb}pQZ&N&c5yb^$9_5{pS;pIo9_M(88>a`%{Ris$P0i(Ux7y8*ihc z!1xqh{__;*(PR$S`=4i@uM#bp!@l4Y<<>sP{oP$9WeGAPeq*?`&*6fa*WdC(*WKhh zB;T>d@P!qK-HU;cW8^#J^zDU)*Q*)Kp&*!nQ=nJ&qGTGsJY}TheJcLj`=c`Y>7luy zn8%?PX^Ty)(7z=l5;qr{#wc@X*VTH}Uptce-lBW2pCaWbLEt0}LGiN7WjL0lJ}__; zo|J<$fdX59#)oU+{ zqdk)BXR^AP5KXF3aVUp3ZV|(c!D!0-ygMwUpops^Ee+xiyT;aHV&2P%6tKmZUeMp% z_|jKsnXle>wXo^LMK#b)J%0SS%BfQ_y1KgTiLKA1mEk{kbv*$~^?ibOvlsD} zK0{E@qob;%rw1F~KZ_fLf*&QEJ5v_KP*u11GjknShVMh{sokict}F?*{?J9yt4I&> z_m_Tvn>>iji|@LgDWI>wMs860*Dj4JPXJ(9siM_o+PfNOK2FA>Bq%xM28M?2?AJec zpX>HgP8Jxu1u7OQCr%uMZu#ETCBYTIlSY>Db!`(;J{ZkY9omoS~sYTX0 zxW8^OBw0s;yi>*8PpYW6F@}yvOM@y(k7v>N=a0Nny^0!JLUGw`i+I-N1f{Pyrr-IE zo4#xA4b6-s@zdVtG&4k1>4q!~`SXH!5NOUX3GZDznPReUZPOSWCa=agGzM8qFq>G> zI0tz4hJI0g>(cd-z!-#a%bCTOk#>C)nlr%KI&;$oJ5AY{51?v^zSY6iSZaEVEwmx6w3h_m8dVCgj|m@e6u(*0h~l^}FFzbeCc7 zKRdr0ZclNWJXPVB{CrI-I5@cA0qUZs%#*^4T9EyIHZkGq;prI6fPy<~5L9mm3As`U*Id|M4V9P{|`qo{Mg@CTi#7a5~6jOcM=la;re znKBM!Cc26KEMIb}h^t2?Cdya4Bi2w7*K5m98&z!Gn}~mVN(t|unsoMqf^pNyq|cVk zR-ZD5GEwOK$P`TxuRN)*A|hLQW;;$EOlmh8rn&!U;oWW3{2SPIM^K|#NCzdR;^N{2 zSju4po(vUL*0^8gKZKT}+)|EHYMHfY&$pl%<66(Et7Ae~@BMKv3k!`f&g*r1{I#zq z5V`p7HCqzt4n~6FLDBU*r0}kEjFbIA&g$676^3kqZm}noB(Dj_I?&wD2l=`gbC&5rc>%r zC%t?3?uhZWkG!8?kNONbhgRdhq9IcAJWtmCEm6rQX{nOcl&>|%kFkbqneuZF#T~OV zgx%{2XGe^hq^e5hmkPSiA$>MA#r^pb+es}X3kq_U5~Nq*_^M8r)^`B(qEeK^d%!5o zmU6F6K1z9nWsURKh+@x>UED8X=+YK@=rR*~l!er=sqNdonL2T6{A$d}A5DEFS(2p~ zMhVgw-wZ7nl8*o7j~e!Zm2Oh!g+&=Ub#XH*bXG~^&VVL=)850bEN4egEfmezakK3s zc^xXN{$g!(;vYrrarCMf7Fx3wM{tDg2;$9A{EE3biRy{$ifEI>tG^9cd=ce~2%|=; zE!EKK%)V6Neof8)qH{i8A&^tKzHz>RdBRG^xt#(P`O7_kj z(rVX`fD`CpffhVsAuC)6a^h3Or>p68#&*F7M8za>388GJsMNd@@!G4}zp(_XEnIWP z2(ufJdCK6=kyQjDcmJUO}y`dmd z6(QN9O0z2>kW=en<2NfNj*fbl@R!ba+MF)MJ&Vuvc<>2Cai4c?%2aYxwXHGC8NF^e zsB!SK#v-UcD>@@Z6&;>j%fR)27Dz6p2aPX}1}}b&*daQ#G|~EOXHrqIR$Nm6_B8sjxYP(XMol$4b8Q;slJ5~-^% zyL-$~3%5cShwBoi`4QIFRejvljsaLE0yw+1A4A}+GHpLbPh>+@r_ZNt zGui9T{K5i1Yqh3H#HlAA4@-tqWz4hNFk{UYu4^tebE%v?D-YV%(kiNA)9)YdhAXvl zj=6v05+3AxCqPF~9d~w6z}tI!F>jnSaX1FHtRJo?mv@Xln@jQ zVD#LuA!CA|jjvGFxSA@8 zbHsZG1%93j~tAxiv4g=_2fGr_Bv&tqwxt%DWU*f#VxJue^DZV zEp}t2C9jr@)R63*O9PnR4uJrhl;}5{_&Q57wz!+%WSJqFN6H!v&fAc{=E#A>f07S= zlT?mpg(}c)L5L5ph|(_KB<)6@@7Q6#a0f6?s}CUkawyIp7#qAE4n5l{i28|XSga?^ zBWqtZ0=?)v{pDFXoErJ_=tWd4#)7@W(W0^L?ulDtJ^DCe&(F=!-%{HCDi92$7~4UwS)J_HueT`dm**LM~WS=L%mUgb+Jv|QD?Tb0Q7a|Oo%xx zdm^@jK8Uda(JMaJ`!R7SX-n-cpgm=Ra6)m)ry3*%8iNB0GTi*xqkJ0*MmK2ql~5xF zXKxF5Z^t%Osdouws_%}zGAdH&^b0ke(x=dBbQ&1q zQ4ig!4FGw`4VX5bIS#KLNQT-%z10yx)RwPlf56CgVh{~j2#Z$~0r^?s1@)fBa^XlS+F^uwk+;;=!x(=3=m330gf6l!{AIh;JVPZIiQ^YuO zV(&qlUNZf6`=k26mAooMm;amyKOVDP3KSm`=H9JC8A8dcm2c^4M>T-XDB6>>f#&29Mw6nWEF?^~*{e>MUULJxAf4z(Mi@RaBe8*xcNl z-U1G|<7$4#+B~sL{J^%U&Cps<#MBwT0S1JFAWYYnzQhi_ot-nHOw#XRiwQ8U0h8rb zeYm=wQ?TngOf>zRP@6I*toxoW0L4?}SmXjIi8<7Gr?asryH8*_y;)%QPPD#Sp2KePR)kw2^eRXJ1^$e#w)IyZQ(gDGl0(~{W*Y~xu z@W(4Sky7y5*gNx}Sja`%vRx0i8+&s7;=-Mc>7@LadxbA)Ef7>VBvd)phisHXX-4(Z z&5dRE;;Mu%Hl)#z71PBCQKuyk?H&tMdb@OQZ6?jfZgCOzo$uejOII6Ayx(RDK2%Dt zq8(qc!ljmelzzA(y~k2*pu72y80SmXEn=&rYIOy?8m7qZSA&*;;SJ3o>RhFr z;?N1pj#^}1cXM-?10m!Rc$2*%G6y?D6KfYSvdbi&gEtx z_Mp|kiKGLV-8na`#)S{u&9MjCxO>dHobc<*Glg;xO11Q9k^;kxCroDOp~VFlbD$Nu z1T5;YGd^oj3Xd5rrr&_Ofsz3bOQB!sa{3{d$FvP+=qK%AkS@q+M&VkRoXjSX0^-a@uT5w z7++s=$o5E#*83L=`#jhOMmoRafiR4DIIp4)jmG@;zAB7Lhpdz2bnw`w(@*jpngvZ_FqHZAloCb_*0eRC$R4np2B=uE z;*+FV94M_$043mt37w;zkI<5xS72MrOmx%AMde;76=7uy)UeO^Y)hS+6!R88(%5@7 zJKb5pDM`BnU}cg9>`+>2sp5c>8wGK09SUkj*LFlkJa*(4qtxK6{0}jmV8% zz4)#ZP+1?}sluQE0<9psec$$u=v}jPR+s8l4(z=O$VM$e!oq@whlN zt~Zo7*Sb*i+Rdqq#mxv>deA9H=WV92K?*wGnTTj1o5^~8ix`ar)>Jg&vPY%&$k~mp zmCo6%dbw-gp1-m2QUo%_zIJ!I+{p+nB&U!y>R0{g>Qz+yot-WfrZ08&+Sj<@Hy3I& z;tHd+ffXmcfDb@-*sEqFlyA|zcBL?Pe%%|CEZ}-iYDp!A_#rMO_}Ld+a2-hW!TCRE6C)k$c76s8Yh|9$=g(;&7A|Ot0^+r7n#fOPpYvb z8^6|TlZa+(T;nS6&*El!SMsU{a`QGp6wI{%WjL+Jl`o?*^3j>OoOBq4rkq?$$k=*s zoMC=9c46G`3gy&m8QL3=APttj?ah&KA2HyLBUR1FKg6mSMQ9>hBpu^tE6CM_neKUG zX|KwN=C1#W@n6ZQb}F;@Qop?mGQWJH945;=!c}dwf_?TiIcC{1HT+~Cc9CU7)85z@ z!6<;OFPXsIcNbXN_o(k~vDOt=m;fXRq3+p*+s(3dwWPt2l_|;yjB&wTwUKmt~%IWO`&36_y~v zC|x5X3m+Ws4}O%hJu7-BEW7H*%m>g==0FtPoA*-Y)*c6x{25{|ef+K89U;O7Tryew zVOY=iu_bXRL>O5+YN6+~-f%3!V(-}ncGB%@9N%54ArX5|Lwna9So*!k2-xY>m2;0R z0{%I_lHQ4slFQD)VPcsVF_9?g->#iH`RM@7!UD~C82h(~vLc*=^|YJFG*!nuH4kZEQGze@H1aiwlP8v!sr2T?)H$|d_pZ{#K>_Bm5Zp1Mc|Qc} z+qK6F4T%dJAaMSF0A}=`T2D3({iB)$MQLCDbAbH+|4Zh;s+!FG2}^Z`EE?dD4msq- zku3hIPi$ORI~QCuRxC-Pc{#?@9pi^MdmqVA8vr(H1p-y|g&vz?BKvjPPni2IdQi4w z1Y(xf)1!A$)%18d;q1V7uZFn?&{EyVsHnc%wZB-t z;Y?H`i-ge~rZ&v6O5ZR749A$Yw%beRi@S&)=w^NBD*g8m(^j*pOjuiW>p#iPLA68M zYaMv%oLGH94C4}(=pMvF6X)L*mfQ(eZPDd@LOE)hMb$CZsm+ zZKi%+nmHPSif0%`(ekiJIk8qHP{|{pdeK#owG`SyGiGXiOh3 zl-1YG#(gB` zLO|@V*@9`G$&;C8`2>EeiOrC)GHD{>yZChd$$=lR`QDtp;6+4%sN?Cko&&te`xEUw zds9l%wQy6>QF{*XrZR`yuy^8@Ow&AdEs&AbU98D&R!6@LjcS;bjm=`EX|wWK6$~>0 zI*@i5iTO(Nwb<7&ojUQGiR5a1BCC5Lj7-Dt;&vKN!g(@${BZmEU;Jq4^rI-*xisj- zfWIPayq2Ef(J?-%uWXC6Vs?l){xu+hd-C3AC`T>d!;lq==Eph|@FQapJ6 zuNP(D643m(_ABDo)TY}%%DLVkjz&B2bl$=d^Ih~mq^Eit7cM!!|Hk{i)*b6LXlPbf zcK^}Hwqr@{4+)2Ot%fk^U;DoqI&fmb+jl5_`?y;8Pk{y%Pe*x*GBTL4L#m|N(OXUC zN$OpK>sY67%cfsW7A=x-KjKcv>h2@X<3(;gvty-6aJ($DS5VDR*o)AAaF6pDlJqTt zoGwWF8?B&jZHXVb!tk84@9Q$KIzq=UZ`!C<3iUl?W^56x`LWzzUOL}2qXmc)$E|YG z97bpuWDv`_zws`yMaZ~ajS|kRWp39h6Jp3V z8(`B!(~k2nBxSoT5puN~3 z5Js(3GHU&fNciC$?j1hb7Vk^shx-;{;Df~HSOp?5s<4?Xu5$`FMq>LkAL>Ta>5FPX zsji3nSv&Z`e*F6KWXk906M=3)LiB-yX`-P$Uh>sGc<~2JLD4xD72m5!M=>N37(lDh zkD1?{Pkw+UqwHd#kQw{0BM%L(8^{Eyz4xru$d*&gAJJc^RqL=0vK@A)UEi*3*G_X> zn`8ZA-%n{5Yb1x&!*a}GHK4s1lIJ){`H0k_3a}6LcK5j)zNfLzMRi!Bdrwl&ucGSW zXkW4eo~xi%ef9-&Q35(~k&iK^0oO7nLT?JL8enl)eFU-LS|7(+-u))gp}!m)_jRn+ z_}sv?PwP+2v3&0`S=*o;_!+DnR6IiKjC_!&a$I4Iv}m~QP~ARGTmD&M59{KNIo5Az zrEOH!9e7uPfYUDSQW7lN?5}Wn%|DWu@Z)ElKXn|i0r>r=cm#wq4gbep683@`_^f$k zE(gc1qQu3`3usQGg2i%v#raKwB+RYU5+x9KAf)n?Qn(5njRu(gevDjL&aoSiF;M^y zLsxKUN}!opa27;dXo9@kCDsW5X>|@4z(-17FBdSJ{W;ye7Gt-uLUASbHId*k7T-BL z4f*zRCuh(~-|1MXZHh;ulM+1Ea3~BwZQ$s&ciH-c&(ozXaawxM;rC5Z3_=;D7~f#W zRGgn*@UlgV#}1c;mX z?(zI#vXTNqo>t-mJJPIQj!QcLSU8j-f_NC!v#VflofAhxY1xpJbib}GV6PhuTvPE2 z{*J1z?AhzqOC&rQipv6-q4 zB(!#yJ|YXhfmt~}H%Fx$eA=OGVA_a}Jh95D-m)XolU zq}GibZw%39C9|~DTN|4kfXG!^s+IaQ_0hLFCb}dhR*aE7u>UUP9RIEt^FJw0!rrXn zyycH*7I5(!5I{KMCz0qofBXRhnj zg3gfVdb4ux+NR5(0KRuF158+9sGJJDFwSm%>yr^$ym8_b~Mis8WT zC=jR0t4dPJEZ*6Q6?SGu3%xcX%%qa5J64&<8B@iiw7tv%q6y{KuhsaWHIW342s_p{ z>gl{B{IF;feYSaO6;frmSeel6z;c-`@|c>Kd;+aH%)kjvO$qU@R`n2;C;uB8YgVj* zL|&~V@Zl*GN^WWC1zB0yz5AI_$CjkKZX6hydgNOzNGN$M#P7Piu~kVlDHlR^poK|S zbRfTCT$dADO4=TbQ3|kDB7Ywh%~oU3Z;DqXe6tdV8=6_(_N1^AmK&#lfPl}M$?enZ zX=jUTydb=Zu6mUrf0&mO!m2?^c`|t=iMvQJ`Hqi&*cp3V56A0IRHeG!n+Y7RW4L}s zsQhhSKwC7y=O}7hkcXt5_uChBW)k*Og|uXeJo4No@|F{0z+dYKrR;sH*Ri^3+>d5G z4(_-Qe3@B{uf;*D!<6GdJ#=sLUgkPW3MNtZdvcpoyL0D09ZEZdy_yqiQdCxEW<@fI zDxJbEaLWeHniWPOZSK*LpKRtFj*q=gdw!%M=Gci7%X+hcmLuxk+)tRnmPPIxX+P*Y zGUv3lsNEmywPJ3mI9?-oPWL*eFJK+x4OvI?hLWEmY`3KcjiGs1vRp2zSR+Xex3kv>N^1Xk-KJNtSA+3OE-A zAw7@Z{~V~&L)J%{#mUq7UwhO!D4wX1jLG@6^Xj8{%jO&&M7LLS@3Q}RJOOJQo-45> zhcvj`QOWYD^v!*2H(P8dPNON^jqfE=1LJdVr{vMIJN%o@sf3RYuWJaM*sOd0{P~_Z zGDmb!X{ZlHOr65Gw%J(dwd)yuM2BL13}Mk~X}Y+x^AJ$MPjo|iDg|l_xAaKp$K~E!WtIxT zG>&tW(^d$?vG*qVDJcY9(EyI~dr6yT`(FD%H1vv_6wpwV*WhJsY0n{(!D>=_{V3{~ zU1h;h?jbl8Rlq5f5a2da>0w!Wy*s;Q1-R+Y;5dQ4Q>t@xH?1%98uiy?z29nsydS?5 z&b`yz1)(KITV362aF85(A7vR791Jx%ZpNIVL_~3<%S)S87AE%n`Q=Yd1)iP?VOM%; zaFA_qqFTLzbCpcnM~K_yuxOxR4yHy=_}88z>eWt~NNE{I;?D zFTgn_n`Ehfnerv6LwtyvS%mwRcmJIYjOZcs&gT(wEmdi2vB6lv9}E|EMrw+U{6HYW ze4AFEvP#2K{R-A!eJQ;SJdJG#W6LG|ccv}9A@>HD zc4%^wFfR+A+`ETU%IcY8!|e$AO6vo`;L2_6>j_H%bo`W&0Y1xrn0TH>`rVr7aBm{b zs}BsOTA+ljWd$+_>>2~1hIZ}atatCU3(Lxs-i~&4jZ;^y7gsL?oveBXyDPEGoh{7q zbrTBZ`Uc;c8LJij{U=BJQ(g^0fh>y{!$pDjQ6vJkCTX{|@c=is?4`G*rQbYpjR(4k z7#>8mSFw9WCmiW{eqZUvK}bS$AkH~&FVZ-4=+H8lG3_g9@}KX2O&~ZK7#K{oJ2U+z z{7F3;P|Y$qIav-RQpGs)va(uRo?bVWXbPXBU)^(9YK(Ms!=Y+PH1yh```x-3bGJWT z<;|_pePi7eU-d_i=coLWVxwS7t2Hq( zv2|nytsj!^r?ge+;wu|>Vu+&^*USdS#+0Nj@3zB6_m)m6c2Z1&Itx*86RUaxUj}ud z8UFSeJxC4m4Em-uC1i9}jz9K-8ua(xyjO^V{QNdc9wyYSSfJ79J>1syamJ^%E^=r= zNO)}pVR9gZ(utJ_E9C0>{rkq>Vq)`n5r%lUkLnL?3%wgC4=TU?I(r1uIF(P*gFc< zgSXoUM{Ao~G>ul{-2na{v*q$nX=Dl4_+VlaSy{?^1Fi=SDd|DgPE5wK>Tc3RbZV2& z+usHk9cjbVEi(%iv2fa@f<aG~NnwnZG6nx6AGBV(N(Cdnd9!gE8A}0bDdIYM5M{+kNq$x41@GKS-Z^}A<^686`$6_50B9Aec1A`<%J6dLlS{@snN%io7!)P%XYk8O7n z41{9~JIa*oDzAU^El4foicL&R^k}kFBjgEkP6~u#_TQ=Zj)u&e!)S0R9(@5vTZ9{c z$&tERknA9FW5Ks>3wxo#30-#CGv!D+{TR?@Rmerh((s(B1m#5M2oDrX^i?c;y(>#|ik;Y+lno|l|wc(2dN3KpLOe&qZ z-MAMsyFjY!=^yQ<=2HD>X4~kflMmF#ehQEx@`v-T!QmM}hiv~QzUy^ETdD(+AaQ8|X@N}0&k8lPR^7eDK~j8MBy-u)Vy;2J8i z>tf%J5PAdCSNAg=8TiKbE4RhZf7iMr4QY%iQ!)Sc^RRXYNAM2Y?QqtENa4$nXJH+h z>VZFI6+|EvY1*pnWB4q=#@3@x_s9zRmo$QTCe7OUy?kSn&c5Fourre^;w6k z!Ocb&83Q?UOMK|i<(Ma*YSRJ*6e@+uVfSY2=8I+61UQi&Zql(f4!*X9gP zx8)1ntBI(SF}HOS>J``-W~vIcFlByFe2q=W(W2I9h41vKP5oUq<6U)+#v{wmA6R<$ zhvz$gX_>e&P;h+rcVH~p(c{fp{!pXf5&o|m8+sRNg93j3mUe}N6tmwL_`|XL1IL}I zVQ{n8qK9-VoaO5s=-P*z_Ce8a!)}YJUjhjJDpf4+_m&{fe;$uYdGRQC+-}7BrMkON z@6A3fjR|hOVRuK~Gw?^|+7AkTJQ9%==uZ(0-CaY9G6#rf7r%^RbrsM^Z~TM)5&dSJ zd+qnjwTdscwrj}Kt;RPS9%v&tf|Pqs9`E7ewV!f0<+X86Y)+!$WW}p5aqHxyj|Y*v zXWBx^4<`o_0`b? z&5nCNO2HL~ure8*r4v)>btn2lQHz?L@xSK+#giAO6<^%F{4=)OPF4E0GFm)&i*HX8InBpYMRTEj}>>m%fgz)Dj%&Nv2gjW^MxVF zl7S_miOYJHF2iYrZ?en3QuLV8KA0Wo>z*%a4k5}ezdQB>pV-{(Q7o1|DfV*hom3RK zh{f%7`%s(9@Ojq{@|?-P2nzz4oL|SZZ)(0uKg3<8gJ9maSo?TgFYujGn&wA&!;Vl= zTSmU!`(u+IZ*V5J2u@72)yvG@@YdPYU)?ndgx=Qv<}I9-lrQu={X?KzYjZ2|we1>A zYdX!rdsc|kvOt(G+v=NO3crDdob1a^`(s_ct4W5PneaCyuI0-+=(G7-DLB>XV)vk} z*<#1F>uy&XD5YyL@3E zS|VLlNGnKeuRZ24OQ>x+J-;x&DcdV)3N?r=;|t=bYgpQ8#}BmE&SR<_#RBIq#lDdq z?C9NbS78cC?Z3SC}h8*B_cc z;~zp<6k2-gzj&r^OT13=70OHbOtURCedN6g&o967_KWJVuAzM6uE|OBA~(WgK{XDA zt@nz1v!~gQA7@dt!Fi#do$H~39xq=wLbuym%oi}G?ID# zCyRh_rGs?d#<^d+ zis4~&e*Tl8*{g{dMvHyc!{GzsetQ}y#(@lGoqeI)ojCepW3P@(p=1vhrCWkSG1D3$ zHLtZM)+>tYR-oyvzX=oGtB)>5f8ZmYqPr7`#Ea1#21L>1T3r>D5LxHhw^*8X`o(jF zU5PTBN~=+P^5=dbaWAN;ykw=VPX&Gk)i|-GSeuYeITzgs`|soV`T1P~SZv-y(U<1t zjRac<$~H0Uq3DmH!oosqQxI!%xdmY;e_n?+tFyJ<4kd6l?6#Isi8kD*2CytPGsRJA zQMWeU(x#xa3!i2VjMXDo#t{5|`>&|`3rbi*VFUj!WJ5T4+pEMkhvL{C$j$WZ-x1VN z+t)1_gEAIfiZ2-v?K5_t3Qmr;5V{8x zIgwzP3e4(r^9&1f3ktM%#@$nW-iV{OeqJd&h^NzbNUh?&x_=K^PV2-Ont8S^zK!x| zJjKZYXRJbA1uv<$QRtkHc(7_(7aCj_(O{$>sHiyZxo=BiVU81a%c+}|kDe$^ME3UT zy1BY~*s6fhJ+0$nt$LMiRJebC9f?BKgM&9CRj;0{BQxQ# z9ppqLEqaMSD7PEAK8VHI_ILZCJIU+F{U+#s0Bw?kb{pJpQ@_DE-yxEk1pB8q*0dHG z4+f#H%xv#i|Jc}7oS5S2NoDY0ZXTXTaQJHZ$~F<#1tx{r7#l2(t8{cH*U)!oqTCky zGL7#>sPKEA+=dw~i0QAS~9Wew7Z6q$e#+RAS$C%mo{p)k&KKc}mmtZc0_ z?M6yk85^`Wh(qz~$ajdL9b^EHhqL)(DC4Vg$NU-di57&TSL%1n?7_9F&d!RwlqBN{ zJINie+TYPD8XAO=z+}*7jDlp9(9W|nE zWh=QE;eXCKljp?!E~)jCo2=K0JvXgRuX?L7PUV=0E#w_}k}*0us_E#sT88yD@+ec&xPTmOyTKqEB3+G*?1@XkHPjvH2@rPIiT zbh%Fw-?v+38uq#xRRlI<{5ECg6Y=|2Yd!S+9xF@-y?JE%+%C zBj#O>#$;Hg;skz@HU3ev0;LW zz8lf0H}hn1Z)3oU%K?+M_Not;t`fyUrBd(Y^xk|W_F(D>k{nLmlqEM0!E0P|z-}vd zUDPW~*Fh7DP?NPtBUDr?F|R%vm-MVX^3b-pZ-Z@T%(Z?nwPm?!chHPq!2I=>yy&bO z=&>s8cPM;Xnzf4^8Cl$~A08P&OiNqa@H|wrx3`~fVucQX;XKZNi>pN(>a%vIn$4oZ z5$|9}y<%AKvNh~%%_@cxhWEjd3m$y`h^xd`I>OEAKFf3t;M>*{=4cV&qvPY_R$U3w za^BnDx>FSLptQ9RGO5rnztpbJ+;$+>HK4SLg#O32-aGZ!=%n{g#R8Elz#n|*$(-zG!*Nop0 z)~>8j@N^8r7&43*ayGOdVwGhsoZ90}KO~AM(YlemhJBQ%p6uPi!lW2@m*SN+?%e#3|-(W_FZuIRbeby*B*tPmzI`yw+-L_ zH9=ZI(VY_$6Ao59q0@bt8nGYQEKF7ocENs4kR zZv2FcpLmviq}p7iMpZ_c6XC^m8hU;vEDE8$IaRV6P*DLp%>hR*t8y8pn;(4>2p0U{ z@bFjg@TJ*~Xfp6nY0)A&OBl*ZKUk~a(>dqMXert8pNIhY$#nY;UH8&)xEgYNKKpLP zY$m}?T&?HUre<*z>guN5wEf#k_DbtJ2PL*4cx_4bu&72S*+U)tvp86bBQ8g+Ap1bq znR}TXz~CU%KE?DbJX+fSC-Xam)2?x?kWMc20v3D->YZ z-eH&e-2|jTWOAfX&TxS1j!509dDhCt=^c>gRfOI1LHa?;Y$E^B+#0^{2+aaL{wvm<%-Xn1F1<828XQ$Z*E zUI}T3h~peS(MF4CJKktY`==iu)HPry4PPAY$Kh-hX}iy|+Z9VAid+;9^eFnJJ^VeG zXXv&xaLKgZtDLKDmy5{*STu#rUpKN69`MXN%Q6n<_xCmtGB28*o?v<>MZI-3lRtWP zOXPz+3US@;E&V_=-=}GE_E+m;U;3VB`&S?T3;v8txPrr1w@fwVRY(@ zBNZ-)PbQ4_YO(NcR}dTp+S}VnLD2or9xLbN`Id%@pEYs#t_2D3w-^}tEcN{U{k~Lg z^Q@zO4nn;#nVXC2@XrV*;Erw-_(hHm>1YSZd90aF5*CVxvQJE~@mH`5pJkmUZ#&WU z_ew6Ph{g8rZ7w8hDHoFp&FYPkSYFT>77k!3xqL?j@}G1DsI`ON0>g4K;)6&<0dWWT z5JImClr;YCkoem#qD0u$n@Dvu`)i*R2zCe#pui^lRzmo$ETYfh*d&_TRzGGRo4e<8 zWpE63)vl7l??N&wn_ANBLCMpz^oTFP^tXm{>T}4;$;)dgD=SO-uajgCo3DFLhl;$* zK*0TDY8)ktI)PtJSdVF1x*Go^BRG$FJ-uYKXfvDcJ$QWL;q(7CH_4Zd9v}}gPRW^|JffV zw*S#ZU03`^s$H^kT$NW0q$`g6ea7ts6-cSeg7zjrl!lKcL3F?f$smxTd4)rZBrKfc z^2mF6T`l{6$4xcC5Ype@ukRM1^8b8*epk9yZnZtQ?a8p5oSf#qbMfW~$Cj*rEmK3F zl#T^g!tR{qLMgOwdDFSvlMe!M+L3pjRXx#Qvh1_1Y=lz8DW(umjb#L5`d$z1mq9}g6uA!#;vLvJw6coZM8kjP&OH2EO=zR|Q(rdjOh#hIx$v*mKr5}&#VDYaC_6n`F zbnc=0M_TsrR}OGNTsD5)=!pX@wb6hjKB~yc;i|DasvK=^qX$bQ>0)eJDJ_p8Jp2rU z-qcOGx4uaIjaN0k1-a?7>-2Dm*7`%Nq0@Iw_u0i#)cOKByh$`HF#f>jR6| ze!d(Sr?n@xgfa@JVD0iq*2V1R<|tm-Q^RYS++^Mnnet@EtuE8}iky9PSwT z2pAg&hpmUlljP*&Hna9F-=|-D{N#V4SoX+v>b1V3(s^m@u;miJ!8O@9mfGcY+M4c- zr&zbHjDiBO8~w!U!(T*eW>}cQ)p9t-Y=*h^VwOWfpuSHEg5F!Fc(x@eqP#{?;l-;= z86vci$~YyzzCR&S6h$`WQipLlb`Fj!p4D-1R-{2#r*9ETTnmaixZ6UbyDBP0<-MrI z4Gz8l;W7xkj`PV$ts+k}LN*^>gC0Z}+sRKt{98L6{Os2LDds~vum}}=KPf-`7V}_q zm^Hb3;pNA&2N)qYH@A5CBXA)wU10A#Uai}V9I16LO!1?6jxY#=>m=qto3(EFRW3u+ z)J8Q^qfGZ-EAY#5b)r7(i|AXpCAt&yIhAQl>##X^g#Xjw&G*9=Yum7~?L$@JPb<%QxXOp$coFbl(hv?gR$(AV2nk;tdSjqGA-Wo&p3K5uYkyjBau)0?EYAs9rXU4EgDBqnQ~zccCt2v1A1JjzIIrN zp4p)ozr>M!9IBW!y1fl{C0j-ZGi`Sp&jQ(AZxz6N)9<81QTB9UYP-ju=~}$~usOYt z?O<*b=w?@x-3>wzOM8ghBA(Sx_LjkBsmsgje184>i|gl!xJvQ& z87Rv3p>2%KO&ICY1hm8V)rAS{r=`u>i~hxY7W$VtdmQ`AL9cHdu&Uuu+F$d8vra;N zcc(TB2xHpv)3M?4DCq7eQ(^FqY1e>C7qxqQxz5LDSqUw#ru4Xsfs8gG-mY`)z2^2>M~VPPVO?|I@^zA z*_m3O!O>Fds7<%2^ft|sk#8BsK@e}cW%M$~0x2OukFcp6a{SPq4=v`s1s;RCqnL_K zQw}*d2osoqW|CXqc;u^Zd7ikh`z9eqk>_2N*M%BiTJ@9VbST<~&!19o2y&YjM^E(G zzAwF1%eTJnd*)E$_uuB(>uY0Fn|_De!qvwguQEXp#e(a@=k|!< zHh*?bi)f!Iv`$P26SO>+2k_aPv+SyLKf22*TrjmnODkN?=R?*`2uHZW+TFP^Y5n(L zYn)^L9-DZspHt%6wQE0N(q|pB&$Ac=DR^%mRLl-~UOHl+!b>8N4n>t$oWqq2kI)z+ zx7AYB@j<0A`Jcb&AlKxUld3%1*K>->Uu_Q8+5Kr$eW$km@TV}D_mit(GBYESS7l6` zsK+gjl!_F^A}U!S5;Fe<1SAjr>#`dq|5`tAar<8z1`hrk*t~-ldt<9;#(U@z9^R)|Dt#TX^C&Y|tWRST}}C)WRQ6QV3_fP#1D$&FauX&}gz zGJJ4D8BUM=yTrau0Yz|Vf!^^bV&tPYanD1GU(QuDE{6t|?E$R)dk5c%N6nPq6#+fw zyG1#_7L2PYt4M^HJ9oLaw>RAwa6x{A#YIVgKC-g2+lMJWmBRKNa}}uR+!W%fGYMr$ zUwu54rF7i|rNg3oW_(+zf@e=pUham%V>Mvlgxx{&S8J}tYd%1OC@fjrd(C;~-U!aiS?9(`NwF!Lq`kHky zNnxMx=Z{474ePBZwt3FgNzT^Yf2g8IVQt+CSOb^nDOiSs`OBtAW3l zCn}1&{cdo?W9a>cRGSYElnj*dz^bC#{lbaE;s^k!_Uh;hQU|OmBI=@&{hfhnXOeaO z^RNiqB9Pic5zF^cEM%B1Oe_x5i$3zl(uX;Qa4fcOWyiUYBsIZ2_r?fuzZpZ*$GhKq(lsdrMD-8p@Oxfwg^+ww=jK!3FgC6n}?fLc~Tb8r&8 zc%L2opTY6}GhQ9E;Qup3C`ZVEOD2(TEM6{?fIE;{vc7(PZgX#7Nn~}iH&TMlR>)K* z9R`88AA8UU08uVya9Z(Hh!B8j(Uc4Bi$bCKy>3aCQ`js~?KZ@E~q)BTHX&o?EqVoCa}5H@dLYc?WM# zLSbu66>$Uo{m-Uj5jpqd14Y9w4+((pR}W|9fbGA9t2?MzmVqzVbDN1}W@heQYUkMM z{}Y5;^ou14Bl-<^VhW$6b;gQwu5t*~uUeeZmL7nYBJ=-)^i{iTMyE8;y~Wet)3$Wz z10Qq!kk4B*prB<5iHXuuQW^8}R%(3#%&c`0jY}&lm^uGWYZQ*9b{|Bh6DpsDu>nzY zcn~ak?yt9#HdE;)g$*<>2^>{y2}kH4XRf#p0&pS6iTT@w?j%`3H5(fnJvbcx8*~Xc zsJcN1@V?6do@Kp(_B|IUxx^OHiM1Fdf$OwJzID$!8v#1QVXW$c8sh*kDfM;R00Du$ zQ#k-Ve_mG~MyO*4B<98Uu9weYhAF7m5b$n(;P?BXcAHdg?v2OziY69lc5v{SANUO% zdEHH7)^iUE5;p)?pH;cwJ9h=XuKO5WW_j5o0t>IOd%Ermj}eC#0Ge!?^8heOn>F;4 zh4nsr&W>);Q=RcQtOo#rmXMGT7FB!L65YeYVF3o?#%hh`odb}ohv$MRlqA}FE7al; zWVU!{2)$GL&E7V~Hu_j8-#%_p!u=U_mtdO(yQv6iSU`T~+tek!+{1qV4KI5^3V1-AfK zI_skvec?6xGaox<^i;Up&*lw{er!NK=#dFFHiN#WL|-Vo^d3Z(X3Zh%>+1*-plj*} zh`Ykt4eX*SgG4Z>pA9u6R_1T}V)2;niXg%a&mX<1@bSgrGr{w3 zIL#yqG34B6Sl!z9V-IR%M>By3@^RhYEvu;JWs>NZg32rW$Q=33i6wQGw_^X~iG~%t zv8Z}(XQzp_+1T5E1n)#G_6d)Buhy?uoQWO5h#z|sSbE~>Q$NOl`ci8Ei)+I6++;|m z?Ip;qpbg;gLO}A7$zFqlgK8Tx2YR$!yf!*SBG?1%i~+ydFChB6YfVsbbh$4ObSmgZO?csg{ZuynWL2UeBK`!mDgG_o*ZzK0YS7bB*^KXp8JT^W-- zKZ7~H-g~h_R~)#0r6JXyB}x4|81=9b99V@^`(bduBMfaW}J&`MopilL8g^$J6)`52dgJhEw4} z_2i|zJ3cD-_9Q}8e0TA635gTCPgr4gqV9_tXYSwOZfHDnzc+%Be|m7{K2}Qlp9g)X zux^FgnjaO~BkK87x!ub6r%A*jZ=S#rY;q?VZD439bImm;FRvdhtg!_mPY)%|7Wvh> z(^sFCJU23)ws*-f7g=8K@UfO6BzcM@jjt@^c-RrRRRQ?dlacm|Tp0b^U0T$*$!Hg?Kn# zy;Kkm_8?dWugWVb&WQ^z?yk=Odz7&GM+soXV-IrRxV61wyo0~olrqM9O8M++6uHWK z;7dFbP*Q#wvdVh8MhoT?7utDy8kvf1w-q>lJL|>e*H2H~?`8KqY++?=hAnIY%Xr#N zepHy2VCTvOiG26&CCEUw;s9>Zh`AcSDO2zXr1zkVZjX9Bt#L)X%Fxbi&8B^v_ByDZ zq-H{XpM)&KRLhd=@6=(UbZ>V+%t5peKy@+lQ1_Wlqi#wc{q6okDNzr#@+AUnGpq3$ zH=|02alg1le7JNQTc~bQVM{#@}OS^acHmjg8&NTZpc5TGD|y5Zis% z^82_HpzTxTnbX<&!y1|~g8$2+XDM*Ks}!W|TAo;ChO@RK2CiZwcZD6CdquW3GXeqv z%xBsn;88tH_^MYkSW_BV>k?wsqdik{AEg*&_{F!HTT#X0QNOoj*cToPt|8T$m6C3X z?itsz%Gl&-&ilHP&PT_<`)_gN;BgkoZS&>{{;q}OdQK3kzLPu}c-yeh?2`cvXP#=u z!^qqS9De@p6m`9F}US^MlY#Jh&z{@_{cCC=j6T z!nD??9v93nq4VFXxZaEcJF+}pEAxIU=qYWHV|!(s$H42k1Momj^S{n3Z2SStVaP3i0tYFlwFCZ3_jbKaBhirl<3q-?gK1oi6NxMmYo$X^3o5#62ChB<&c%RL# z+X-w&%f}th+z((kTb>F3P{<5PW#yh*>Y1apwk%YxhL3cLH|)E^UW3f{3>NOYH`lQF zh(gU_*76=V9FHFrtX86HNQXLl`}nTZ6zJa3e$dPtFYM$*CCm5Wpc_+!u%j-JC%6gpl@btn|=;pfqkB(mc8wxAmfzLj0 zI*&-nF4QQtzbP#xBv@&mfbh})l)<_*d)3(CC)iy3gPNDba8>TB6Q9Tapchj8CN$qj zX>aZ9uzK&Tu*Y0|`UPYh5b5w`V!ihciwk>ekZ9QaSe(*Py3A(tAG#K`E2`Bx>oX#N znDO{tiIT}qz^WJEn_eXn4<;69H^x72w(|b|6hBpJstxa~eK* zX(eyepWkT$zSqafMk<7GamZSeyp|)`3uhZ4hztJlk$*!pC+jT4g97D{-9p}xOR9(v zi4NrMu5ecE5hk{CXAZ;}3;U()IOH%$VuNEmQoBca&*>EvzaLG29pJipGxKg-D=*8x zp!GIs#`^2O^ehMin*yVGJ&T7`EQjZI_H22>>w6d`!0}hqoeNt6a|3Qlbwyt13vEzvhfGh zWbAN4@c{u$)^IVquzYU3Ya)`{ch#fLR`eT)^4-?d-6epU+P%I*uf-_hg>ZY^s6xv-gYP$%;v0v{n77GqGN zoii!i@#4g(LdWJ(*uoc05 zm?y6;E*=5?KobOHHkFl?cxQnjJig)OlDHMj-*fKMcq_%s3lSyc$D~=^ZW5s$iY;sE zxl*_+Cgy%ITK8h~`t?&PXyo#+1t5Yu7B-I_STx3u^0nZuXMRaHM^AM!I_)9;g01Z1$<`_l!srEP z)O%jiNsc=ii+A4go!9Rm_7aC;4eXRNmEX?(NoCM+6E-5awchoa$^lw)q3@&h?dsze z(|0_$)0z4U9B~4B(6fu)Ezk6F#4UV$&+A5zfbNW~`F3B#DUNv2u(~=Hbz;z-569zY zs8oB^T3@c(@myn|3Msw?K9cI9s~$j3NRN$@{MxAe9~$u(kJ`I3P=*Wzkr;En(B%96#KlE(4W#+-+q4h z^dDn9xxoRUub5gmtUUrU96Li;LW=jwzp;Wi0PL+tvjrvWAeM%{rdR#r|LmMZMd!|aw{VLgS<-?S4|7^c{Od786jZF zUfzSULJ(N-!QfptIO^e-ir(iZ^m}!q)YjK7$etS1hghHq6K3RGXalj9Ju^lrYdYO5 zx^MS@UE07-Z*Unwqo0{e&1-imghVD3_T;V9A+-S_m+o(}$P}^_QuYUXO2qyTU|!be z%qksBI|N!D9X3zJ21`_%Xfr%qjT_+yBsubIK zmhLl{ny<~h>X%v`EqG_zj|XNK=QiUc^W*vT{=nn4`+d(-tCpF)Ar7`9$r8`rnfdO~ zF~Vp1w*oG0R$OA!dUi40d!<@s&j-VW0rYMDlj6I;Qb|io8{LrpXGVvFH z=WKu@@4Jnc=Ee0pnS<1XHcR>`;{GQ!m*v>>lLC;@hR39a}0L% zLdlt<=9JrgT@*_S1oP1*C^<3)P^Qx@M*x>t`(-s~*RvAM>L0J!wzuFn3Ic-*zT<{a zp&+Q*or}>qAcb7Jl8fB$eCu)8+_6VWp&Cuncq6X3B+_-__03NvD{%%KG*sPoUNwdQ z%P@r}Bzb|=7KYeK286M^`%04Gxa=W`%)4(*#IhL}9q52w+Sv3R6R(^6#%$&>b*O(} zz~CF_!GJ&kQ5FFZyLD%M*#czGIx`i(k!d$5)9suEAmI6n=(Do2ETL7rhx8n%?bWwV zXe+vl#nuY@qi1~t8Q`)7+u+!ts561QggL%U(Mec74PT|}k)rKg5a#9rZ|Q0qCCsOS z)8ca?JNb(APn1R-}7NTfGeF3z6+(+s*jurZd1MfHzZ<2n4_5(42G)>C@5`xe8v{Z zP>_rV!8lOs!P!iK_%FL00fMJCuJhxbC(5mRQa)#9-tX(uJqz5HJb6(NYhOG8WDOyAuaDYe#le`~cT^t6aUE?wAtVLCJlHqzkN zfbF4sB+oLv^PJR#5JTvW#EOtQK4`2`L8+T0lBpSW8<0ox#vvoj!eSdUzczHBJ#ky+jNU{9w zOk~+|Zflqi5^O|D}IP=mx3xq5sm#l>snW^9r6(>FGlqR7i$V( zBSdo}oS*TtEYhm8Y0Hk1j}Gc`Zw!K1=2Io;4oej78SS% zY@?QzmK=(_b#1D1J!h{62z|l3vS{+-9Fil4&$af2>96s*7FlPMS)XY}%vw=_^X{pk z2_rzTMYjOI&O$>i2tBaA*2u%o(x+yTLk&8a6Lc|^re9mv(t8{Q`t{i5Z{9d~S-NkF z^e}Wycx7XF_+6BY9GRsr(x$jS((W+2&P;SYPxaILE-QwY1`)_P0@x{pv1*sx!nL=F zBW%ZyCp0zP(Kj@-p0+RQN5_bn<^mPbG%`(Z*?JY=s{`I8hPJM*Wgd+He|_|+0~!X!Xn0$(92R5F?KP87Cl5T?G10U0aZrpIY1AUY}_v{Sb_L z>ESUvqUNuW@0Tj#OI%%zin=Qaq=zP!SUR3g#q$^v@Y=F95l%C#&CShcS5F($JK?kv zp`7Y!&(WFf?bwF>7u8?IwJ?|&ec!$(^vo7Ky#j@JBjH}U>kPR0K3dGBa|Od`J*|8t z>Kykg(?uU&g^Q_;0&Qd&Hnv_tZcycu;*k{~jB?6(_)uUGFem+iT#NH(GH&-}-c6e( zxm1tMdRo2HJ#o+oSiq&FB?EZV2bhcW&6_WUt`&>Snu4=|0`DasFt|X46RV)>B_qpa zA0#^3Gdt{`3+wnMeiPTCFD|qj8HZOgo@UQV%1qS%pia8OtwiB1JiqFPRZ=!xx+Su{ z`K9U{G?a_up3k68MKiYA8VzuJphrV{b{eqAHxW93YsuM6+T)@Eq+8gYP2J6Pw9WKf ziI-ptIFLW9h6pKnecgFp>QF~88_*B#D9*aV7z{xNTDbf8?aah} zfAwpW%^oF3lc7lL-eeGm!}&w~qoYec$-rUoA<*+o9>5yC;=Ze|uWyd^1HU7vp-bxC zKor>pgqa!zbiJM0uXG?}{90Z86fnT8oj{`B>1?W0P3u1nvI=!{V&ns76%h>c^s}RS zpzS^)PQc-aVqu)+L?VM#{~k9im0`&vRXy`4Ddx`?Eu>txrv7`A{R8NH`$F-kTj9*0YZqfXKk<@qy}eUH zK9?ThQ=(gGmw&6YM{)K9P1j)ZKh6JG&;v@FchpNxv8dleLsmbv?yQrp2qA_l%QKde z0zW=BhKx~v5?9-@1-n}7e1mHMPdL)yu+WKRa*{4$Ro3 zR((S%z&8niel|;ui~Cyhu(2E{GF>JcnF>33po?>*D|SBhbd5uN1h2%BS@0dYIIklPDj5vG9=McpxH2v64oI(WPvC(r zB_M-`Q{2qJ)HM0%o4dvKz#6*~Jt50v9oqDV!rK|#JJfGB4m=QZiz}54we~pJ<~Gie za>V?7ik?U{$?e4K#=%ixyN_gJC%D2tc;?>j{(NcD#|KRritIMUAmjJE z^l5}v@-geZjkz4wi9{Jk81nKE*chL#xS(fiPX+)%)v?q6CGSWoI{Y_4{=YYO%4pvI zCh5Bzc_7XnR}l|9M}oSvRfQ3V<~H>R+E+g!4?OYsiJBmjd9`aXt45W1+_-~~D)~1S zaZ4}}BKegfPEV^d;?1?UUtXHgCE1jLQD%5lh9J<3O2P*Hgb}kCPX^~erOSPGc6Kic zu`+qE<}~<<8(<0tfN=H^Fqq}UgGFo0W7Yk)XuC7yy&j+`->ew>f2T{zp0yu$*_c(c zA1=DH?M$apC&>R0$&7&37!9)<7Em)AEdp@lb|1T1|5EBL&pu$U-&%55$w9)t{MfVo zY=VN83+I%UZpM%qi)ovtQLC8Mz=En@$<6UCVOPX`csyRkCyzXXn{>h1KEjdd^>~T` zih{!NjSHV8j&wmp%rgx-MM>swk$Zm^vDnaL3Rvw&VGAz!=E6{&|nZ!b^~FcxtR;tKIIy zC0{se>fl2>i&9^gK+DRq>J~$*qV`BBn>k$x2;bBrz%O#aO+}v9u)~N_5r{A7bz{9ej z9mf3V)Ud)3a6gSWIXUTvG=&cCoHxhKc+)p`d{=k2N>i!7a1}C7m3-xi&l*#y%hq1& zt(*}dCob}1RQvescNUVygtCXfJuS6TbX!;^lL-9|@H!9OXV0FImrHy8ejiw07gKv| zLD5b3L=t1??)jK8)?CHP@NgWOr{%fv6##CC;?^}pqfrv)4Ia!ev#Cr8)Cr4%Ip2FJ(kO}2wjzQ#R6QI#DbDJdxoA{vB3y%-cF z5CoZpJPqsXuNVnXJSZ3G*(mAs27KOMwmJh5@ZPp!2wZr8XMfj(6$Vi?n;-(lq9a-) z`x*uOPWI)A>sg3Ry5(82yIYr^S~k{A#u(e}QEB!a3N`HhT+qCh8oW);fM z&rro`L~7=^qIfU>C+XDk^7A9j;OGj6aT`z~f;0sK0{{azxU$ffbOjW+*pJr?w!!n8TzXxRAP9M(BA=Xyt^v z4n>|%slCY7>{-9F0Gz6Jaq+SNPiN~#9(k(hdFLnV2<-7U%~&Vv4+ zF-e-rHnz5uPC%A7)QwZF*k=_9caarsvd1Hz?>g5;Jqn{vmNIE>=sDA`-FBYU03(j= z73ru@?Tg@%0V_V8N5&EDP{vG;_&KB@+E03VNfT2dRO z?zQ)E*}tkasl2v#z5&>&XAMqIGE(XNHe_z5T0c510VK;m4%2M;`#;QYMfId87;pH> zA8jFp9`4K^1GWN~ovU$xc{ztsl?h5_1XakR1H_8rQ&v2PX)hslkmsGg6SBGnhHUP* z6N+!Qt@&JMu!Q39TC4h|Kb?_5BOc@VUL|E*HSNXS4fw4vEO9`?JKksPY^tE?{7*L= z7?hs&O8@l*acOd!3JNUYjrtq>_dmpwYcF&hmoNB`0m=)wtEn$K8WPBfglC_=`H4gs z_Q8e4`X|fTw>5q=hj6fhj7?Bb&>cYTCzJJ8G=8dUus|~dPjCWd%vVt0hQ!wbqwwbL z9dJfJ{{Yq2HPD{b&tUZ)eTT`PceMquG0YetB-yRd`(17FM^VT&*yo0r2sm;SHJ909H+uhFJh6g6c0twk5!dSXfmlK2OsA&0 z9eu&ByCLw5HkGVvZ=cUdI)H5TmDtWju-3I7q%z9mRQo_h*4g{ICjkB3P;(|Y4Om1i zn+8}JfIKeS%TIyYnc-9SaSc@C;s{Wr_g;uk!E394a$8KguhsB`rET{4x{rGKMCU0$ z5Dxi~7j^u|c*A_7Ohy41Bc0{9Hy2CqRv`i)r=Q<%0#w?cPATnunNbY)Pw|^ z5_;=C;`(9W2fxIEqL5NI!VtF_)?QR`!9Ld@et$W>k!ex}p+b>H(Inz`&#Jl#-m z5_A;5rv!?trbP~Iw+4$pR!mK;u-MuQ7YJ9AX5}3mt5El1wAX>r^4M8vpAUV>&Qgh> zftf8jKDNxUyB#l07lAekG#yxV=z7H-SLnxc@`DHfB>Kfr>ois;1kfIXMLoCte$QN}`;3yKp?bnpC$Yk!;spa8KAZp^Ss$IEUdxAOWTVGU=tn|+_17KX zQe(J4un;#-w6yCa)|9-*0Rw=P|C!<~e=A14ix4?b5dPdh7wH3_*Tc5SxeZ#{$m&m1!3;`V9BW8HThfs6qNk^hNNVgXxO=5)dnDuc=6&z zAxZXs)snw%_=DVH6_7TpR4=5cS1z0bJd2B2^QSjs$iH9qPg-Ev@?A#m_rVfnwn7@qdM4?@K_E0H|ura*!XT6ctx)&Azh0 zRUE0h|K~ro0QOcuumK)}-QD&0uYt~6+LLr_pdwFjc%Hj^__X5;7y}ZBi^SvLj{g>I zIE?8+7?BbyfR9N2>%%9kF1$Wp5mBJR`ggAU-w6J#|hp9 zVNXU$`PQkZA=N$}$GWL{bOl(#p0P7N-|JDWJ1t|7LfU>`S8c|g0HG4bU5Fo-OP$R~WWoLBw=7Oc?j@jh93-%r_qx5N; z+}P+}Y3~4-T7kv30j(Pn5{;@zkF&uR>*dh0U5=S7v0$BorIp)%HUakAU``Jx6 zAQVCE>~IRGBL)>~P4^Mz31#k$xjC2~$;>Pn$Uo7)l!uMl;3{P-Bnnf`qJ598WTljmu5` z*^uwUqar#fN!w41qF1+krK=zq0$v#166YWkEn zYZ=fA4v)qZ!d%_m6G2Aa5>NSN-^`&lT4bTTuJGr|!BA{vsuG5vp;rw92^S*10k06JM4?2U`15%YO0R?9yZ@tME9u}|f;|4n@{e=I^k4BeT5*7Q?QZ78MS^1RNxz7w zC<6FT5k}y@Lu7P(kOVqKcO$wyeowmyNaw)+%uq|f% zwI0JVLxF-s*ofT_fg;I|0o2Ef(x+gNdwNqx6e};hlRE#isvwyS4!k4O4n*I5v)%%V z*IV3B6vd)g#iiBZ;&d)di&6+k5ZWnK9fb=a?Ck79Gt8TV+52tU6*+9dz)vmTFt5P6 z8>Kd2Y$)GuKoMovQhNv>X_;VAYanSy?+g*28=e2c4m53vNc`Gb5paP(qR0qkGCF>% zpc%Q5@m1v<-xNnGV96QvTYz|PJt+=`gi*d|?tafCL}Gn`J{zqA3hVW59d2-*3yVGR z6)b%dFqR&*Ad`Xy7?iUP=(xH${NX6l;OD|Z@weER{i}3(dx3yn56a_>;K>loH0gvANOGU-bIv>OeDltH zGk5O2*?abe5JIxD{%bwYuPrlWvNu|9u{i+#*XtA+6_pQ!H!J~IT%WQ2$zjKw^EZ2R z8UvOeOxzeO$i`RnMqb*rcx0}Bj;mqUz?DWo7Ye>7qjVl;FE5IGU2v8tn{Y4F)(K+y4rkIZk+{$pQh$D5_ab~t6Wu6d3W_SiF5p>Cyi65dgSKsp65x9$G4&+8*NNdxaOvIsFE-fYxwvpjC}@ zOS$&^mB4`8>~*``9=~xfyV-IOJKB8ycc>A?^G^KwaNRz3#C_kC_`Qap?7LwrNd{>X z2Ce)=eU{4yUo;2GM4aO0-u``5tIAF$R2+*l$KEU;9c*@DCFSJUf7o*jpbkkul!q*M zNd&zEr~c|`W#u&f!dGNuWqoh;d}qt)vKx!Br8Qn44>r(OWJu)auAB1y--`h96{S-I z6_VhtQ6uHclublVHj1YyM1Cz8SgTL&vo~P%(SA#$*aa2i<$Z|=<%+_~u$)5~$;#t# znc>_rS6bQ9e$hoX#|zb+T*Y6?u!OgcbHdM3tcwG9pkP0W^dE>f*+5(&esO-(27JMh z;MQ12e>(orqjlitpD3$i;JH5~MV*(8Uw4}bpjH+fVitMCH>T$2SgnTP2vzBS`W zy^(SyFy}reD(;U`bd<~wlk-0ZGa2s1X52mZQwa?%`CrXMn2zs4ZN&pI`^1b=KxcP8t&=pnwXiZpvc?Od*8``E~kEgVd@!L$ZMiPAj!^eKrjMFBd@gH z{|xaj(}MwF*P3+d7$U)onR&8Kpz`#gdm6s4If<^T-qIX1prW)R07}9exN^#G3Yp4p zojr8-b>fRl{X+ZNI(pe>vH}odKb4LM7vlTV-VWcQ>tDlf-mw?+uid%NF}qO?mj^=v zF0M26sKsF#n%WxT5=6=b67Wb;HF{^2h*bzEx}%&6`Zko_JGl?S?|stQuL@|G{^~wM z?wJScwx!AJJg9<-TIlZrZ6!pkfvE-p-^UN_Gl1iO+EP4}36t{XquX%w-;mxM{haN> z+aq8Rp&S-3iYI}CogQXS?L@D>a*E8dkn8VKJ3K^Eyd+_a%25R9T9@D_qQt+RM$l3y z5w?s)k#!@#MNTLbw!Wv&>pR>zNXvfyMY=V4dC#*K>mURtfAkd=UdD)qrdXR-zkSru z!x8>EJ^`eItAV5)G-;{QVkPQdUxBi4V|?!;7fi+N+yr-vsNhroxZR83iVWLKwTYzR z-Nw|eZ06*mID6#TLN1+Z08;6fM}rRMNtu&fCL=l-7e0E~YG&Q+oeMNFqfnFH(aI96 zAUTTp0YW^6Ze>|(8g12#9$trS=8-a7mu}z$833efY)u+3_#!>cKx7_E93HNxy40!_v4L&)vh@3t0<>NTG)NZ6~X2G8I zYj}OB=!Z$M1?Ty%k#&h@t-qw8KN~DHE5eRMF7e5==*PQZ(|I}XrHar`=n}(Mxz={| z!a9fgJ=2c6X|sn)#}?hz9)7S>f|YuGWmU`nab&wey4fNV$Qt0O7f03oD7Ch4M>%B| zC4(L=M|kS{)XhcfaeIV>@kGom0?5Mq`&h@P+Uued_Ape5P9*{Rk37~UzM9L|j1b-! zEK+})C8l&DvPY)3AD0KHlD+TNHXu?2t!Z&p{}}6!&R}}$o+*Bdyw}hAZjn2H{`?VI zgYgW5xSgA-w59Be>81a6q1`Neo1K;^DO&k9``SI?f9@0?Iq`Nr;2P}(i~lmRJ;Z>O zpM3itsEq%|^27h(&w+aoURnh|kRdB2A}=Txt3hADI4>3tIc)A$Yo`SC$kZ}u z20o*D#fsqaFtvjT`iZLl=;(C;E9+&+-$N~+c6t@$}Nmk;^pO#2u4PnaVj2+|M zAD|}@8t%)Ck7q4z7t{KWcu!mV<-f1y24`@J$g@N8)V+HdJ3G7&WWkhuqne@q-9c;W zL3m6iuojCD$P}B2-VH;qZBM4&Cy1J3*tM!ax&Cqox3iN|I_d1@Ccg3<)Gk`Fo?G*V zbEt*Ce{1Y$b|J-O44+nAy&sP!@0eALRgg;rOvS&8b6mYFS?k7NUR_!F8`4|q_Z-@i z8fe<>lrL=K`+E*A{IRcJTYGTsgZ{zAmO1;Vn@)p&4$oO8>GqY3-o1`;g*STxEHi}n-J5X?MG31gm z`s0VdN|{|Jjko1lTRWulj$;ZxA$fq5T3gK&IaRZHorIc1Jif@G!G9s-r)i15i;0lX zmw~S?H-DN3kWN2nT-72g+m*9Nw%{!Nt+MD*X0yEchjH;WLsJSkShvoB~efZ{N zYg?1JR>>oWM^x`-sEwOwila`pXZ$j?di8_$Qfv@4j-ZN{?ku~%CEwXAy0D*T^s0}N z@P6g}!or+_zH(vUY^mYr!W74_!~(a+gp1`id41y;RB|<__XP_OW{lL6L)^# z1pSj1HopIg2g;>t6^HxqFsD__DIreO(Z>40Q@E?ci`KbvlFN<<1G_R`BseYus^7 z$M_dxzV@xln%xQoX@+=^fkGM$6L;TGXb25c6){p=f}3)r!tP~9k5vGma(F=OVd+zc zr9a<;lN>3Aa&UN%^}a7*8^j$>qclWZ0-{X~l~;V&ZE>@>y4u{2;4-Pr7gHZT-CRP# zlDtQX*G)aKsGMiwr6fVb-<6f^hRc?vT+X^&At6O>RksqIsHRty;SC#LZ7cI+W=cuQ zIS3(Rl{j$(E|ZE~`S`_hDl*$aIjE=f;>C-e_~d9ua~jL>Z^VQ(eioK9nq9aj>oMYs z^K5srBh|Z6P*l2t1w3JPsK~N;@{?;%~0G?q}Q0Ec?ztEVkeCg6t80xtNMw{&Yr`LCcCA4dm5Ndoe zcD)ByOPaaiJ0$y{^__|EV*B_ux-VuLicA}+EDNs-i&jt%u&C-qO*SuT9dB>hzIJy{ zxrbBVG9%qCaa=De_~D$|frpI5x3WX(+zJW`qUHPr9@O6;JDwHK;oSAL%OYVpLIS5n5jN z@y3!!K}O^~NOII0BDr6FU1rEeTK^7B#s2Qa(Q#QX;z<+EU@P=x5d0WvW*LpSU#5|c zp=goEcar9+RzAO{QfIh2!yi(h-=mW9P% z#WSA8SS&;RE?x9rn$ab3T*we<(9)X=yhZQU-BW>2t{k+qe{>^b!<_rt_$t~q^VW32 zd#@+!+5rOdw2M9bXiGZuj8tZmxZ)D#pb_(~LRY=|d9rKO*=2SE3yXJ4u^-a84~+9( zd#}l!HP-dL_;+ck{WHq%$HUWwDQh~-iD}A7bg`|IonR-r2Y5jXm9=18tJV{9AW$&` zUVddzPH?wuDU7b7ds8Nod`LIP{bv2*_K}uY=vOM;8F_6IU5ir`>3IXjSdw0?5P$C#b@NDWqxF;4l!qySyNx{Ag){t7 zSEky8OS83(-7|A^JbU=?VMz6Q8XjlF@7AEQLaM3B+xO}vDBXtPk8s$_Ilf9flRlfO zp1yj>mh)8HdAB;E;>edroT0JUJ~MlzBlPr!r}r+_?BRD1F712J)x0I)m?F@4hsE-F zrZWP^ByXBu8=sn*;{8+KLKOsXktygqD$T5{R>}_{jPgu)Gp_2OLUe@Xvx`ZLkJE?4 zqra!n-c@V58tQ)jxyQRCiS8nphISlwJwroIu(eh>HCxc+QSla1oqnbMO84;j4`Iqr zCAF5HE^*^BoLpVEF=(Nx9W=~#FSvS`0Rm@j5nxsikyw=y$r8;@kqaC#_vR%?e+c2I z`e9oci8uCY2$5$pSXy*Z&6XEZWxtH=>>Dg+o8Ke7^D6+z;TD8Yl!FzO=TLyrS|bm! zOKNZCw(J+YR#~flrt;boCLdf#VvwfOBTrA$>}?XXO@DCv7I#YS9%2ptMljr37TFS?+oV%M)IJ5^Rj`_94Tm>y18lrs&H6 z>e#l2r?p}2mA>P44(4XjhIDo{s<*atA&}?q{QRfV+A*B~+VlaY#&02uO0o|xw6VI+ zulUoueGB`bmxC-TII6+bEG50L>Y2#^U&U&dc(!3ub(cvxOAhC#W8~fUZW?$8F~g5; zZ0#VOJHO?MaNQqjMV`yBZt&!`{wVr#{Qy0tdN^G=`)G!#$&#n3{p?;yjUgmESy+8eY(oI z0)u&6-gvBz)=@hhi|!tO@#XX9i=qxM;@_MxyLDdx5j*!jg7QeC$JJVDow+4zA%0OE zohOp1A3zxm+>(t`|> zb9SDzHD=;Rg_YeW=v2*hV$2PaIS7;%$@c_*uwLVw`}irBc6N3)E|`^m`ibU;Cs#9b zb7@%-l`JL(8BBJRR!IrX*B(5%B+B)hk|s_?4W^DPzI97PBoFm*42JLCGaI!?I-*{7 zYvh_?bJB*?yR<%-(l)fzItGobrzq}z#3&<<(i@+#?TSmIiW4VD`d*Qd9&C5HkVQoL z`ua9$PyCU`D+qs%f2*`7dGkD{);+=JF*(mptCuukg4o4C3H!plOju$cg_GyoB06cNZBrw!IE1UZ1%8GyvGOnVko>v=IT3@qD}Xg%iR$B&D$GCz1) z(s_3INN>x#XF(K4Mdg6f@W{dce#)y}pUbap+wq21l|8SpLo37Ysb1ok@4)xFcJRk& zbOua>u`BcQiJM)`7En#aZ_j{bvT9+tYy;g7t3 zg4U6DJ?6X46d9AQ%BHl4D=;Ah51IlJ-s0&`}WJhJkz37uTJMnh`g8# zwGk5|KRo?eDETcByT!6Ku(WZL^wGYa;VZtkvt#oxE8!15zjCL$d$%gQTjIRm^!h{* z75R7g3WMKM$Fs5>mQeGscAv7ezVg?UHbWZ}JyZQ z58}rDGM$#Qb}^^6L=GK`YCit*J8x9>&@o#S;uqk1nagO97zrAWW0pIqd_EQw{4fVY z6)AUGZoJpB8iN^FTwNtCm6n#~2(eZ|&LAsd8RvU2w~mD$>2B@tL*1^1##S8EiJEtf zj1&a;U6Pir6oytSF#Zvgg4i;l-SZJ8amNqT0=fCnh;VX_g6+l|zHM@1J8=SW)hxiP^6ZAX@Un#2 z>7c3=AqC2wy&bgOk?XAY0v!K8ZPQMCaxMd+VmwfxPbSffq%+xULY_Fom{Az@vb95q zwzjtSQtM|uFL7`gH?Sc-!S^HZBU1cArU4B%sW*z$b2zTADm#({bffDfjzb6m{C-K@ z$F}{^i3wiMDC#_@1|gogHg)j!P2Wk?OC0@HNCqS#^N<0wQxfa=V)(iKY30a$(4zN+ z4tBhk?m6sB(BL~xy@yZ0FS;9(bq&|~j_0Bzv<8%!!`T%{5JR&rkKGVd7Jq|>?gfSu z5u_;){NlwCHNNBQk4ap{&XiZLUw>vdyq%bbvL1e9wrjmu!>@y*@WJuN(2}XNQigjm zn$)EX2vZCSDSdMUgS!3RZ-Zd5^A*h09AFi^p(B9S~}KGO^t`jjvv|7nD%7 ztm=mh2yjW70?l^|zU`*ofO#|aRhT*4Csi$xZ|Qt$eOXx~p+m=`NX{Y^Op1waz%0QudZLs0KculJM@!X3rLO znGkz>dqVAg%|qZDr~u~i$P~+iyz`UT@PK2l)IS_P1{MF(AqsNcPiL<)a2q>liBufW z!KW}kO?)u5yIzL);oN)z_2VSTw4}@0{}WP!jm9Kv@gFh*paH7`e=h8Lisp+Rb2ZBbl3Tz ziYg3>hk`n#{ku{A{;R)gy+{5ihKXBNW#W1hN2|U4EU{4fK2E45C+nA3%=1u4L7OOf zM1VVre|Ty9+c6U;v6>$i=oF)k&-6hONX=T~OqO!Pc&kMB0-{Ny($;LHN{l(2`n~^# z7RxZ7c#Nj)5u2d(V}Gy<7v3+cjhhJTL~asg1B{!|(tqjre0Ge7qf=9hal1$(qp1KM z(esUl%_V?MdA&)NE)S5;rHG=|uP;a0Ov$}IYy0BdhfgcVZdlE^ukc4@L)gpq@@LyE z8iX5l8;CQ@28&@q=>Mc~tqU-=44wupMfC3Z1iOU-(G=IqOb<^tOP#uE%Q^eOV=L^b zcxh4n?q*R=j(yK|*T8e<4a9}GDkqWGIzpBRU(n+F0?J2hfBmPhu5N6!%#kH%eX|P| zC$|(?)KI4AL7NG(LEQI}C5a_<_i4o{L=uxTOxnBbG<{ob-GAp9=hWa+cfScE5XmyA zwqCBfybmw0toDz0Zo75J2c124?%KnLl87{@fbvX^kXr^p}`^FLzQcZxlJCO36S1`N#TixktztMQNWnG1{-Kdnw%Nhp<#VRSC z`wLDvMrU8g$2WX)M%qD$wUK@u;`3&)?b1x*5t{>x!S4{xq?6)52{H7qmrx0IbT(yW zjXX-W>3#w)&@(UbXA>iy_W8QRo7u<{U&69_n_!|xlQcb(J8dd8egnEOL5iRbZEHwk zut1#B2xxJ~Z3uAn9hW`lW$u7N1Pu(_T7rjmmrB(<+IAVTGc_)kWIN#3J@^o^5+lMa z(Xw>x%cG-fVf^xm^4PabTqqL-3{j6QsLZ;7wCZtZoYY#qCO+7Gd?)HrbSlGPaidPJ z)AmPMR3fmtk<*&WymP47PtD46H$W^JQP=9#8iDJNF_ofh@eC+`-%1$o@1K3-<@L(u z?zp`}+%{&Hs(G(~R6vzDHFX!fhaaHEhlHs+VbjS5R#xu^SQjD|B;q~{$cNo)7iRb! zyKO5)w`X!yBcNO_nja|zG;y)tDp$qq0`UYNcT`3}!G(LfMz?Nd2T+Ih0a}76vJ8BE zBP*hhjHx9r;CM{fXXPSi(S)VC6O!h?n7?Tzrjen7DrLv_6mH5I8HUR#*dz<5-w+PC z%woD%y(k=gP2RRjoW{w~v7}*y?xh;vkjAX-k*h$T7eeiBCj8{h+Fbc(`(AZ_#5Dg^ z&%;dhJ_v!Oz`lnCEX`4V{Kzua4nB@okzwL2Uq3&Uf^EI#lar(qOqrST74*?6)XRRC z&hs7t+;5jx?G#v-l$dT&)u+itPT!q6ebsxd=M#!7=64{ z=({NRLL;@(ywM|LnXOPcKxj=P35<{&rs7(mc35t_VxK>2 z?pKJ!601wH9xjw@lm~w~=_({o3dKg_R1_4tc6MoY>)fk1#63V9caef5O@UKalMnk5c1%B4Npz9YVs{FXGrebNqxn zF%PRE6IMDLKw>|DxB^>gCCe-M9W8?tH_77-7mSB83l(8IC10=jgBwC|zselrFpd%j zxQmK!3yQ@C4c&ysV06mbe*n}|;@B%x$g*+YuYs#Nn_nyY!ELR4tACn)Mc0rhhaH%9+Np6OZMJ!M1&i))9;Mq9t+)zz?L zM6Cxmg@T_i{PF3&OcQ~Adgr+nDQ@WQlu@pPL;yEy6Vtd!RfjIfWNTvPdcEpBM`CXm zrY^g+yK~`YnK`XDMub(2#WdQeqHiOS;;5g$QQ`e-lb{!WcS8ObW_k444Gr34uo#B|0`UHw{lB=VsK!MRtsP_gEE_Kv;pT(2uG3Fnz*0tzkM@G%k8eHcV*4Okr0+53{mQ=*X17>hM5|%|Bhsf8du7qrusxZ4 z!+!WahtoXAvvi^*-PJygQ5<3O{nPMiIak08m*gUc2L}E?C3^?v=Vb*(`N(@I@?J-z zjz7%490bO;0?@Qg_T?F0UJd(*`wlC94>yn=)*tH%R>`LX_%o)3-C67RoaQ{KBWC3~YB%K7kP+9N+Pb=WVcz#`5I8ytKb6G?|F-b`Thg3eGyKgHn_3J)fvRWE zo}HS*hkw7z4)y_gHr?!w*|*ZpI->-UpW_EV$D!cvNKu$0y%~lEVfJT2JOa{p%*1Z7p{D6ND^ju`n_S<(04J!k= zH8rm%vB%G5hdvEe^rr|4A2xEvo;Z8qi0~il*lr1VFt$)WyMFxx6upp#M0Lx?Fb1u)U7mdIE?L-m>xxdZY;EHR-P<-#_2!eG})z$7-yiXF9peE3!f~44nba z*WQQ~=*cfH?{B+ASNxQs%8g1?O1B}|(L_g#3@R>;rmA63>2WTrP^XuDBC8eU7v89Zesfb37^s8b8-)3Fq0^8J zxg6W+b0yOBLg+>NjxiS~8NmG!PhJYhkn5s_Mc0qYl6J9^l%QTEBx586rj^9_9 zpSWHQ(OQxs#XD3qjF|+T%;a!hUh_|UPa;NM;GrkC^m?tEf^Zk6Uzyp=?XU~7MUt&JYjy;*fcvKo5>>ifDdt8)~+|_S^t=~PT zx{)j*Ru~uSw@r*zdd5x^`gY!IqtS6dv|B&DQ+;Z`=za@^2WT2|Kl&6_vI zM9!4W*h}yYjKtK>im6d%GdiojadErTg#Z%RG$TSCo@j3EVCfN!c_-i{)o74b!=H;( zWYgdF>^#JeCc(Slt;mf3^dU1-&6xls)rhj>j!ELE+b~3e9XoFL3qS)ixx+J@bXEe- zPw8d#1g1Iz;KSxgShg_NL<#b}WjMv)F&-}pLG+k`+c!@o(eBPuCOSKvDT6_2aX&3Q zFLSK>=!n~J6veI>;sonSt@-po(zA@n&-(WWsa#&~Iv4T#m7k6cY5oIKXtThd6+Pzk zMe5y+4*(+8mscV^L&aGl9f|+_QO5xIc{ZC0%MoIYhR%waK(I$RVE;B1*8m?mgi6R0uTy&*v z=diOmi&t|WCUFfEH}(Z@P>LtYuuGpUFDrdBV}`QPfYV|d!5@{fYe~qIpszA)3H2@v?8H&&Vum+Wot9lHI zK8T|pUcCcJ!dP*KoW}s}$2m+zg*kCneyM$j2#vZWyqv|$4-Do4(~F8aq`io`+UA(S z%Dh1=hm=X6OS1H+yCv$^Zi)WX7M8o)$~pVB%&VJ$F2e?8#rAc~*| zzd<0D*YGI%ZGBvMeDU&X_a4X5Dx%KNr(a7{)5Rq6!5IkI-z4YDTb&Lgd+0Q%Ek{c= z>F{wOyUO{pzU{g(YqLD&*y(Lyn(p0QtBmHLaGbaD;M(_^b&N&)6ZX$iO9&x2A5W*2 z!u|-dPvWX98ucs&=jPz>iG2D}e9{p_&=0pjvP@$ezu^c_M@U6V$N{xl;b>QvHQ8?D z8ZAt%t@6BqO?jE3plW5YS%>h#m~-9Z-mk%wxs(dfv86j0h0 z-p8hjMbAWp51pe!{tMC4dBZSb(#%Vje(u~k&(|22Veb6g+!jpKCVX{Kl38ee6ANww z-;5}LWxzB2G&q=Y*{ksp(VN_NP+aX6U25hY3bg~2vCe7gK)m;%%(uDgL)4NRmyQlw z1rX`uib=@R3evNkRau`J%t_GIOGXdEiA+fjy#+g83&t);1>hz7S3N`<=i|yAC0?QP zKHa=gj22)narxl?7WK+n+P<_jgt+`cUaFuaNr0Q*aG; zKXz1nK*i+v+Z{36@Wc|Iv^HN}Aw78aoZ|5~Re#K3xTwkUm)`fALSyK;&3%g&nT_k1 zuoXNJwZatSIdE$S4gDI}&Fugp6U`%}hX0L%t12H*!9hX8b{Lw1aBRx*ZZTnxEq+s( z4moq$bZ3u8BCw7pdlTE#yz{toC*6D?ilB@xR}^myE4}b^Udq0vNQ?b7xUCr39 zkJFM$Qj{yPmDvN<828l|PkjlT4%&Ap2x^9XaTK2`a~X ziEX z6`+_TYER}9ZL$<`5XLJS$1-uF_7lCkk+pF!$CF9r1xEZUpDBSWZc{$iTeep;OH5tb zQoZOOW9{#z>-N4{>r$jt8;~3h6BojKT}6}p4tATBF@5dmV1a}uTEG%jQJsJx;p%NB zpLs<3hFx4ock}GrBtw7#%#x3bdV6}9hdk5+cnQ@U{2H!?pLamvNA3^=tP-<}wbJ$L0w4!bM z?ilbR8?H5&Ha~09l-ZlVTgQ#f&({`8p?QE( z!T?k=-AobZQDn=XAdr-Ma!c^4%Al;Jz0m3Ahs&+r*Ugx9!p_)m5z@_QQSYMCG$x)c zALwTRFN;I#;Gzx^cv>^`q!vH{vs>ox?B-x)zu58)%0=m9%ul>bU((pYjKGg?FI5#6 zq%W@{<1sCqZe!o>N=`2}KdE?nZvLaZP5F;z`ci2`G0pt#C^m zR)6iB?Iw3@oAWgJ*~f~Jq|ttfiWpXmOECpYF$0>m2iCRoy;7sNkS|N!o_~fgccKPb zJcDhd{0)`8nDDk5q3_SB8YDbh=sg8BSlo1x#pAMH;);pk5*4~M_IHUFdnaG!nR%2$ z-SV1VNJBt8Iz~|Jll9OIdIL=KceQ!27+EcOFd)nNqCc#!*WNTTfQ>vm?c8M%0i><#-cpuLl$FIcN;M;V~fxp{7 z={-rXAZ``U5M|}gcEdbe#8mrkgDD?ho9JP2ZMKlZP-3K4LWv0#)90pYqz)!}=tkMG z3$MdboIK-jI%YHK@9pE=Wj<-V@W4AZU02m!7pb9!dCGUT8 zR1Rj@;&f&rHl50tz-BWMlwi8`znQ1>Qxza=UOl_c^%34e%eu)U0J zN2+IN3NZh3#F%Js5mSVB!^}SK;vh7K-41>GmC!nx5}@6cjnPDagi584rm3R3?96k# zpr9a#+YSd^-Bw1J+`4u5!GmK#NdaAbeKU-VjCVafPapuMX0rA-hjvCh4-aLhl>!2~ zLjM8O7uO;NLk(r>ZVD!20`Jf<6X1`42P*(~ECpi5Fn+0soFlOVBQVg?LdzWfbmuT{ zyVoEab1?L~7eDF0&&0GIyD#BOfq;?N0M?0}N!^p?3=DN49 z`}uB3-I^(`pY3iJ5jlf(?{Bg33e(g zXfNf&kE0ufwQvq7X*BW5YWyORX#!^E7v3f!2}9eG<{p z;qY(9@;N9&$Uq)2oFi%oUfi=QG`a%`%XL7mnUf&EW)SWy&jilx*GVUOk?OfO*9;9~1|tDAr9zA?E+pZ`-}MS=5<9R9+J+6c#yvTM z3m{BOzBvBf8d-G#^ac0h`7;&Je*?aF=+Ggb`43?=YGc%JL5+=Bo? zYT!)9ADGwqSF*{SIPu5NrUeL;GK?w_!-3DWiO54uFd>7}F*d{7sHSc7|G=AdG(+tI z+$RD7lw5+CrIgWadBP&T?U6(e;+c!z-kqV$!z@)TM4G0-@hxHkW6l*C&qr5pf_chu z9}BGp^e>Lsi<7U=X!KD;Z0k(sTxR$qa&(AeF?JA%w)Aej1T9%V?#&}=l|oTe8*T|( zUCjxM*GpgEJVw)i4tq|xoa-N;rh3cT~66>^A|D-dCYNSa^O;EU-RI!vdm z2jnIU{5@MAcK*gjxrYaGH*VahiIJ0Eii(URUuJ;GkGb!SsRhK`$m$v#gjy8vE0GHq z)B*ws1sGC+M!lx62G_FnFvi)5S`DLjs|%+a83bKq8*9V7YjY}yqit*Yn)-wvz+&^w zEpU?)F`XKk*RBgqkXOH1wgL|kRqVP0=*;cgen6jrwkZ->;RPlhTN1g{r$DV zecAn6Y~Z2=!5t)0*vF5>-o8l-KIM4!@;Nd95kVYvsd>Dipjb&r+jlu%Vo+18|1OC&XD9%H9I#q4b*CG zQPCqf<2gPKbMw}%$EgqO@zL7yUjb%;Nob0^`7Aaz*5Y-C8B$#lu_oWZtUgl}nEeQm zc;cHTY80Rk-61AsTD1&A(IrOE^{p}~&lobOc)q&UatoRDxh{I56`PV_XLkz8bGbNG zGZW=u?f)(A!e*FzrO=Z`!>rUh=H^T9%T#!GGi;vjRom;KLZX-u7=;?EiEN41twM z3(4Fz{|IC@Ej3!%jR`uL4A5tf(!i$zL4+kUQap52?^hl-(c6@rWJ)@@cV0*|ZutYh ze+*VUfyWNN4~v}x&!LN!yViW~qT3lwq)s4(D`(F9<%@ZaF_h?ib*WpC*$zIITT)3| z+ZFgk9ieh15~ML+NEv=4qcpg7y#nf=F*b?7JFzS6leQ#0sqUb_kEFf(R!0a9>pq|a zH|!`Y&ivY%v?02$V7FY&~D#bQA#T-eZXEk#gqgPZ^B zOLV1{8*VG}nYf1}bid~I<0iDn{@K{iMWA|A#IWl{jVV5td!#i{Kw|03R| zqF~7|XtFOejDQBT5OxMTJG%}_x^g8%ac^M<_Cq9Xix+GRWR1C`+Q0*tZ zX0(N%`}+KNS+r%?U|$1$0k?KN(ZRfn;unm-g}pM>fJqG!2}3qVkZez<}n+@g^7k*w(ZJ{`I zVe=Hxq#U)Jylw12L!JDhKtc9me&_n9rxNZ9#~&=?&L#-X4tW+|94%J$nzHvI<%0we z`H_F3@3;tP)#K5T3^@B!&pzY_LL`u20;1Jl1gK#*+vkyZ;-i-5EP3}9S7guS~Tg}mCdt45+ER?|xhz%KCI)kJHU&@d*hJ17BOj#BfWoy&`FwPaXvW z-`!`kJv_!=2Tk~o>WndHiXDm(k4p^-t7N%9#hmod8@|Eyn@NiAI%txMM7=`Z1`QU& zQn3PxiFh(TBib9F@OQy#T*!)K)QDdA5I&@h!;QlS^3yZ88;k*)dY`a$5%Ooxo=x&> zeMNr9ngrh91RYc?X5PY^cRwY~b38yxlXe>0*J4X9e*+Kpur^^9()Ai#Vyj*?N^t0*LOKY_y}s8y ze=1Lrs^NI@c>ko_Rnoo+S4io8YRS$;ruuu*quAotEfDjmJ#dtd7qk;1bA4Z0u##Qi~%-z|%%Y=L?kG~qwH@a5< z$_}<`G@#(I+%L>^bljw2QlUOBBs_l0`3M~$_^3@LhU03e?^8xmm&KGclkAl`0o&3! z9d9_|IWtoL#plGkzb$d5S0-UOed*Q=EDX1PFZRb>3xn4XVGhD%S&G8Q;}7b~wSovN zlOVtsV5Tedz6PghxbMTUK67tfUhYL6REh}~@}~<%O}@PIJ%0r$_4Q?Ho-fYt!%V0FzJM-1=+^|!?MJK;!O#R z%Lo>rmGs(Q)me&1`6Wi9l9Ru%Bq)1IJlr$X(hB$PeWT;e2OwDkpxT%W&#cfcQL#*-jy9MM`z*k`?3r`@7fVb)_lqpFIM)Q%CX}&8|N7b9=iTEPmK$s-pC`Le~+BGkPyEp;|65Rj7%5b1#f|5`u2zK(uRSb`{(vLM(0KT zW-0$osFU;W1#~&>MPRsuNIjvMl%frHUtuJ6%iENaIIJ@O&LMi)EEY`M1eRhou|A_f^k|P zP=tTmG0XXp(-$t@1o^gix(rA^b>93GVGc(Gt)s50X%Dj1tsNpS{}7IwwLiKVIJiq^ zYJltSnu9w8g@%G49qbMzmStEL&O8}K^`57dQVzDuY`|q z)KHf>37l|JK~lMpi8KoFB;ce|O@u?KD$2@EKx?HaW>q6sj0aVo01)4Gbx<44`9;BW zD9Y>Rh4FKY%06TWCn>b*3NW*u;#P+x2N9H>&WD(`>1$b&cpMfMBXZ%#LLHf6t*)-F z{X`RV8@bgqEzUz<_3CC=2*Q6wYVRavpEt z{NNHo2Gsw>Wi>Gd0f}EN#;SUSTjK(&s@s*wjKdlf;0g5Wkx_r%fzn(t$KwNFGL^l~`XYX04zRQSyy7!?68twp&>?2r)~g$U@>}} zVcEy~?P(sSHt)Cu$QpL)NNZur?_~JwO4=?h+Ct=~obQIf#>PfO#Em?-4mUS89zbNQ z%UF%CI_ifYdY2LbxPT+SkxpO2T2@+Gy=egYmCkTOrp{8KpF+!g90R9}H6%$vVh+^} zZS7t$x*kikOnc77d_*=}889!N{@nr~A_IbBM4wAY@@1Bktn&n|Q|l3apFk@b1+da7JXz6TVMgKgIa18Rs1(3A|Eq$$63t~oWdo;X)p(L?dsS<|Q90O{8 zGu`IdpD~_+gSrt_(J?gZJ{J4<_Hm?a_xhnGg%3+YdV#twX!I`MV}=6d=sKp%qP$~G zSW;M6SnW<<6D<`al!blO^8MQ1SY^^FTdAF)PHMXv%d1Y5;tJ}VSolP z*zY$Vu+^N6SRd1~nlkmk5AT|B= z$lYM>C&J_l?4MS5yPlOSt&F& zmN_CK0yYdlgpG`XqXPckGh5O|;p}_)ktV+})g8;cliEU{>n^X02#jg297x5{CeFP_ zk3C-5n-fKE2rUJtOEUvNkt( z_Vyv=0@=3ZM`z>tD%enX>`+k(ZChuyy!D-#-x$U0>bf6_{4?$X^}lRu+WSx|&QVz& zoTlun2RC;4+R6TmJmJQwU4>c%uRg7pTBw-Q?v!_*fiM_Lm*&4ERE?<7W~`84fr8Bi z&OE*Yq9xNK`$(?6skw$9OQa@FH;Z^jntXm6&x$h_Y`JAv-~IATg;V_o$k{sIrypiyln{ok)DLS7 z>%0o4XwnGE&A96NWinJylA~$$U~g0XPkPM6c}?QlcU#2zM!R?hEUKtGAoh>BHwK4u zMF45H@7TG_i&4S6B{TY#qr;Qg$*ynv-7S@NzcOVjcJ#kn4c;2r>@+u5-aNGf>l@$= zfBK*QjzwG*@<+k2#x592)bDb}j09*_#7s_>)eD=`-hF|st0H(s2Df?+@+ZB#zVo!k zy_rWRVry+MuABGp&_n=J{k&z`>E=_(U#NOYH3i&nrqKGPqlSiK9qV3!Jc(M0C%W|_ zx_px>^~)A@Q1_m`2_PR;%`^CY4bS_Q&09e?4+*9jbf@9B<;|AMaxlW#<*oCQ=;+74*-rG=TR~h%bcP@J<-mzhUoYg#Ei9NmfXWvRT|F}f&&oUI> zvrg74iAMx7BVn3F2~owQ0gBboC8R1m6OTUeLJJ%(i_spv6%&V>geO4Hd?86k479$b zqnn;I*6w*4GD5{6-T_fUyBgL7FTYdLBl~1%M>DQw50L;VD~+Ebic3rEJWZXJ6BD{M zIzwb)NkV_`vy-Dg<9}R!=;NcUob>Yt(Ri{MT#Yi`&R2MR5x>ZY6qtxk(@sffy7XJ9 zlqj?s{5rgKZ5Bcx1|U1H+kE2wBD(eYiMS8Fz*e`3=8gNUDsF9UO+W(7MJvD6vDy!u zlXf3lJ1CUoctF98U)p8BhY-;e~g!O&m$)r_P z`L~PHRljE1jXnEmeni$JMwVR{V>m*&gMQHPiNsb7MVOh2uG|$)Pyn|3ip;Lg>*H2I zb_ILZm`H*epJbk5)na~MHLoJ1cg3$%x@D(hzJ9B+-+=5Ib8RnyP};lSI*mB&)Fyd9 z*b50Y7?cwsAt(x>Q)(a^X!E1;Dr1H`+YckUy9Z~Uha0F3&Qw(j#o-oT=Y6(2muR@u z(!xX+Dx`F3fP5D9292`HW_j~<#>lhAtujm1;re4ai?;bG_eMbgl&#&25!Wnj5;Pny;Fjagn~f3~bl3hhAyM z&v^4w=Ko^uy@Q$x-*wR_N)ZGRrHJ%qqltoa6$Fu{A|eO^f*>Hh*ML+7ML?y4(xfOT zy(S3KoAgd-g4EDULX!K&-`;o5%$~V_+?jjsVMbzB7As$UzqdZm{haHnsJ(@;9SO!? z=T0D0RM98y?F=U645sy|W#0E75q4|Lh=xn^UyB|<9($f*2{$?W8S+H!InN}!Xy+%| z$czGKUDxj;8Bb~_3oLOWr?RXym69FY*%0cM)Vfee3YfH(2jf7hC#Xr6-y)Ei?n|>K zQeU1?_1&c!3Y8AAq6NOMCP?taY#8_tFrLs^AuSc46>P4>n0+253EKI}GJzxKy-ND; z8q)a(O++<~V&Ty+hIrar?qX96Pi8H3wx4Z`b3-rU4R&)JlpCj|j3&Ryo?s|M;mXK- z8bcg^FH3u@eJXLsK2aw~H}72H-#lhg>Nh80MK$)|LNGAx?3X-0B+iKXZGIyqNUI(B zG)Iv=-~Jg+;am?TWCFO9Spu`t-XieDmxQbin%T=uphcJ;53@(ATjF{BKTmiZ^!(cJ zO9nuQ@97Zqi-zQ03#FT^MzF2ORU?3AnDxW!J01y3N<@s)4eWiaBbg2Ljux4lsoZ-; z1#8(>ctZGM;MIwT-`oTFS_S`_)b*`=uRqsro8Dl0t?jr%q43~6q=SQ)?J%GON8#XL z*sDV0WuZgQt=WmISYqcfr9|dv&!b{TA)@iP<_y^!heIp2b*cQQIAd`50^)h@T0@ZQ zk2v?LvR7K}`u1|f01fmY&tDpM%bS+$Uq;D|?XC2EIY9ykYLARG9R5E6EQ_t#c^Yas zTn=3#qmf>6O7DI?@#}BWZ$<4_km}jW_3Llx36+nRf+Xka0B9WiV-D-n4W0y!Z<|+7 zFbeaM)KwHg);!FOWNIVn`P=dl4v&*APg?<7UYJUHK(HwJ;b*J7wigS*sDdQiN09ov z3dnvFrvLIFX~(J$$EBsEsg-fqfEA)46sW9R$#KnLGT-&bP~@Sc4{!H=-3}vvg`W>3 z{Z<{eKwu-`lU z{0yXJ77xKABjG_@l;iZrD0dafm98Dk|4a3&2MxJ^nf&vAPOYpYD8^vde#^;mbiHbU zs+&;w=Uhn(UIt1Ox?=Qc7hi)Bg-Wab>J%hsni9BB@D|wJx^)z_nT&lz1X@r4Xf6HJ z?Xr#9YY?r3nyHb|8~?mG>Pmo^`xr1m2y$1hm{+4eQ!)Uq4Bgj)bUWIZm3P|=Pe*&p z-;~Kur4YwCX%V@3v}0yXDiO<6B_Bs9byh2ug7Bky*rI`tKD{;TbCENPf7RMcju)Ld zq(iQGb0$CBz~J?N>H8Cf6<5p!XYC7&s+a*%@j9RsWOxxJ|Bd&bn^2Z<(OA94?}RON zCDANWJ|xm-md^w7&M9W?0rAo_kaoQyRER4Ql$m0-ZoxqdWH-~?G1Su5}UGtd5}t7`y$?xMin?@+3BJSMe{E1FByb(<5snnHAM{D)^y z`>jpu-qk@2z8*{yKAFFosn60FfBa+L*xw!VWbdS~aP1qZR0mR1&M-EREs|X7R#$~Z zC6+FO8d_Idiva58K=%nxD)QoSK~ev~qQQA}&3TRvtQUt~O{q*mqC3VnHvL~k`8mtW z!3?Fg^?m0eG^XkyQ}NBfZUMSQ(%b+Uga1Tcz4`e&heM(7pDQaz{{D>w|Ld$wn!GI6E25`uFt)du#iK zv0M9cA}Q=#4i5SDY~;2M7O-)ha$FzNRJj?qG*}%jWqf|!`U|R*-oEA!D~5D`6L%Fm zJzbHw2Fqch^!GE*jJDP*J%5vb7CdU>GxD1EZ*i%(_ekVMLd#{cMW=j{DmD7=D+vh_jsLhL$P*ZWdxs6M`58uorSofu{+|AK$*XL43l&OkExSF@qjn`O zk&Q}>?CVqHQt%nt5T%7BR-18T;6YUi4vqePu6MQK@(=mC;to;)#!uvmEe!?JD4)it zoJLoJ*dyx#(qCfq?_vQujTez(wwqP9vj25Qvn>jWZI}ZHEx!9tLUfgUU5DX=Ad@o zae0Voz}r5thVFu%g$w&4_#NE=me*r<+}#oO2^stU;W@pn^(HR&%r{P+4}RPJn}y&m zP@Ob6& zNJ(451;k}nn)|QSj!><=lyTjRrv%g{_^A`( zjGW)Xbo7&OJijv>;5r^)3>|M`4@|3MVDMJ`fFnU;cFfJ6QX zHiU!JdvDEDoiosmfw6=0f6;rc(TM)L=YNCV!~6-#A7ZxypA{bG8ZWlKFH9=bAgQRX z#24SPlyiv{8nmDE^_06e% zEyTUcNXT%Q-t;+xu<#AnoAo}t8sR!{G%O)eZC#5_90jj5kcv8wT~M4Pk3aK>EWec& zbhqwfL)4ls*4rww^3q^NNb$@@a6!m4VTXMF7EVYED;8~&^%}B*Q?*_ybkh+f!BO&! zETJzBB1w^Yew?klDZ$_EpReyVQu)ob4&Kiz7@)Tvc6+h(-?;#UKs(jnOI?K2M7MTn z|6z|&ru-y_IG@c58LyKz>Zk?cdTZDE#Hgt0jIDM#yS;bap4PicYz^Tg5t{kv@rEW@ zA?fXSw2_;)TMnllIE==VzrDB`U?a3gR&3~Vb&d1TFMorW?{I&Mp)YD_hs1bD1_pYq8W_OL=HS*+ozpH4J{AAML1R?^x zE8K>OC=tN)aaL37TY8d=Kca`dNrR_lGzU37NwKy(fFokpWp7;5WdH}Io~rgVj8w)^ zahSgg?>4!%%c*K@20^VLAET8iq2z8%cy6{$I4gv?vRJcEc;f}CcX!lPmXM1&smHbm zf`4&0%6_`omK5#AvlEZ(&S3()H?d*^Y&(OoqA|&)IXor(&jgQl)31^m%1D-{Yn$2g zlRR2z-pO^A?!EAJ>AfH&F81=d)gkhemDOqAv9jKHYVzwZ`+DPOibG~TS~yF_)E#46 zMILE8+#l5Sm;RdQv3XGbR{p)6Kwwec)quPI1%%7_nQa|oyrh2@`*Ht}E;O~t!4Y(2 zWv#E`c3Js+J`*Gothy3RBj}snzIo)7CcK@OM_Wz*u2`GO^R2Pmt|nsU(7Q`q3Z&@_ zu{$g@DYNUaK2}R^$)pLsJ+zTT%j?>o2)kF3-4#;mGT%EASOpDe%Phr`o4_i=H}KO4*Rr3 zHBQ-E(yxWB*>|7Z-$ef`P&ICXf1#CzdX^6s?L|-$Ggv7W%z|s9YhSD+qITutfLB|_ zCi{_+(qgsUoq3|MAs+egP=t$2TISJ5KNi_15ZPV0p+#+eY<)mRu}hJ&dKAE)~g`_wWq~MT!o5hLlSy7A;FwBw=E30&S&m zclbN*M$Cj^^qLSXK#*g4S}uPo?47paeNGCedXNXv8wAqW={(dS8cUb5DNx2QZ99r5 zo_*oNNi2YGRykb0Ub@`U6Vh_yUVaTRbq3)NHwWaU3q`TA1{@KsOm!#gP=^}><9^jr z=f6$)^;#E$K!{TJSm_fjut^lG402theIB2`ISf;vt+IM^B!O{u(ZIl;tjJoWBVmk3 z$_^n4KskdEO;3NPSZVcP$$0SDequ>vkO4JRw1|9ttgCx^wR%(QfvzrF4ofL{JDNkV z>TqrC-&+S>TdqFa45=lvOEBAq5bx)V3o@DV2UzqPiSKsKxwzI5Y*|@r;+9T2XO-S+ z!l6t1-AFTE45|&l{Y2W!VXiK{TITzCuyiD5hqSLqmnr|cYivzOx`5%*1VM30{oU;B z66}$;&_6Iob`HM<2E(ljkd{tK%&J*=I5d|38abBO)rnoohwtmJ^yg| zoMTCE_^r`(o3}MK2i=nOxA5Q0E>G_Iu~00%>WEymze%#5TX4kPAkSm1Mfu_G-PUM0*eq#R~;*Pc}f> z??tNB9Sft4)IZHXN%i^&tHt)pS;aPKCNwXaG%g}-IjuMQtu(%2kXKlgw5eBPhE4uB z2sr3eH6*N^og0cX2t(3jO{*Z1ruV5{OK3cib|~9z4XCQ&!y>z6cP6a1QDyQZlAq?= z8u!X_;pg;Jvhc{h5yldNWg~aXiXv0v@F-Hm;wQu~71x%rBIB-uMn55DBVu2@9%AUX z|HlasOa(5}3brWRPAje1w8hwCgKT77=hAamBb6Q?%;h|vV&4%RJ{zXm1c~W|HUAP7 zy&y|uLRa6;4=ehszinxweXzk>v6t6&OL=y>KqRtSe!VR`LtzeQJFjrYXDQ^(Wq7Zw zJWE@FZC$p}BR}Ad&w-GiXH+}NE!c-=*NE}_R&SZz(4+M|ZxmKfch9|sHZTw6^Cs++ zo3erg9@A>iKr);l#u~rcN&G~}DGK-cfHT6@O*)fsn6TTXlJ5pohN>;4j-+0a*Kta~ zex+TdZU6HA%o%npJq}Cws`1G2=7hXg=O^t0KkvQyjRH4~55C5ab7TaO2Tc`|)xMY* z452%3gKB>6&u(H?OVDW{^DcIqBt;etq{b7x;-BB2eeWA9YWu3x#m*gQnz+fe`=XbO zSPw*v328A3<%=6ve_}iPPEiax3;NyaOx?*&@+s4*Tj_b)d1HOFUXi6^-dn)J$iaC1 z?uppcIw9c2z6LxWx!8`%Nz`PtC{btu?VgO2vA@{vqBj3E)w9cv+Hfb>al1N4%fjf@ zsT8b*Wp6bxQOUtbj?~dA{DhRQZQ)>;x z6y+1qN69l_cy+z7IT;&uFn)UxX*S{`?Iunzi7LAip=Pm8gBEfepUWX-}ic;cjn4HfDOJa^<6Cc2kIt(2?hxyFC zSfRc3t5|5Y$-uTM|6M@SLCPuIRGB3*Kf_43%U?Vd7u1EEerne2b9ka+sig0P&#P0o z4Cg@`r|#gG2N)mZe&#%X+?al0$c{?O>Ns-7cSAEuyQ{e^Ldxck&f`vDp9{N-ROFkJ zmcwdbpnY*R+AZXrxKsV35pTW_uUy9xRYY*yxtp;NLmE-*$kxUaKkbNj>2mqVO?kyT zIhKW;vN%M5JvZC;>M?xRLR$3|Nv&h;LMW>tYQ+uWZnd!-$^Wc3)s~SHcP_ju|T->vCr*j?+J3PiiYj3XYsRkx^Vj3UB^YpWY~2 zbbR`Pk9ZsUZ=G6>$2fy5JX)?}1r3=YJmpLIRWHfWI{}Q@YUNV?^`#{KEWez!hW4Ot z1)sCv2s2_I@tPUWyCa4W{SZ_BOt;OEOzp z{94(LBjumLs_~fYtqhCu0X@Jo?y%n`Dx<|h``uh;QE{XF*#Pp>U1NFU0}GuhaNi} z56atp?XT|;EsD20rUZ5(sGgFw$0@UE54NnRwJ}cNgSHSo3d% zS2h+ZXBsg{fhx*?S{fAbG?J|u0`FHRpzy3pp>?;Kk{u3oJ z#*4)DhZxsycdW`Gm|{P#FcQ#LRVb zlYxLnGtRdh#|%AoP-~_#j+|$7L`=HrjF-7Pj9^_(ViT9$8Z<=BPUgbp(lta3Pbf(wLC>7Py1`HhN{%pIGd&;G0*nd`x-l_pWInm;cRt8;=giUE?X@FGIR`9F^1Vu6 zMgAAB1LD0S^-1zG5&oACv;O-J;@N*QJhcAbH!;@!=c99c{{JDByQ}h_X+(VbZ|a5X zZ2wKb{r~boFK+f6hi|!#`{Pvc2`C2vGOodA*B9fgZ>*dF@0IzZa9M8P{x7ODg}ml~ zFnkjOg4ILxWE5i!C7h&@*$$%>k(3Oam~-wLXdQ#DvFU>b#TJ}|7QIVl*zK z-p??2xh=vvu#LM>P9^GRDgg`e#}5cYS|ZN;$c3;yEl zKIE2EiHr+M)s);W?HJ(?fBW^FY!>D`ZzX%cz3mQnmhD@|J~wgnV&B_qB#QF#lJ8R< z3l$Ue8FpQeWMuT*`1QndZBM1&ZHWB<6DMgrfuGC>3tQfw9Be>4iW9R?>$9(Fv=&Eg z#kMt9GTaUul?JX`9&~g?Aa@!uJKF_Fc@Ib&mD?P@)p4c2>!f#M=o8*ihk@)Pzi;94yRFSCwMFDm9(mS%0W(RJn@T1Dsjr8e(Y6| z`)iz2VVITtm`^)pD6f>!x-PaWRZ3k%9y$5uZjr_L9gncEYS-My69<3845*nnk=|b} z`k=$t8L<8ptjMC?n7MV9?qM3U12$x%V%3cO<3e*aN6W4k9&%6y+sR2PLlag^THl{< zzyWjJdsR+P{vXLvWCZDeC0xGsi0sbPiAD>ONN2tCo&HGcaE{hrx|pzIhICbL2Y_7T z&q$Gpvdha@2Z9qJ*Z10kp6!cPiFw!gU%jI_!FEPwNU_R;IBM#1a=YI4$0+w@G1{V@ z(g!XlC)k9Xe@bO_#3oJ{@RR3_nM0pPUdN|kyIuH6*C|X97HvKKOo{#tn=oL(ZbqYH zjAHF#l4B3XKjG2hwtmaow z9=pG_UH3|dtc2tYNNFXtFyQQb%tj7|mQ+iA`ruM2-5y`zM4o9Pxu+(vZH=286p0hR zk|>Is6kC-Tufo|t$U1YtBZHh_F@fO+c#*8-@VVCPw^yHouvO+&l4uO ziQ>MzW_sNt#5}Wr;`C85*sMh!<=wCk&R(uhvwV#m7bj@J4k*15%Gc1)$HFM>I>*Pz zsPC|bcOH3!^h^RooKQS}D~TUSu_ zqtl;}k=)(kg+CU74x?W+KZq1w5L`ZSzMVMa*@9`&v=@&4x6FpQ=N!%*zc-~dW~zNP zZR9ELoLxP~lSwBbx$`xtTSDVOrdB25$7dAB=t~Fa%cHXN88V-fFQgV11g{K>_#OD@(?ZS$m^mRISJE@g7rWw)XXot~05fs={5w zzI&UmHFmUoJ$BR$hE|+T2Mw9(_54&l^Zr=&^yG!v!>!_#L zbh(B>>kcUC4KpOEzVQO)x{RMTTqt2)USaH|f7=pXxm?h+R-B~uPEJew8XwDyy_;RH z9MO!2pY;uY6Xy2jp3OdP5Y0(fHZwdvE^JJ~4fel$1@*v;Y;lJqp0%E0WL#KSh+>nl z$R0qF`8vofxU(x6PtNnMv{Y!Q9q;WxzFm608Eu}(-ci{|J3WlAjg?I%mK*n907-1rlH z-4U7%huR&Qc4HH>xP+KcTgZc{PuK*Bd&^A6Ln~zF6uufF6O}TjU8a7WC$E2jt^$b} zbCKUNES-T(QuN0jgWSDmp~+HF{lt7=D`0af?ylgfTO4l3(@j~KET!O7iW}Nf^zcc) zBvbhGH(~BT`3zLoZeyqmNNQ>`xB{Mqbp|d!m&JC~9@2WK(rRzQQQZqK)MoZjP#}!N$p1kPjs`AQqH5K zT&E|$3m^^nk-2L|=G^b&W$w*KPg)FT5kVNY_Pq*jO6pUK6D<%eZaJbvKG3sLr_Jd_ zbIb{YmB+LyHj%6%?zKgwL?LM+SzyD#m!5_uJR=?#nm1R2^>yL2LwV(?t(i#0Re9px z%oAT5h^s|$l-=q4`T3qy`^4lx3W4{& zhanIEq)2z??cecY)_CCE?#UMYg2jJ5J%P>0AoSD61j0#IJF%5PMf~0R?txqn$_VL& zyyo8=TF#?}99CD3zjkWclBMeK6Dz|j67L#J=s&4GTN-xCzR3uEN@BG3&zDaYJ4zKw zZ>CoRVMulxKL^zET|yenzEP5y3Jq(1Jdb-qbTQp0pKsW}n;j?y%GI`1kprW#67Q_N ziKrQhvXyxx@c~azclpM{^AcKfFWZ)AOVUSNW<3sO?zTuP6odWwS!no8!Xd_Ocaidx zqf=fx;mvC^1#GBzT!HVN+xnt9yp$%%Y(@oPd$Td1DtDolOFJ6W?CV>TPd!q0m)8g< zr)n0VtI|%}{o?7cWf%758w;yETN3^Tdxe8Ox^xG@ifnIjYa?_#w+y7yQ(XL=?j%&# ze`?TXHOQK{_jbX(HPEuasn1K$g*436SDJF3KvKh0&xme<=1*=F3Xllyq$ju2g_;tE>D}NEsY9+&cbJ-MdV`$l%Qvsr@cC^ z#nVdmjf;}?yj#4TBQvi#^0zeB<)!0kmp|R$^Pw5MNW8>5E#^WaQH0b$2;65y;!8tl zg|ry=uiGqilNHvImh_)23WN$%(nA}ev6K~)j~Ky7%97Ls!@n^{s&{{?d2XijQLIR_ zAI>nf2%+>g>~Q7 zvukEI`h}*1T}4iP%j04TJ~7vMBh~G7^C#`=SL;}2$O8n6o<2dJyj;SC%v?OLW`O>t zKZal^6B=v079THkFP3L;VqLVKb8ve(VMpWaVBM7Z1H5660*_UX1os_|xv0LDM;$n> zThRLUBd;pyTu&B>L}#;xlkl=XJt~T1dgQa_-iviEY4(@QYw$Y*&+F{imv2g#})Ny zPjTjyaDU2t6a`}VYRVIQ6WCYvhAaLFGWSvsvKE-`_6kNVQ}U|aPAg!;m|I*Avj5^r z2$faalAZw$Z!t+vaKLSIjdZ>t&VK77=)e1A*5!oclm1Fl`avX{soBc?|7F!6awW1D zZv2Ozo0ax|t6}s%Ev!Puqhb|?B4WmlQq+i$n6^JJNA0SFe++)gSPC62H2Hbha^=x? zlN%Q}-5&y0SlF{IfF9z6$ z+4|lB;Py6m;}KC9gQto+0J5!IN(Fyr6sw`>D~pJi^K@F@0sOyy>x5^bhUH@4m!5}+ zgA$mhSCDVL55MWBy%ekmcYQDg9zWgodO%6x<%MVUba#I)-2gkecGtJ7y4lU$T{VB% zZ4^?=tuV9F>d-QeXQMrRDB&Iz6Y6>tVr;8MxulgkXHr-hsc7j;~j)e~s6BE-b!$p>Pk;v%n z6}PzW&o*XT8b*LMqX$xoa73s!lg-GoQXPvNp9le#!hi)!yr-R_PzQE}B$0r+UFrA0 zJ8i_IvHokQY9yzwKB=Ry!+Amub4T7!7%KX1K#l{Hmxt3(06KSa4VQqf;@N!27Q7AD zVd;nmJOG@X*3ydM9Vxu;y^`ZBqm+UNsnX6_UVFy5L|9eNVEw)7lfoXdAhgYI20o#f zwu@P?FIpY!>!b4`bo*dztgVj$Q}#2cq^loz^yBF*2jB*IG^pBvJ542K5!&m=_}gGO zT~dHO^1pKd-jD9PGt%)JA+M~k)3$NF-FG3A4aWj3@hif4AF#@Q!wP_Rry1`JA38oL zh3W7e*1{6WZ{YMB+ycc@wNn=ob$AL$;g;| zqLJQM<2YmTyw?!WDwCHkWPvsS5n8vYJvB^pk%w^-J9m9QOVra7+4mINiTssiWo6}j z&vD$V$CbRziVQWs&7&8PvIlXp?sn_DJDsV+*ZNqIRelxNgcq za8F_>A;%IMW^?53Tm{SOywi-mAD1fE`&?1pz`EPtaDPTjr~>9HJ~7sX)DN!3sg|hO zG!^IMe|!pJtRb?<>MU-ekFiFNVzMcY(O zKK@sWW{G($pN`TpAGv3$P)uITf#yW%}qKcpXZ$j zvF(mW+9`7S?R0TOqTdfijsZXVAz9^}kf^Y1yCd-oTOlx&bg&5S+O^(pL#?YXNIg4VKaL4xVFF`m`;x-QB_ z6jlsT7BaZIh%bq?6Yn@s%F4}Wka-S@CcKbKvF z#1y~;TpU((41;o#%E}u$wlle>8S)wf$hZ*=wYSVo8k<1Y z-O58PxHG+g{oMvI-sX#aIj_J?8$90tpOIxDS(1Veu>qkm)630NI_5TN8-T?>*>fA) zzF-w;dYDab*|k%SL1S;a$wP}()`xtMK+UAQ#OgiU?(ZPyZcM2IfSjcyC7|Dn7XVTS z$onX;lGULgV0k_b9CE*VM@MDP`H0)M0&u{C9DBf%@)Uzi&}sU(oM8}PoT#u)KMyQ^7(*NsqN@oeDWwP260+Dkw%2g3lH^Pj)#mVB=oAl9Vi=sa)rCxi#WX58T zv-pC_&(ELzvH}CMr7=29RGzqG5A%Q7b+K>y2bwq7PfX%z@!~(2A7GxF(oB}o?F8=V zr+YE{y>DT$+yVEC`(}q!o+7s6vkC|;RI-4ehq!4thep%7+?9avnimpnExO1=sr~v; z1_rN~GO1$#%vl3(^3F!SSj1w`$mX{NHB6PDlWfm?9vvN(cb!2p)X0stkr{)Y*zZDyD!s5@E5c2Q#V=P;8gnPST_w__Rqf{uZAv{6KvOx z2)$kFrso7&9L_jmnI&gPyz9>`5?O{vg&?MIf=fS|nFy8Ux` zxF|F!vPD3GRwcuQWFsdk3t9rxM!C#Z(|3k#8m^ZaEue$}uKE&)SW4~snz=|fq3Y-r zZ>B9c20`wA1iT;1(W4>?4y*HZd|HfsBpFZi%rKeLiX4Xd^wA{qux)&9mS3eYb zL%{RqgQ%ZEephXs9IxHE4{nqo?ZcNYizzih{v8KV=WSjd?}tQ6n_u$VlDR0~17{EB zh&;2p4)I}LiqOLq6RcN#ZR@C3Vt7PAhsvH6e~5GE%dt;&7O*}rI!kMxO3_HJ4@gSg z!hpJj!UYdVnx7IQH)R?}bg^M$jre0jAx zno^mkoWGaLkzU0goxy$2n+n473(Kw~)CodmO$VX^BeAn+eipJ!?sDn*OTTvt!lQ zzc^$4AiA+C+uou&4)N>kTT`x&pBs`WnwGaJv-Mv~Z)JkAOxE&N*re;_2MrZi>X+-I z48L2Zhn4#-XFc>7cq1sWlyCQ2-^@YH-++a})3w?ohjgoSD z-&eU@3OxDpv;wQRd$wW{gk?6te9PRKNysp z>|cS|7P?_!@wQDnc_ok6e4zwG?CYhUSe_3GZ+lmjvMzS^n`C_Qp7lrDvW5dp`C=jy z_M;31YCuEXcqZJZYBT9ENlA#bKj+A za*5Ry5oj*3uacDY1`*r-%3)>gSv8km;Grp{DCHjKuge~Ki&vZaZSL*echaa63aU_#W50{>kK9FB<`}t-qBJxUy3Y)#kx;dhKx8wM?O0u2k3)s^D4FOA+nXOjtq0fCwP?$( zmuhXFuOk|n{}TXY4XNP0_b?wv!R^O~I`%I(XdaBkb57CvcbibcQ{cz{vPCWV6@mEw zG9vgt4d4H#(4uDcTqJ}oCLvaVvbk!_e`U1vX~S#o)Gl>UH%bzXO0|gLt0(Cgy zUW^o8LCeiLIM55XNwCwdyRbXI>?V1k{2%{z2Bnqjq&<5;cUcpDu%b{BMN8J)+J^D2FYC=fD|(_itd`v%*s;n6^x)UhTAd#5OHJQ zXWcQev|+y-;=S)|%O<>R$OHlm!=;y8Nge?Hzzh|tS<~xTIl|Yks<_a{L9+|MOz;>| zJsHXe+5r^ZWrNDa3w=1_lq!AD*tZ0rcmO631FN@1n#soe{>^Q{+)5sW8_Hu4b_)*+ zqxocbHl%NOcme+Uwyo{TC&{5{pE2lu*Z>f>yqNpZW-wI=U>8wnDE_+8A%G4qSG#8cCAe;UO8HTn>*QIK*1@1@oRCHbwmoNcyEE6E5p_5SAXFgI0 zWNTf2q)osAtO3#Or6y-b?(MPz15_Yx8*Zug6mfvclUvD!xWnd%(1D5G`Fzb$GWVnf zvlh%14(C;JW@t&VQcqI?dujhDy1Jcsc5*3GCUw^*sX zEuv;zkm=^It$Lv*^omsx9-h%>szOG^Ri%#M5PZQOB-~s_SDq~yQ7X(wZvwu81~{|M z9*YhFFcr||mR43YzaAHf|1RL;7ju8tCO0SNy!S0ZJy=}x@fXEmvTEf!lG8KXt3za) z)IS1pSeA1>e>by^geKt~e=OmhOKPIN$Ifn)h>fz))KO?e;oQJu`{RIS)Y|#FnYT#d zx*9!n-niPs(WDWx zRl>$3K|Et-Pq%9j6Ec|QfX;A@M5CllyA4HN=M6nq zfu!j@0Og76Wr6SD%(j>5;cHB&>b>dkS1UpGAX6k}Ft9mbcg4?pfDE(VAuKl0@;4Kx31lXhc(RNW$v}cR0T>zgj5m* zCF|$nqZAH&K4H3NI%^QStnRREAB6uWWd?DbEtLB|IVu0=97T+^5j<@lg=wKCotc09 z?KzRrk8^&I+ER}p5iqJK?1xHZb-$=C9w1&E9+KcUb+k`4!vBXoIRz%y73ihf$Q70@ z5(tFD+|H=|?h}ux;K>A={PlKU(dxCE4)~Qa?>|J0M-G>Tb>iLGXmt_BDqF`v87ROv zbZQZZA|S2<1>u+uojjUEz<#l=aUL(#&3kxy2`JqrJdJ_H^VAYB4aw`8iGMs%8^K6! ztO#mvIwSF3wAES@!W?K-iPm*h z)p+l=N)fkdd0CDZPo;RT(ppkcKz!x;)}CPh06V@S8YD} ztk@V|oXF1*PNJ}&Q*++qoi6nSL;z6o5Zvl@vIqGT{(#Z(v1X-pnC<*4TMGVrq>qp7 zUdipYFH0c>$^E(vFuK#eJC}l^zLU`Ut8n?@1~&a=K)JAfA^!=+cm-cC-tBbj=Ucw# zEh;P^K6tQy8A(cKr+Dh=-o|oK*Xyum08*PBwoLt? zUu0qRf%7Q@RmmT;!e!-*6UT&~R6hcU(EBeeGaEG#y`W7jXFM0NVau!wDJ?DKezo&H zjpH>SQw`Hn$>-y_TNFffr8K(^A!_$rS_ER>*Bs|48*@^>3w4J{j$*bWSKug?1>`jl znyuskA+HL^8<2LKR=#vqJLwt^*!fPAwTEC7D&d~j(tV9SQW7`PZbp?4uZYQ#vbg%f zQ=j1`idFNlV8S`j$sYNA%y$`QA^ARj!R+Q2SYg?NqVsqR2{n&LeUaX5zV*fl1;}}n zMN5mXf3_JRxAi7)+e2kf}d%>F|~#=vSQ%oug!kSY?19z&7{ z6NFt17N8*1uO0zvN*arf1l_NL7>w~jvQ>N*b5pzy&>I2AT?CawR$?Am-W56sLviZ%9hiNR<3m-fNFNsLHh;+Fthi zozK3CcX)hdcwSoE)PLU-cKxD+*v{(sI@dww>NjY zl~+BccXwxySzjf0=}W4gSF@>jf(F79TeI8x!>nl*fW57GBI2!{wx`Hf?QKS|NxW9X zK)+Jvcy5oD+3&8RNyO=ml@Yf@<&e^f_ppiMu4jOrr|jaU+;JJ05?=>sk6l&i$#OXN z?y4JW8r$1j!9Mx;F*&p<4!_PXEP?Lnp${X6Mj&h!F!JcRDEef(KYRNVQv2TX8sg|o zmlwm}TP{U~Wo$=h_VA4}!bNAngE`X_$>J`#!l6|(qiBeqembc3bY3>MbUdpZ=U1Na zVT`K`=CK*vja1_-sFgd>W~t`vY587#y}jvA27@j^B*SSTGqzRRZzE9=W6B z9c`}Y$0A`;ch$%f*tX=E5Fw+G{zWESaF|P>Qd>PDpo=GKdadJ~g#Zti`;8)@E&l<) zy;_FS39>fhy!{si^k?JKie-bVfZf;5l*9ViGav%XmV`dAd6)@zayKSj&svn z4ktBV!Y2ka+bcJSW!J7F{0Rjlx7vD`O&`o|-TX-Te2VvB@IV(iKY_p$ zKw3onxo`+iIXfZKZT#`NURx0@7%L_7XjSQ#Vzb^J! z1u{W=7OOWe&`TG`IsDa`PZk2ajfTk_1pDR_bQpfe&i^i9Rj z01oF#iJs}1*#D?;`X_hkP435zYgVm&e)Rh)b4sYlNSyg3?|tesPdxve9 z45DrdAZ2_PLj#8;?!f-{!$Qe`PR;U`L;ErdzV&v0XEV>gT;;}d&eDsQI$KYu`Ki2J zf?VqJ>XBE4AAU2?-8qrIGFs-HpHE$E))^`&w(zCQAWRoqdg{*dg_ zkDyC~!imtmJf+>k^Umgo`09hpn+<=KS>NPw-a3C;M%OFlwD6AZ=QKaPmdpP#1N_C? zQD;t$wQTI06x&2VGF@Hc)5N^(Smb`JmKN^uogSgdH|fX!rCHaq#x`(sTj?)3z&eZ*{dOk(Pud%@FJZP&eO&Pg(7QBjc;wNW zz#%Qkzg!M*^ML^T(a@dpU=RuuzF97g8ZQQ`QfHa)8i$k{(9YEoFqFs45J!L9SA2D*--Iw&koq9`PWkgT04R6~Gz=fV_Cqti z8dltgAW8bb$2*HQ!+>g9=JcoaDSMA3ac;c;J}b4ysIjn3~N8-w( zoK)pE*5zL9A9m0xveEhEMm;ZUsQx_4&aso|lY?(kC)^o{;n#~CmYc}-`r{|Xxfp95 zndg;R{ycE_M@|Oms@u!xeB*q1D^{dlq;v~W8@j$@{_H^N#n9b*7`vhGH=xm+-oCOX z)Vo#VR0(E<|5tV29o5vf^^3;?*pS0fih`n`*nj{EhzQXmMFr%5(o2vkARxU7!Gj1$ z6H$sNQE5txgkGamHFOA_M0yDjB7{KN{#NkZbKe{HefOVt$GG=0GT7OBt-Z7NUUSX$ zTXW6doVOc!1g??k9>clakQT^}{Dq+tarUH}#%$P5@=DDvL{AP_meKKQ`7&JQs+JPs z;kO0`!eVQpoN7(c!t+UmJ=d$Dq#~40-Lc_c1l=DhUwFHmaOUOKlDZ{%F~u(O@-RxB zpB7N|$NMZ&LaCbU9rz50%6p`C(%>;GIF1UBrW-81FNIrv@UJf&fUYwTt}OjL_SKQe zKk{2^!3&?*8+z*bqjQ<>kxJhVd}n)v&e{s;nhzk`hrlx3lj-qD@pwx%$ZWLue3#Sj zF92BYal7<5ZmpMEss0>1exH|S&sj!u*IkpckOTh26IMj(ckSOw^qzOfb-##y>cjFX zdrH{pkB`5;aHstEJpEe#b<81vA9pSuLSG-i0%7=SWMZYbpmf{{o~I@euI_fDc_aOh zd||8Qm&vk`U!6cZ0gHU)w*~q1G$Dg+SC3;8GV8B?M?=F2-p6_drEWdq;%U52{{?v5 zoG?2fvvhUqt2SQXOUDMP(8%v=;rg@DEK>SGi7y@jkyXPRZS;+rf}4EpN<(iN@3GJV zKOeJ#TVBynUU~N@|I+7&d!Mgi9e2QgnmhfMFTgFGc+`^)cvlJ~M0knA1bq0q?^1ER`kav~c3UGxpEkqRQT_Z=G z-QJ?dI_7$OEI!NW^>Hh#WubH|GTYY_8q?8H#YpKLttFLn@Q>WlD*)qu@F1!WRe3v| zrZ*@uni_#1Cjn>>9repcPR|C$(30>->5luw5oq=;J>;K9xlW398$H>o!1cSzznM(( zkJ{>=nU4Pny+t~iD+idgqU=O7aY9&`&59YyNscn?E2@#R1(K%T+28N?02IA@*Ozc?Gkq*TAYarZal7r&{_c9%NItZ}z0z0HlO7XkA-Y zMF9dCpetK*+Crn+{%ygpuBxw9s%EmT8Mk2HjBhu?OsNf3csym!Y4;w0N-!T-6~`y) zi!U&X+rmI>d|!;@IwelIXnyA(WqdV$fwLD`YcISrLWA@gi>wG`hC8@13cDMB{+&~n z!u@F&_lM1riaxxq#fZhJ)m|pyx`e)WBx_uixOrm*gv{Gh1%cpviTdiBSt3pLU;II& zv~R$f*Uy>;{wI^~&#Hn56uvso6wkglgqI_QfYX`>w(aM4NlXrP zzq4_PJpqdsMr=2QcaOSj9!^LcPPYa00N~x_ zbfcEUu_-QYXpbT956F_m1m>$KTHP7kUYtF1S0ONmSdYYczkaw~IAuJ>^Zr1QB9Lk4 zb_xhY9~EU8+^Z)cK}%-oXRZOX3n(N~x~Xzg?4A3huHHI-mT;Vs3J31YO^g?Ob0Q2 z*o)hzFDC2G`})Z45u}B6&^3Fqbz)tx15O7f=$>GZL1qX-p63HRRT#(J)axlNiZf0F zN3ZsL(s_2Sd?!bPgq6NqI96-6*K&_4@SNA?`eE68dkZ+>klLjA88tgT?cUNfCt=C? zM;sy!l@5;U^cDOG4a2z{AEr`&IH{i2!jUZYl8nC zov(Csnfr$O-92=F^7@2z(K;sIO?#vMTjxv5Hf4Js6%m z%hsl>uanrX3e3)8{F>FbJL-(?_9Q$^Zn8H;|^wgxwv20 zJxdPVn}9UWNO69WO-0e5Hy8!>ObCi1F1>rw15JyCY+jJN-_Or}yS`aW6OTdsYMJH} z({rT+*3;A33G!nNuxch!E>_%aikbK&%fR&Do}CTb?DwFzyJr=nDzc94|0CG>zWPsH z%|QrrDSAtA)h|4$F!FSk#k0d(ilpA%`>2mRV!-V%!~kOT5dQPkD&N|NGc z&-Y$v4Lc=UGwk<}taGKNCydgm^yB5)F-zip>?p{y!RxCo5~<7__wCr`ZEW1Jt(Q8A z67o>Cq?HJuwo9%5X~pLX|BvCJ{>z}lKfBPrr|y>k@xysff5FgFT$zK(B-$IsJI-M1 zLtmRlp7S7I1*?E%G%(bU#IJ-n-!VA|v_J9AeY?*aht&a2CU`$?D3Re%Y5N)BcobH`OV9wL}!R zZGG+=E9WQC6lg8!$^gWVO$?~%c}?ln=P?g?Q?=+aB2W+G^ps*H_M`_-n>Vfn;F6WM zOyNKSc8pkxatu84TV<_^REiZ}3$|1`7D7gCME=xXe^mz#F-o8YxTKn0*1}R0Z2z5g zO>_FDe%&0oYbmC5&6}7$Va2*c(V_PgTRr6=;Q3>}IGAJuzbnMauEpIE4hdMUnd){s z?;)cNZxsooto9@3p2R?m1AqqyL%cNT9r0DHvl`aMVv_9+KuO(_*kOI6dguGhp%cyv z9^^-_BnFV^l|$Q$AVRA7`o?Y>1-b1r;`YhR@V0~B&uXlH>5&JIr~BMYfx4JF0>3hK zy;;7;Qt9_XovEi;=}%5&WKHe6XFoFYnzu=CjXGyF|aIkN8PnIO?J| zVqBHyqBjv-zfzSq*0RFPzJ0m4V)3+Y3TTSYJ5_#X9^gJP^^t>gM4%pw9Q!*dOZ17Y ze$3}4`O3x9wJg7J)2MIW4+1>)?b`G9JP2Hlv3QDvQbGi1ti)C0tX}o*Eof+m0y;&b zJRpMX?7SrmjD)KzbG4T%rfa8OBuRbBT$59E*G~Q~mnG-A)=SAZ5pv zo({X*LOcpGzHt6dUHO-jxBr=}|C{LK8ryUyb5VO507>F*LC+$Px3iN7bD#2)jRebBP=P zl8^`8oTSu5)~+sRu$2oQ8P16o)^kwX(hg$EBcKaPOe;Fr4gy5Q;9!q)tx*(x_+JB}%Hkqid%C-n{+ss@UPPaSH2RCXr7XMmPwv*$ zv;Q8H`mc|d@sCpZcN0f3uUwpXA^(JRP7IiJQ!=TSH_pr}Wot^cKxp>q9mwNjIi+13 zmFPX09P>v@OUnbajBxf_E9b7k!FS5+$G9S`$+4txkR>&y8QoHIA{P{`G{Zs-3b&x} zzN&qn9%r;n3`CDc-vYvJyf#;u2}HRC>~EPLdVbqNu5m<`$B$o*a71KfqhcmQDR!~Q ztCP(M^KsY-O#bb11~iXizpvz%>v3p?Z=ZSfsuV?_44H?aa-p>(pW~PDM;^y(^*t*r?s5GA>!^x|Y zoh@K~?YTM=fnkm;HKWs&VY=1V-go0wl>n~K6o7tzJtPdkw;FVDZ8!H8U{gv}>s#W*6f-l21s==)SWd*NS8t&mTB zZW?L=7pDG!^yD((MiBs&ctiM(C>H5fZ#$JWbmA0=3^#*#Gp)52&)N`F4%2=eldd^P z786dymM>quR?~B2_ax*h&`|MfsG1gdr~&K-QL`K&>owz+IMBJzIq-^oV{BIX^Id4b zFy?@fP`~yo3eXqGXnmUaWHZF%Gr@!Dzu5>4r}~r_-agmsnFJ~k68%9Wvj>V$Iuri_ zl9G_%YuF4?nTBMmaLK~C81D@3cH^HZ?KgLR{(a%BVb;-KckH)E{CxQrjWo?; zZ$gBKd-hkuewy$*y+~j*H1wXgt*&(a_Q0vB;j_)TXy^WOsU=(rFFydwf6b=clI!Mv&9Va(b%!+#Zh=qkjaPXKvwEHH zW!A7G|M*d|fGRAxya9bpuL@A80JTw9Pft^$sju&r>kOWUPIUXnPkJF#;kF@kAbJu7 z-K=FW5$PFPq>Idjib*Q+PLR;1l$6wqjGy>=AoqL*w31JZk6uxc+vP^T>&f&_Ct>kr z^CIn28)PLEl$qk`KIC=Arn(`LyijeJ5{Y2>_1?U5-1m)6wO74sxKjV{rn}GZEt1l5 zj9b_9>QZOK-J~LX_8CU7sC{4c0GXzIKT~hGJ|vh5{Bx;FBjp3C2~klfRstk~Wm8Zf zY&qYmOSmi*X(|ey#%dl~DHeYNmCdpT`11##@dS%{=nTTOv3B_NnO5lQz_1)zY0exX zbv{sP%jZ)FezrM;IUEm_`A%>6vns0F{a6*#TSG=zIYsao5RWkXAG`lGn~MD(_iGvm zY8t!(oXtFx$6Aw8ew%q|b_X4+#3Gl=t|3E1>&-Xs1l@2;G>a+k3k18TAIq~4ng+3M zn{4!A$V@Qdu0n8M@&$exHk7dTa#*57+ielM3VB&=G7*7%UEq*yU0G!|*9_o!$^+h) zfBnkG1Qj)jB`~pXdnj~>yKc=seLrN+qZ8I=?j4rZg;=Bp<5doe$&;f6WzUg zHyzv1*H_~_;;sXktgEl8c_^i+x#+x#WFX*92962C{YVrvfV(I(Y&cs@Zk*jFR9K;1 z!4%Bmh^4NsZWH(`bhp(B+Q54#t3@Qf3r0g@=j7#!efGY#SlIpPIXwD&z{)sB?hj_f zu>DgA{x{P*G~If#t2db9h2?!!8QLl9)bujK;W00+)#X)WT-5T$0bS2hrVeU%9%30@PL)utCq^ zJSQk?y=WQ6m$zH3#mlcQ20|S5K}J4rAm2_v4y-DLeK=Vn1X5p_50?+vRYKs~3(*fp z(^wuluSgmEsO_eG5$u6FG_riUwvUHYsEH<$XWPJdWfODeaj}bBWtVHv;Y*B7r*~ky za!*|0t~C4SvOV~d`X&exSPFQ-RAd00Bl6u5Z1lzT5e2l;=K@WO zj*>IM#N@!T%PH~5S%~EO25PR4aGB1WS1HqUlo>X3Vj(Pq>2PpOPG@?Nkx>Ll(bexe zA<`}zAt52mOtCDGVtGZXyEOPy12QW!+yjjhI6_ZFUgbzI^!~j+NF7&Cd;xw&n2r!< zG@`ak2Q7f4*lsm4vqSV$adm#su8^Bb$0G)riM15&faKcsY9X-HK|R)bELfO0mIaN?jAE;0#rUlP z5-LuYD7mT31+2jukMD{8MW!ankVvt`;=an)6yuR}LgZR~VKx7)ix}9FZNFZ z@%3E!)~EwVh0@D%azQw2@uzO{$T7w^D@-%3^*0OIk7AH3rz?BC0w78n`Q zGdQN|kI6HrEw72IQd_gr|C&wt__j9S^Ozq;m^oQqcX)Mm6%W!m0OI0%m!P2P3qfml z&VUguO)Y5pxrw>KEC@qje1`TQXSPoWpt>M)8AnG)a2UuBf%gSR-q-H{O-{K0(%!*T z$pef_y{j%UK$T3dVx@6EWV#tRCZ!n1Aea-vh3`t(Xc-`NRqPSpx!=pacXO2b;>vib zxxIU^+TNuLw+io{Q_C$sU%iCQ#Y=dPkUZzQid?2AjVsE)jRT&TQc#lQkdmlmi8e?r zis&hCZvk0g+Hyv>4uNjrJW_9lLb3zFa9`GTxNLeA0^~$J{WoRmU@fWCt+Ty7+bvja z4e6G~@@EZ%3hQ^ee{};9&1RP%-<$3=r|JPjRKCmwmhx&wANr@Vx35(E`jP9S-o`2l z8eQ9eXAm%G?FNdh^z_3Y&B3{l`F#8~3Moe_ZtuLHoII3?WmD14BaU|Vp?cqdd+^rR z^*P{dsyDKAhi;opv`0P2Xi>9f(+whF^pvxvQxG}emL9@faf?_IcAbHx#e0Bzy6m_w z_*vD`qcu7!wAUNR9M@paeQu5cX0t%4s6U0H@k zo{iKCa>7CY$#?}KY`6hXU@{iW_~>OdkJN)wNY^21h_BT=oa;lNTNPK14k47`COmN{ zn>Ln18#5M%*0*zowNIDlocLJiIj+|<5hpSx8Ad9vro|&cfdh_PPCOK#&*}03Tm)?a zDC!BYz}t~CvR?Rs-%=l{DLlg(VBmeTA+C=zcoL1las36Oq|U0U4cKx${SkNbzh*OL z$aQn8ZSeD$cR9GXr*UtG=c3(=n|;!Z0Tin``PF4wodeq5p8QTHCSORg`&+XZ#7|QZ zueNd7c-Iup@8tTR^31_Z?HwtSFald=l6EO{Rt?^PrPV^ZeTvAxgIQ zzYn{Xv`V%lXzp1)fXD*jmj9RE&8C zDz~Ypn}AZ!o8FZ{ivXyg{Hr*pKK|0Z29HP-LR8;}_ z0|Hp21WyH=IL03EHFG)yx?WiNI=DduZ4Pr`f7;8JmO&Yc9aB?N71KQ;v{0t0Ml5>6TU#&}%`KVcD{?sV3mc}o zjLzV#CP4I=;Qg$GFEe!P+Tqp|T0L$SD)w4qiMzTeu8rbX92ANoV6A9%^1BHiGa3AJ zHx+-GYx_sN1J;3_fQL~)4>CCf552Dw>nTYkF2{+-L=CwLzqDeHkfZW_Q`@jyorfpW z!HZj4ppepwil8NbxBVf`7v|nEY8CD+ctMc~;cZ83D+zkshlT0kgdRqr30$#KBA@S3 zLWIE@Ty?H0@lzd(Fq#%sl~SaRJY~DwHnHmH*jHP1HYOp}vH%yf0f?N+dV`qJcMILg z)v&R#aM13} z_8MXdBBSYB;vVN+x#ps%94wK%{vf}Os7e@BAL1dhu9z*c9GXUT0$V?wY}t@%&Nj&h z^6c$YR98;xh#DMOV#5vzM{^3fOmQIluVo1E<)(ZK=WhYLWLw}2?K%6(zXdqH9s)U| z5Kf)fIBXzaK&==A^Wj?Ncibu8^IlU|IWyyC5U*kq5X$am^>ge202|nrg>V8syjp^q znl#FsIy24#J_eZjXZMW*G7p|pANaaND--XRB${`&wcP^#wf+U=AfNKR*Ci}eTH5=Z z+*~^_K03F~?1t6;9`gOm2~Us=vL(I@II8EV6Vao*8G$otdIJ!(Fs$mJU(;xGb2^1* z@etCMGD8ZG-i=s~hj%ymn2*;WPv!&JRBn+^JKr@mA>!>M)T%4y?B;zUd1<>&9ZI$P zv(NDB^C61QE`}<`URAiLb+Z+DF-XFeyibQ*vKKMY?M{Qw6g_&H*7~VSM2`yPPItRh zOXtsfc{0HQBQCRjF+paf_xqhPjO>9&u4A|A_)~g~3=S7P{(cVx&w;}&Z}^u(k+^vm z2P=g=1JyXHdwO(qbRz9-w7l6^TU*=b;O?f>g5~TK>w|%?7b4zg%m;R*R;5TRV7GaE z{kA?E+#GOAKp_0nYMm`PA5W<3p2sFy38}NxCEWE7&e8On2ozT&^SpDa=z-A@GXB98 z*2S3{=gK8=1=r(G-WS84SC$i53vSMgQBD)*r`OeKnrXg_`t-Vyg*Z^XS84OS@(Pg- zWz%}SC`{xL2|_efx<;RK>OFjh^z?RRzaF<7dX0bWa3x(G5go;Adw-rPHPb8fSD|*i z*nFYiDsdVQv+^Q_(5S{Wo8<2cDY8RYB$5mW2?JCtE+0`n_3^>>{KHVXCsjv71I!JT z)p$V%4wGqzZBax2Yk>3r6X*MlXt~XS2F&BILsBy`;yHp{VK8z?NnYLnq&7VQm;e##TV&vU4x;&-<#@|$xv)U`@LM1pR*YKkdQ;k2rwQOU_o+wyNg2_DXWzbk zc;JjY0i5oEk>t5yB;Z&XgFq#*9RIRnbA4UiTm0%9Hk>}E;+0jxLXJlW=dI3mwt_r~ zlK_j}c;A>Pshx+er=Rv)9z6g9+&sxL0zm83NF?i9^?*2?P=B5=>h>1QO)T&X8n6KSnCDZ{Q#UGMsH72S(aa4jY$O0GyyN4 z-bE^`;~)JAaoIfADI?Gkf7UI<1ncv~JY<>EBhB(Vt*lu+#~aVU9+@=w1X6X}_Ful$ zdwXEzYs~m_IZ$ROs`(4vXHc>ByKTU6U2txnmVk!hA-_X&h&j;7@zWqWIbQPGp?VGS zLMorg9-cb9`$rE4YNK&6=5SyUm2LXG0yXyeHIZB>)G)g66>W_r61#SC?Cu|43U0Z4 z{Rf-6-Cct?ciP46V5X$TebAnp6M*89!WkO?&y!B#FbgzBUC!*Mx#tdMz{)eoJ1oZr ztklCPvR39nZnsuNLdjGyvB=R~TPN%TC(ys>hhi2TKj6M%3J3v{ackzalonB=Bt;kw za~g-Ko{U$W06jTcb-B`RzRVy&TtHGBo6)#DR+GZ6bsH%ktPA$P`2Dlwym!DVhjKpIAr$lS5c?zDYfEMj0C&iY1ch?ZkU(3a$pp4tV=^lDz-opa9^k zB>-F9Il#D$A+dwkH#qu&)0^jK-?gAyIX`iKb2>#QA0dmV7ej<@IxG_ERM*Kwlu{&% zL4(DGY<{1PimLRP@97z|g6}oM%B%`zfqB_G33~YD1;Y=RlX-KRYmBPNg6xyH(|M;e zmfBk=A_?y#Bo0TNcC?e5TUMx?_bRw>cyd1E6z=Vd*rD@X*e+ct7k4^d8>pW(UNivl zU@4(<{X0X!D&7bPx5zP+Q@`PU2f9^{Ci)3!RMT|7Q`Hpoqn^6qP+Psqee|aRrs0dNWCD zlTBJuHd_Vnxfzf`CQ3ThEp~0wIxtcGxgXPfMHUMAF5B^cv5V);UQwI3@+4 zho$rV)l$ZdRPLQEZ`zgm*0lCiymiQfrZQg(in-)eUz33QX1i(M`*(8MU#YqqtC z^QD&!l8vkqFuIEner4KJu|D7^;h|mejCz+*vyT~`nkw7cLpO|sb(3V`hr+C5i8kVM zIX|upqt;qR!sG*e+q7yc*44WV96T%YNQr^gMS%X~=i4T=2T4E=@>b_bKh7)Co(Zhl ziwKg>2znJL*?0zF%59%g;t3D+C`(7nqC-XSai1{+aUF1w9&QqpKX%_YklOe)Xo}CLkfz5?h-uxV zDt`lK-?LJ~NRvX&KJdrF=YYyMS0;fLH13zg-6M+@tba|%7CnNMNfD6y?E10(_JzfO zG^6m8GVoL_RHNWPeP1YuDxX7jm@YTjecMJYh!u*R=eW*)XaKpIjYCKlM04{9`9+Z9 z6fJ92y`KzHi(%@>eDY^0G-01v1*%BNu1g}jR`?aI^xn}(><3ZgiNrUi(dRz z3Ep6Vae_er0IvBUkSJ4c{6{2L^Sje9Y#oRt`Z@HdJDB70K{#y>EX&Vh!>ODuEY2T! zNRO%TZCswTxnc6e6fLugJ_76mKA*rZX&wCS+@@;OqgIzIbH!fjdL0q%t-F9bZkUk8 zCeA(GbX$*9=EgMEO(dxh1n~ii%r-xS`#tUjd)Kd{r#b!!mvpEMPQyV~EIQ7d`q>Y3 z?T-GJaX&I`T2-)|EP)0000#P)t-sz`(#8 z8yhVxEhZ)=|H}Xyj z0I;yIz`($#milb~0004WQchCV=-0C=2@(mM*n zFboFZ**=9y_R`ndr6iOL%@u;cPGp)yL3Ueu`{uC~inU4bS>{K|&9%H$wJGkEemM@F zMsqRe-CnD=w-M*&bkqu+?=Wsnh!EXeW*w6sn>N$RdJfAoty+e`E%o8o4M~R%tYF;A z0s>D`Ec|+#nZ|tsEKw~{6flI*3Rv&Dq@sC+J$xE`hDQ>!CUDiDPoXbo$uZhHU!f4!jD-Fr9A z8Cya`J#U_VXofIwL{u2CX$T?YRfx#eMW`Ba&QT#9aXx;ikdC~$H?|=_I>p>O1=0}L zzPHo|Ai~QSA%qY@2qDkM`}nNpy>1up;@@HY+xP@9PXkJ@fd1lxZVk~~vwxemZGklw z&ifxuPmt<&K?S^E1vdAei?~$6f(|P8PY5A|5JCtcMX)9ot(nIa_I>*|;$tM>1nKv| zu*3Xo_n(3ryq-dW2udJnzzdYniodDef3m{^6vT^v(~^jLiv{rD5aRfo_5K&rNO}K$ zMFE|94CkNY0>b#4>iy3tj3%x(@;QIp#Buyh?f%zwl3wlUqrn@Uq;Zw0-M>x13Qq;h za!|Q{LI@#*5JCtcgb+dqA%qY@PQm8!H<|uRvw8eYrvK7x9)FYRzc{;(|0&JZ@i*E2 zOS5(SO|Jj)Y#o1->%Tl($KP!2|0FC+%&nz#cHU!Ii3y$4|Q>dBA= zF_ykNF%N2Ny5mQE$U`^%_|2*5t`7oTyG=?`EB)Vcbp0mfAcPP?2qAI2q9$<7qlCN5X{?sd3WI**@M1l zdM~K!c2{j1ApARRpC`3{J&z+OR5bSk2$ad` z1u($ZK!e(!0iV$Q-%yo|J)<0DkP1qTS*P6et)57w4jUx``G8So1zdp1gjQZQ%47BUU>h-xlAXv{CcYT&0Cq^?1)mHx*Hdoo|h_FC&7yYd!Ch#G+ z2JXfFIscG5W^@%%t%$fOXipIQA}eKG|SBT1S#-S&E#f4{CD;@CdSUt0pf`>}O}&#Yp; zLh2!2Gxcuv0AjOoZn^&uiJLKDbd4|Wo?VZr)m z_+NxJLnvsm;Hgk1C)k31v8;r=Q=mItx1>aO9jcgk`4(T9O<6HR`tW|Pz4N8%Ciytw zPKjR%gFc}?Uwb?_qdtTXLI^3!n(?HiZAkwZgLS*N=Z$FpY1Zrw1cR{;Es)5%9hguu zBaf9X2qAu;_9z3Y{;D9{}SH-3k#ZwY>Od;wMKSvd)A7bU*^fxT^Btx{%DYRv8;`%WqIjBPY;D5EC zVQIn7wV7;F6I#weLO=S;<){LUO}Mupt%8$&Q66m)T4DzN5)lC}Bj^IPD$$DVhfW#7Ob8)_5JCt!Ja{~$ zeEd!A0Xjq9gK_Ed@i*B2=7eDY!42i(Z?OLgfB`Zuh`*^lKqsUMj{R~4Ul4x-{ntQ9 z(J^DcyrSp@@i)+a4NSo?URiSWg7_QgzXn1opZ8h;i^ty>{wqN65iA~mWB9KCi3JRL z0ZYfT5}I!W~^Tt5B=`>%lc z2x`{y@i*9i4fGdqgkKPU1N~P443K$2{7vBioqUQfm$Jr#O8X~-5JJwwzfdSFwwQ57 Q5&!@I07*qoM6N<$f;e~Y$^ZZW literal 4419 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 diff --git a/icons/mob/human_races/r_def_tajaran.dmi b/icons/mob/human_races/r_def_tajaran.dmi index 1e7da69c495e09f7d3acd84a3c38d74a42ec00d5..e62f4228fc61c96a28683b52f9d44f378689994f 100644 GIT binary patch delta 1821 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 V=ZQ%M_zym$^_Q+%naZQE{{U)u+jal| literal 8152 zcma)gbx<7dwr%5XA!u-dLy#Z|t|1WIgAD|C32p-kPOtzWxJ=LxAZXCREeR6bJ-7@G zGca%X-Ft4mck0}#_eWP(?e6}1_3FLXUi*vD(oiPCr^N>VfJo(~q7DF{F`*6s7aJ8J z=l|M(I<*Jr8F?w%ytVRlaQAX>a|Hmu?D#(t#NAAU*ef&|VISLeoep%^%7ugtWj}?6 zX7+q6_!a>FE8@+$K2hTzcxt-z)KXqvWqwYS;Yeb)Bf7 zT#fE)uW-wW%A_vL*i%6+x=xF&o8!I6ic?BLtA(zU@c^P8ZDK*e&rxFnMs6(?T@GVX zL3Q9hWlC}$Y}gx8e(djW9)F4ca59qb4L<7zv47|@_@*&R5u6!vo6YSc$mJwdBiYk+8wAmVB$m_x3 z*qQoBT$TDP{fR?vyq6R%nZk;y6d%1HW(BHal?KD**70*LVm{w>S>(|TV)DJ*JJ772 zegOY!ZQB}N*b-Y8>|AfU9QJEx#A~~@{JY>g(zfh-6nvSpzPGc(3;@+~r1}65iej8e z766W4*9BkwfS6y39h}RB0zh9+N&CU-&gE^QL~kr9CN7{=cO`&mHzIq7df+dwG+6AI z{$_g0aKY+33nm&mU@F%AzJ#-N`$d2#qQ;LZsejDx9ebr|zCf`B0GJ(bM=Hya*JV&D zKN%ayh16ZO6UhgC(z-ga?0QHDSSW_e?=?IK7GsymlAKjH3daVh$qTYcG8-P=nvgO9 zp(6JPaY+FH9TNah0RV;PAJq3TSrl4*PFc{!?G)bBlN{Lf#AMtVba+vE5v%>_RW3PR z)W)77f>X)r(Z(JuM&$-tCK2RbWA=(gWhZjmqHJeNATr zU+kc?qEA#Rmdd??HL<%^}c$CBZe_E9@*UVHSpJV^BM}Fb^f+G(442tIjnO9iXlaSlys{-R~B#FZc2Bu z3?fL4T5`FK?C1|i(EUiP`| zM*2M-C zZ$XpjJrrh*mVv`|i1ve08k~oYL4^Ivf@8P~tuqWicw_c`+4ln<$#fs7d&_QuK?3q# zn?ZedhPeXl@{@}%x;D{wtV|@7l-E-Nq%pWx@HKkO+i1Se^JWOZB6`hE~foasYCXqmKczIEEAW& zl9O3|2M1 zOK?NM3+8M3E=BquEKG`=Tu;zL6xLGQpaxemeC6}}6$$AvNRIx<`gukQQF+Q+&^h`S z+OQzOPAMIPQ**yxXPcpHid<(Kgme;D9dvD*Z8uK&^Wy0HT(k?Ek(!ce{s)n|(&Md} zAJ`JBgmCP2wD&@1GIs0sGv<`uki8e7mCL;v_5dZR_+ezTFNmBP4GkcS)hY*gutD??(FR9g}6kHE3@J$88Kx|OAR!Nj1*XD zrXepJ(?Mr`)Qu9EYOOF-PX9|t?pMASlKVXW|EY)nQJw#*M*b(pB#SjmC-wJO@OePO zo#zIh_&7|L(Ubtd9N^sfuDPO(dV?*^0XS`Uo*_~UEfkmyD*>S@Es5e@LC|#t{z0H6 zg6?IZ%qZmtO^hVI_ydl+-EOWmpbGyh-`S<>6Vf{3 z#rO-Ketw5$fx}RCHSLmCn9SXIqyihfdm`e@4?l$-!zcure?-l}>M-m=u5B zW4AzQEv;fH9r!EV|4t+m$x;cKaihL8;ZI9BYWhZv$q-Uvi7w4M&D{NlfVio^B~b>7 zW9btu;&U`6*(q(on7JE9U)5QfAGK*#t&oX`#2%HZR2JDa&|bfcJGOx�>LfPvH}W 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

fabuum*CGz{b~N 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 literal 5987 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 N002ovPDHLkV1l(SbgBRV literal 4848 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 diff --git a/nano/templates/appearance_changer.tmpl b/nano/templates/appearance_changer.tmpl index 886076f21d2..47a3ce113e2 100644 --- a/nano/templates/appearance_changer.tmpl +++ b/nano/templates/appearance_changer.tmpl @@ -23,7 +23,7 @@ {{/if}} -{{if data.change_eye_color || data.change_skin_tone || data.change_skin_color || data.change_head_accessory_color || data.change_hair_color || data.change_facial_hair_color || data.change_marking_color}} +{{if data.change_eye_color || data.change_skin_tone || data.change_skin_color || data.change_head_accessory_color || data.change_hair_color || data.change_facial_hair_color || data.change_head_marking_color || data.change_body_marking_color || data.change_tail_marking_color}}
Colors: @@ -44,11 +44,23 @@ {{if data.change_hair_color}} {{:helper.link('Change hair color', null, { 'hair_color' : 1})}} {{/if}} + {{if data.change_secondary_hair_color}} + {{:helper.link('Change secondary hair color', null, { 'secondary_hair_color' : 1})}} + {{/if}} {{if data.change_facial_hair_color}} {{:helper.link('Change facial hair color', null, { 'facial_hair_color' : 1})}} {{/if}} - {{if data.change_marking_color}} - {{:helper.link('Change marking color', null, { 'marking_color' : 1})}} + {{if data.change_secondary_facial_hair_color}} + {{:helper.link('Change secondary facial hair color', null, { 'secondary_facial_hair_color' : 1})}} + {{/if}} + {{if data.change_head_marking_color}} + {{:helper.link('Change head marking color', null, { 'head_marking_color' : 1})}} + {{/if}} + {{if data.change_body_marking_color}} + {{:helper.link('Change body marking color', null, { 'body_marking_color' : 1})}} + {{/if}} + {{if data.change_tail_marking_color}} + {{:helper.link('Change tail marking color', null, { 'tail_marking_color' : 1})}} {{/if}}
@@ -93,14 +105,40 @@ {{/if}} -{{if data.change_markings}} +{{if data.change_head_markings}}
- Marking styles: + Head Marking styles:
- {{for data.marking_styles}} - {{:helper.link(value.markingstyle, null, { 'marking' : value.markingstyle}, null, data.marking_style == value.markingstyle ? 'selected' : null)}} + {{for data.head_marking_styles}} + {{:helper.link(value.headmarkingstyle, null, { 'head_marking' : value.headmarkingstyle}, null, data.head_marking_style == value.headmarkingstyle ? 'selected' : null)}} + {{/for}} +
+
+{{/if}} + +{{if data.change_body_markings}} +
+
+ Body Marking styles: +
+
+ {{for data.body_marking_styles}} + {{:helper.link(value.bodymarkingstyle, null, { 'body_marking' : value.bodymarkingstyle}, null, data.body_marking_style == value.bodymarkingstyle ? 'selected' : null)}} + {{/for}} +
+
+{{/if}} + +{{if data.change_tail_markings}} +
+
+ Tail Marking styles: +
+
+ {{for data.tail_marking_styles}} + {{:helper.link(value.tailmarkingstyle, null, { 'tail_marking' : value.tailmarkingstyle}, null, data.tail_marking_style == value.tailmarkingstyle ? 'selected' : null)}} {{/for}}
@@ -118,3 +156,16 @@ {{/if}} + +{{if data.change_alt_head}} +
+
+ Alternate Heads: +
+
+ {{for data.alt_head_styles}} + {{:helper.link(value.altheadstyle, null, { 'alt_head' : value.altheadstyle}, null, data.alt_head_style == value.altheadstyle ? 'selected' : null)}} + {{/for}} +
+
+{{/if}} From 9554428c5927bd8588c50b9228dbe4c9a58154d5 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Tue, 9 Aug 2016 23:04:39 -0400 Subject: [PATCH 02/48] Adds Tiger-stripe Tattoo, Tattoo-gun Species handling and Jacket-friendly Version of Existing Vox Hairstyle. Adds allowed species list to the Campbell circuitry tattoo. The tattoo sprite only fit the bodies of Species in the list anyway. Adds Jacket-friendly Version of Existing Vox Hairstyle --- code/modules/customitems/item_defines.dm | 9 +++++++-- .../mob/new_player/sprite_accessories.dm | 11 +++++++++++ icons/mob/human_face.dmi | Bin 71679 -> 71677 bytes 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 07f8d6b7931..a6dca0c51cb 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -14,7 +14,7 @@ var/used = 0 /obj/item/device/fluff/tattoo_gun // Generic tattoo gun, make subtypes for different folks - name = "dispoable tattoo pen" + name = "disposable tattoo pen" desc = "A cheap plastic tattoo application pen." icon = 'icons/obj/custom_items.dmi' icon_state = "tatgun" @@ -22,7 +22,7 @@ throwforce = 0 w_class = 1 var/tattoo_name = "tiger stripe tattoo" // Tat name for visible messages - var/tattoo_icon = "Tiger Body" // body_accessory.dmi, new icons defined in sprite_accessories.dm + var/tattoo_icon = "Tiger-stripe Tattoo" // body_accessory.dmi, new icons defined in sprite_accessories.dm var/tattoo_r = 1 // RGB values for the body markings var/tattoo_g = 1 var/tattoo_b = 1 @@ -52,6 +52,11 @@ to_chat(user, "[target] already has body markings, any more would look silly!") return + var/datum/sprite_accessory/body_markings/tattoo/temp_tatt = marking_styles_list[tattoo_icon] + if(!(target.species.name in temp_tatt.species_allowed)) + to_chat(user, "You can't think of a way to make the [tattoo_name] design work on [target == user ? "your" : "[target]'s"] body type.") + return + if(target == user) to_chat(user, "You use the [src] to apply a [tattoo_name] to yourself!") diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 21a4dab150b..958cfa351f2 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -960,6 +960,11 @@ icon_state = "vox_razor" species_allowed = list("Vox") + vox_razor_clipped + name = "Clipped Vox Razorback" + icon_state = "vox_razor_clipped" + species_allowed = list("Vox") + // Apollo-specific //Wryn antennae @@ -2238,8 +2243,14 @@ /datum/sprite_accessory/body_markings/tattoo/elliot name = "Elliot Circuit Tattoo" + species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") icon_state = "campbell_tattoo" +/datum/sprite_accessory/body_markings/tattoo/tiger_body + name = "Tiger-stripe Tattoo" + species_allowed = list("Human", "Unathi", "Vulpkanin", "Tajaran", "Skrell") + icon_state = "markings_tiger" + /datum/sprite_accessory/body_markings/tattoo/heart name = "Heart Tattoo" species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 410a187e8bfc22f1a553c078b19d3349c036838c..ec25c171b98766660cb9d1b6848e9de5a217d3f8 100644 GIT binary patch delta 47021 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

V+eozn>;+>zt~noemR&60f{E5JzjAn&WBZCdLF6 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 delta 47024 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ĖO<0tVyqYi_qzXG-*l6 z2TsHJ!%4VMXUroSvmjiX=?>SsmT~c0KMb9a3vR<(okjd%&w^mFs(sm&58ipn`8?6_ z@$pydEj7qFBHUxb!T3G5YCIz$VCOg#NJ4DS5*hQ*0+=Gn%Xx{8(${9at2YQ|Yn^S2 zFXEE^PGueha;+Re&pVMqv&!St<{9YLO05BoI&cH2ggc#sv1ae~P$&|tRL;tm4L-u! zqkKgp0aq8SMST4Xk2i(EWp$ie7CN@}vou%ssdSiIr>1rgpHFNDF`g&UoXnX9lKwcW zd1%Pl3)1vmwbN7u0<6^ZRyigNknlFd?YF%=06Z~#{;9OC;sWpR$`k%=u;4ev|1@#` m6*vF3djA85jQ$(fXN$z)mYUyB;} Date: Fri, 12 Aug 2016 22:23:17 -0400 Subject: [PATCH 03/48] Overhaul, adds color2R/G/B helper procs, adds marking/head accessory/body accessory (colours included) randomization in char prefs. Color2R/G/B helper procs and PR overhaul suggested/co-authored by Krausus. --- code/__DEFINES/flags.dm | 1 + code/__HELPERS/game.dm | 17 -- code/__HELPERS/mobs.dm | 167 ++++++++++--- code/__HELPERS/type2type.dm | 23 +- code/datums/datacore.dm | 10 +- code/game/dna/dna2.dm | 30 +-- code/game/dna/dna2_helpers.dm | 43 ++-- code/game/dna/genes/vg_powers.dm | 37 ++- code/game/gamemodes/nuclear/nuclear.dm | 18 +- code/game/machinery/dye_generator.dm | 18 +- code/game/response_team.dm | 18 +- code/modules/client/preference/preferences.dm | 226 +++++++----------- .../client/preference/preferences_mysql.dm | 14 +- code/modules/customitems/item_defines.dm | 19 +- code/modules/lighting/light_source.dm | 8 +- .../mob/living/carbon/human/appearance.dm | 55 ++--- code/modules/mob/living/carbon/human/human.dm | 38 ++- .../mob/living/carbon/human/human_defines.dm | 17 +- .../living/carbon/human/species/station.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 38 +-- .../mob/new_player/preferences_setup.dm | 78 ++++-- .../mob/new_player/sprite_accessories.dm | 1 - code/modules/nano/modules/human_appearance.dm | 63 +++-- code/modules/surgery/limb_reattach.dm | 8 +- code/modules/surgery/organs/organ_icon.dm | 7 +- icons/mob/eyes.dmi | Bin 11894 -> 11881 bytes 26 files changed, 485 insertions(+), 471 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index e7966690a8e..61bc32d378e 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -62,6 +62,7 @@ #define HAS_HEAD_MARKINGS 512 #define HAS_BODY_MARKINGS 1024 #define HAS_TAIL_MARKINGS 2048 +#define HAS_MARKINGS HAS_HEAD_MARKINGS|HAS_BODY_MARKINGS|HAS_TAIL_MARKINGS #define TAIL_WAGGING 4096 #define NO_EYES 8192 #define HAS_FUR 16384 diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 5c11daabdba..2f551752ef7 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -401,23 +401,6 @@ mobs_found += M return mobs_found -/proc/GetRedPart(const/hexa) - return hex2num(copytext(hexa,2,4)) - -/proc/GetGreenPart(const/hexa) - return hex2num(copytext(hexa,4,6)) - -/proc/GetBluePart(const/hexa) - return hex2num(copytext(hexa,6,8)) - -/proc/GetHexColors(const/hexa) - return list( - GetRedPart(hexa), - GetGreenPart(hexa), - GetBluePart(hexa) - ) - - /proc/alone_in_area(var/area/the_area, var/mob/must_be_alone, var/check_type = /mob/living/carbon) var/area/our_area = get_area_master(the_area) for(var/C in living_mob_list) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 889a0824f35..f7a38cce758 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -1,3 +1,15 @@ +proc/GetOppositeDir(var/dir) + switch(dir) + if(NORTH) return SOUTH + if(SOUTH) return NORTH + if(EAST) return WEST + if(WEST) return EAST + if(SOUTHWEST) return NORTHEAST + if(NORTHWEST) return SOUTHEAST + if(NORTHEAST) return SOUTHWEST + if(SOUTHEAST) return NORTHWEST + return 0 + proc/random_underwear(gender, species = "Human") var/list/pick_list = list() switch(gender) @@ -34,57 +46,140 @@ proc/pick_species_allowed_underwear(list/all_picks, species) return pick(valid_picks) -proc/random_hair_style(var/gender, species = "Human") +proc/random_hair_style(var/gender, species = "Human", var/robot_head) var/h_style = "Bald" - var/list/valid_hairstyles = list() for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] - if(gender == MALE && S.gender == FEMALE) - continue - if(gender == FEMALE && S.gender == MALE) - continue - if( !(species in S.species_allowed)) - continue - valid_hairstyles[hairstyle] = hair_styles_list[hairstyle] + if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + continue + if(species == "Machine") //If the user is a species who can have a robotic head... + var/datum/robolimb/robohead = all_robolimbs["[!robot_head ? "Morpheus Cyberkinetics" : robot_head]"] + if(species in S.species_allowed) //If this is a facial hair style native to the user's species... + if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_hairstyles += hairstyle //Give them their hairstyles if they do. + continue + else //If they don't have the default head, they shouldn't be getting any hairstyles they wouldn't normally. + continue + else + if(robohead.is_monitor) //If the hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + continue + else + if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the hairstyle can fit humans, let them use it as a wig. + valid_hairstyles += hairstyle + continue + else //If the user is not a species who can have robotic heads, use the default handling. + if(!(species in S.species_allowed)) //If the user's head is not of a species the hairstyle allows, skip it. Otherwise, add it to the list. + continue + valid_hairstyles += hairstyle if(valid_hairstyles.len) h_style = pick(valid_hairstyles) - return h_style + return h_style -proc/GetOppositeDir(var/dir) - switch(dir) - if(NORTH) return SOUTH - if(SOUTH) return NORTH - if(EAST) return WEST - if(WEST) return EAST - if(SOUTHWEST) return NORTHEAST - if(NORTHWEST) return SOUTHEAST - if(NORTHEAST) return SOUTHWEST - if(SOUTHEAST) return NORTHWEST - return 0 - -proc/random_facial_hair_style(var/gender, species = "Human") +proc/random_facial_hair_style(var/gender, species = "Human", var/robot_head) var/f_style = "Shaved" - - var/list/valid_facialhairstyles = list() + var/list/valid_facial_hairstyles = list() for(var/facialhairstyle in facial_hair_styles_list) var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] - if(gender == MALE && S.gender == FEMALE) - continue - if(gender == FEMALE && S.gender == MALE) - continue - if( !(species in S.species_allowed)) - continue - valid_facialhairstyles[facialhairstyle] = facial_hair_styles_list[facialhairstyle] + if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + continue + if(species == "Machine") //If the user is a species who can have a robotic head... + var/datum/robolimb/robohead = all_robolimbs["[!robot_head ? "Morpheus Cyberkinetics" : robot_head]"] + if(species in S.species_allowed) //If this is a facial hair style native to the user's species... + if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_facial_hairstyles += facialhairstyle //Give them their facial hair styles if they do. + continue + else //If they don't have the default head, they shouldn't be getting any facial hair styles they wouldn't normally. + continue + else + if(robohead.is_monitor) //If the facial hair style is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + continue + else + if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the facial hair style can fit humans, let them use it as a postiche. + valid_facial_hairstyles += facialhairstyle + continue + else //If the user is not a species who can have robotic heads, use the default handling. + if(!(species in S.species_allowed)) //If the user's head is not of a species the facial hair style allows, skip it. Otherwise, add it to the list. + continue + valid_facial_hairstyles += facialhairstyle - if(valid_facialhairstyles.len) - f_style = pick(valid_facialhairstyles) + if(valid_facial_hairstyles.len) + f_style = pick(valid_facial_hairstyles) - return f_style + return f_style + +proc/random_head_accessory(species = "Human") + var/ha_style = "None" + var/list/valid_head_accessories = list() + for(var/head_accessory in head_accessory_styles_list) + var/datum/sprite_accessory/S = head_accessory_styles_list[head_accessory] + + if(!(species in S.species_allowed)) + continue + valid_head_accessories += head_accessory + + if(valid_head_accessories.len) + ha_style = pick(valid_head_accessories) + + return ha_style + +proc/random_marking_style(var/location = "body", species = "Human", var/robot_head, var/body_accessory, var/alt_head) + var/m_style = "None" + var/list/valid_markings = list() + for(var/marking in marking_styles_list) + var/datum/sprite_accessory/body_markings/S = marking_styles_list[marking] + if(S.name == "None") + valid_markings += marking + continue + if(S.marking_location != location) //If the marking isn't for the location we desire, skip. + continue + if(!(species in S.species_allowed)) //If the user's head is not of a species the marking style allows, skip it. Otherwise, add it to the list. + continue + if(location == "tail") + if(!body_accessory) + if(S.tails_allowed) + continue + else + if(!S.tails_allowed || !(body_accessory in S.tails_allowed)) + continue + if(location == "head") + var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[S.name] + if(species == "Machine")//If the user is a species that can have a robotic head... + var/datum/robolimb/robohead = all_robolimbs[robot_head] + if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. + continue + else if(alt_head && alt_head != "None") //If the user's got an alt head, validate markings for that head. + if(!(alt_head in M.heads_allowed)) + continue + else + if(M.heads_allowed) + continue + valid_markings += marking + + if(valid_markings.len) + m_style = pick(valid_markings) + + return m_style + +proc/random_body_accessory(species = "Vulpkanin") + var/body_accessory = null + var/list/valid_body_accessories = list() + for(var/B in body_accessory_by_name) + var/datum/body_accessory/A = body_accessory_by_name[B] + if(!istype(A)) + valid_body_accessories += "None" //The only null entry should be the "None" option. + continue + if(species in A.allowed_species) //If the user is not of a species the body accessory style allows, skip it. Otherwise, add it to the list. + valid_body_accessories += B + + if(valid_body_accessories.len) + body_accessory = pick(valid_body_accessories) + + return body_accessory proc/random_name(gender, species = "Human") @@ -301,7 +396,7 @@ proc/add_logs(mob/target, mob/user, what_done, var/object=null, var/addition=nul var/mob/living/L = M var/status switch(M.stat) - if(CONSCIOUS) + if(CONSCIOUS) status = "Alive" if(UNCONSCIOUS) status = "Unconscious" diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 005ef4c2fc9..fac97347e80 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -10,7 +10,7 @@ //Returns an integer given a hex input /proc/hex2num(hex) - if(!( istext(hex) )) + if(!(istext(hex))) return var/num = 0 @@ -59,6 +59,27 @@ hex = "0[hex]" return hex || "0" +//Returns an integer value for R of R/G/B given a hex color input. +/proc/color2R(hex) + if(!(istext(hex))) + return + + return hex2num(copytext(hex, 2, 4)) //Returning R + +//Returns an integer value for G of R/G/B given a hex color input. +/proc/color2G(hex) + if(!(istext(hex))) + return + + return hex2num(copytext(hex, 4, 6)) //Returning G + +//Returns an integer value for B of R/G/B given a hex color input. +/proc/color2B(hex) + if(!(istext(hex))) + return + + return hex2num(copytext(hex, 6, 8)) //Returning B + /proc/text2numlist(text, delimiter="\n") var/list/num_list = list() for(var/x in splittext(text, delimiter)) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index ea1a82fc6fd..fed9072e970 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -222,21 +222,19 @@ proc/get_id_photo(var/mob/living/carbon/human/H) //Markings if((H.species.bodyflags & HAS_HEAD_MARKINGS) || (H.species.bodyflags & HAS_BODY_MARKINGS)) - var/list/marking_styles = params2list(H.m_styles) - var/list/marking_colours = params2list(H.m_colours) if(H.species.bodyflags & HAS_BODY_MARKINGS) //Body markings. - var/body_marking = marking_styles["body"] + var/body_marking = H.m_styles["body"] var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] if(body_marking_style && body_marking_style.species_allowed) var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") - b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) + b_marking_s.Blend(H.m_colours["body"], ICON_ADD) face_s.Blend(b_marking_s, ICON_OVERLAY) if(H.species.bodyflags & HAS_HEAD_MARKINGS) //Head markings. - var/head_marking = marking_styles["head"] + var/head_marking = H.m_styles["head"] var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] if(head_marking_style && head_marking_style.species_allowed) var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + h_marking_s.Blend(H.m_colours["head"], ICON_ADD) face_s.Blend(h_marking_s, ICON_OVERLAY) preview_icon.Blend(face_s, ICON_OVERLAY) diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 114fcb1598f..8aa368eedcb 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -163,15 +163,11 @@ var/global/list/bad_blocks[0] // Markings if(!character.m_styles) - character.m_styles = "head=None;\ - body=None;\ - tail=None" + character.m_styles = initial(character.m_styles) - var/list/marking_styles = params2list(character.m_styles) - var/list/marking_colours = params2list(character.m_colours) - var/head_marks = marking_styles_list.Find(marking_styles["head"]) - var/body_marks = marking_styles_list.Find(marking_styles["body"]) - var/tail_marks = marking_styles_list.Find(marking_styles["tail"]) + var/head_marks = marking_styles_list.Find(character.m_styles["head"]) + var/body_marks = marking_styles_list.Find(character.m_styles["body"]) + var/tail_marks = marking_styles_list.Find(character.m_styles["tail"]) SetUIValueRange(DNA_UI_HAIR_R, H.r_hair, 255, 1) SetUIValueRange(DNA_UI_HAIR_G, H.g_hair, 255, 1) @@ -193,17 +189,17 @@ var/global/list/bad_blocks[0] SetUIValueRange(DNA_UI_HACC_G, H.g_headacc, 255, 1) SetUIValueRange(DNA_UI_HACC_B, H.b_headacc, 255, 1) - SetUIValueRange(DNA_UI_HEAD_MARK_R, hex2num(copytext(marking_colours["head"], 2, 4)), 255, 1) - SetUIValueRange(DNA_UI_HEAD_MARK_G, hex2num(copytext(marking_colours["head"], 4, 6)), 255, 1) - SetUIValueRange(DNA_UI_HEAD_MARK_B, hex2num(copytext(marking_colours["head"], 6, 8)), 255, 1) + SetUIValueRange(DNA_UI_HEAD_MARK_R, color2R(character.m_colours["head"]), 255, 1) + SetUIValueRange(DNA_UI_HEAD_MARK_G, color2G(character.m_colours["head"]), 255, 1) + SetUIValueRange(DNA_UI_HEAD_MARK_B, color2B(character.m_colours["head"]), 255, 1) - SetUIValueRange(DNA_UI_BODY_MARK_R, hex2num(copytext(marking_colours["body"], 2, 4)), 255, 1) - SetUIValueRange(DNA_UI_BODY_MARK_G, hex2num(copytext(marking_colours["body"], 4, 6)), 255, 1) - SetUIValueRange(DNA_UI_BODY_MARK_B, hex2num(copytext(marking_colours["body"], 6, 8)), 255, 1) + SetUIValueRange(DNA_UI_BODY_MARK_R, color2R(character.m_colours["body"]), 255, 1) + SetUIValueRange(DNA_UI_BODY_MARK_G, color2G(character.m_colours["body"]), 255, 1) + SetUIValueRange(DNA_UI_BODY_MARK_B, color2B(character.m_colours["body"]), 255, 1) - SetUIValueRange(DNA_UI_TAIL_MARK_R, hex2num(copytext(marking_colours["tail"], 2, 4)), 255, 1) - SetUIValueRange(DNA_UI_TAIL_MARK_G, hex2num(copytext(marking_colours["tail"], 4, 6)), 255, 1) - SetUIValueRange(DNA_UI_TAIL_MARK_B, hex2num(copytext(marking_colours["tail"], 6, 8)), 255, 1) + SetUIValueRange(DNA_UI_TAIL_MARK_R, color2R(character.m_colours["tail"]), 255, 1) + SetUIValueRange(DNA_UI_TAIL_MARK_G, color2G(character.m_colours["tail"]), 255, 1) + SetUIValueRange(DNA_UI_TAIL_MARK_B, color2B(character.m_colours["tail"]), 255, 1) SetUIValueRange(DNA_UI_SKIN_TONE, 35-character.s_tone, 220, 1) // Value can be negative. diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 9b0bd39dc9a..4e07171dfec 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -152,10 +152,9 @@ head_organ.g_headacc = dna.GetUIValueRange(DNA_UI_HACC_G, 255) head_organ.b_headacc = dna.GetUIValueRange(DNA_UI_HACC_B, 255) - var/list/marking_colours = params2list(H.m_colours) - marking_colours["head"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_B,255),2)]" - marking_colours["body"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_B,255),2)]" - marking_colours["tail"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_B,255),2)]" + H.m_colours["head"] = rgb(dna.GetUIValueRange(DNA_UI_HEAD_MARK_R, 255), dna.GetUIValueRange(DNA_UI_HEAD_MARK_G, 255), dna.GetUIValueRange(DNA_UI_HEAD_MARK_B, 255)) + H.m_colours["body"] = rgb(dna.GetUIValueRange(DNA_UI_BODY_MARK_R, 255), dna.GetUIValueRange(DNA_UI_BODY_MARK_G, 255), dna.GetUIValueRange(DNA_UI_BODY_MARK_B, 255)) + H.m_colours["tail"] = rgb(dna.GetUIValueRange(DNA_UI_TAIL_MARK_R, 255), dna.GetUIValueRange(DNA_UI_TAIL_MARK_G, 255), dna.GetUIValueRange(DNA_UI_TAIL_MARK_B, 255)) H.update_eyes() @@ -167,18 +166,18 @@ H.change_gender(MALE, 0) //Hair - var/hair = dna.GetUIValueRange(DNA_UI_HAIR_STYLE,hair_styles_list.len) - if((0 < hair) && (hair <= hair_styles_list.len)) + var/hair = dna.GetUIValueRange(DNA_UI_HAIR_STYLE, hair_styles_list.len) + if((hair > 0) && (hair <= hair_styles_list.len)) head_organ.h_style = hair_styles_list[hair] //Facial Hair - var/beard = dna.GetUIValueRange(DNA_UI_BEARD_STYLE,facial_hair_styles_list.len) - if((0 < beard) && (beard <= facial_hair_styles_list.len)) + var/beard = dna.GetUIValueRange(DNA_UI_BEARD_STYLE, facial_hair_styles_list.len) + if((beard > 0) && (beard <= facial_hair_styles_list.len)) head_organ.f_style = facial_hair_styles_list[beard] //Head Accessories - var/headacc = dna.GetUIValueRange(DNA_UI_HACC_STYLE,head_accessory_styles_list.len) - if((0 < headacc) && (headacc <= head_accessory_styles_list.len)) + var/headacc = dna.GetUIValueRange(DNA_UI_HACC_STYLE, head_accessory_styles_list.len) + if((headacc > 0) && (headacc <= head_accessory_styles_list.len)) head_organ.ha_style = head_accessory_styles_list[headacc] var/number_head_marks = 0 @@ -194,23 +193,17 @@ number_tail_marks++ //Head Markings - var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE,marking_styles_list.len) - if((0 < head_marks) && (head_marks <= number_head_marks)) - var/list/marking_styles = params2list(H.m_styles) - marking_styles["head"] = marking_styles_list[head_marks] - H.m_styles = list2params(marking_styles) + var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE, marking_styles_list.len) + if((head_marks > 0) && (head_marks <= number_head_marks)) + H.m_styles["head"] = marking_styles_list[head_marks] //Body Markings - var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE,marking_styles_list.len) - if((0 < body_marks) && (body_marks <= number_body_marks)) - var/list/marking_styles = params2list(H.m_styles) - marking_styles["body"] = marking_styles_list[body_marks] - H.m_styles = list2params(marking_styles) + var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE, marking_styles_list.len) + if((body_marks > 0) && (body_marks <= number_body_marks)) + H.m_styles["body"] = marking_styles_list[body_marks] //Tail Markings - var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE,marking_styles_list.len) - if((0 < tail_marks) && (tail_marks <= number_tail_marks)) - var/list/marking_styles = params2list(H.m_styles) - marking_styles["tail"] = marking_styles_list[tail_marks] - H.m_styles = list2params(marking_styles) + var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE, marking_styles_list.len) + if((tail_marks > 0) && (tail_marks <= number_tail_marks)) + H.m_styles["tail"] = marking_styles_list[tail_marks] H.force_update_limbs() H.update_eyes() diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index 0f1c700a17f..796bbdb2b24 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -44,7 +44,7 @@ else M.change_gender(FEMALE) - var/new_eyes = input("Please select eye color.", "Character Generation", rgb(M.r_eyes,M.g_eyes,M.b_eyes)) as null|color + var/new_eyes = input("Please select eye color.", "Character Generation", rgb(M.r_eyes, M.g_eyes, M.b_eyes)) as null|color if(new_eyes) M.change_eye_color(M.r_eyes, M.g_eyes, M.b_eyes) @@ -65,12 +65,13 @@ var/new_hair = input("Please select hair color.", "Character Generation", rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair)) as null|color if(new_hair) - M.change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8))) + M.change_hair_color(color2R(new_hair), color2G(new_hair), color2B(new_hair)) var/datum/sprite_accessory/hair_style = hair_styles_list[head_organ.h_style] if(hair_style.secondary_theme && !hair_style.no_sec_colour) new_hair = input("Please select secondary hair color.", "Character Generation", rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec)) as null|color - M.change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8)), 1) + if(new_hair) + M.change_hair_color(color2R(new_hair), color2G(new_hair), color2B(new_hair), 1) // facial hair var/list/valid_facial_hairstyles = M.generate_valid_facial_hairstyles() @@ -81,12 +82,13 @@ var/new_facial = input("Please select facial hair color.", "Character Generation", rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial)) as null|color if(new_facial) - M.change_facial_hair_color(hex2num(copytext(new_facial, 2, 4)), hex2num(copytext(new_facial, 4, 6)), hex2num(copytext(new_facial, 6, 8))) + M.change_facial_hair_color(color2R(new_facial), color2G(new_facial), color2B(new_facial)) var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[head_organ.f_style] if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour) new_facial = input("Please select secondary facial hair color.", "Character Generation", rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec)) as null|color - M.change_facial_hair_color(hex2num(copytext(new_facial, 2, 4)), hex2num(copytext(new_facial, 4, 6)), hex2num(copytext(new_facial, 6, 8)), 1) + if(new_facial) + M.change_facial_hair_color(color2R(new_facial), color2G(new_facial), color2B(new_facial), 1) //Head accessory. if(head_organ.species.bodyflags & HAS_HEAD_ACCESSORY) @@ -97,7 +99,7 @@ var/new_head_accessory_colour = input("Please select head accessory colour.", "Character Generation", rgb(head_organ.r_headacc, head_organ.g_headacc, head_organ.b_headacc)) as null|color if(new_head_accessory_colour) - M.change_head_accessory_color(hex2num(copytext(new_head_accessory_colour, 2, 4)), hex2num(copytext(new_head_accessory_colour, 4, 6)), hex2num(copytext(new_head_accessory_colour, 6, 8))) + M.change_head_accessory_color(color2R(new_head_accessory_colour), color2G(new_head_accessory_colour), color2B(new_head_accessory_colour)) //Body accessory. if(M.species.tail && M.species.bodyflags & HAS_TAIL) @@ -109,41 +111,32 @@ //Head markings. if(M.species.bodyflags & HAS_HEAD_MARKINGS) - var/list/marking_styles = params2list(M.m_styles) var/list/valid_head_markings = M.generate_valid_markings("head") - var/new_marking = input("Please select head marking style", "Character Generation", marking_styles["head"]) as null|anything in valid_head_markings + var/new_marking = input("Please select head marking style", "Character Generation", M.m_styles["head"]) as null|anything in valid_head_markings if(new_marking) M.change_markings(new_marking, "head") - var/list/marking_colours = params2list(M.m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/new_marking_colour = input("Please select head marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as null|color + var/new_marking_colour = input("Please select head marking colour.", "Character Generation", M.m_colours["head"]) as null|color if(new_marking_colour) M.change_marking_color(new_marking_colour, "head") //Body markings. if(M.species.bodyflags & HAS_BODY_MARKINGS) - var/list/marking_styles = params2list(M.m_styles) var/list/valid_body_markings = M.generate_valid_markings("body") - var/new_marking = input("Please select body marking style", "Character Generation", marking_styles["body"]) as null|anything in valid_body_markings + var/new_marking = input("Please select body marking style", "Character Generation", M.m_styles["body"]) as null|anything in valid_body_markings if(new_marking) M.change_markings(new_marking, "body") - var/list/marking_colours = params2list(M.m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - var/new_marking_colour = input("Please select body marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as null|color + var/new_marking_colour = input("Please select body marking colour.", "Character Generation", M.m_colours["body"]) as null|color if(new_marking_colour) M.change_marking_color(new_marking_colour, "body") //Tail markings. if(M.species.bodyflags & HAS_TAIL_MARKINGS) - var/list/marking_styles = params2list(M.m_styles) var/list/valid_tail_markings = M.generate_valid_markings("tail") - var/new_marking = input("Please select tail marking style", "Character Generation", marking_styles["tail"]) as null|anything in valid_tail_markings + var/new_marking = input("Please select tail marking style", "Character Generation", M.m_styles["tail"]) as null|anything in valid_tail_markings if(new_marking) M.change_markings(new_marking, "tail") - var/list/marking_colours = params2list(M.m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - var/new_marking_colour = input("Please select tail marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as null|color + var/new_marking_colour = input("Please select tail marking colour.", "Character Generation", M.m_colours["tail"]) as null|color if(new_marking_colour) M.change_marking_color(new_marking_colour, "tail") @@ -175,7 +168,7 @@ if(M.species.bodyflags & HAS_SKIN_COLOR) var/new_body_colour = input("Please select body colour.", "Character Generation", rgb(M.r_skin, M.g_skin, M.b_skin)) as null|color if(new_body_colour) - M.change_skin_color(hex2num(copytext(new_body_colour, 2, 4)), hex2num(copytext(new_body_colour, 4, 6)), hex2num(copytext(new_body_colour, 6, 8))) + M.change_skin_color(color2R(new_body_colour), color2G(new_body_colour), color2B(new_body_colour)) M.update_dna() diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index a26f941188b..302b0975802 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -148,15 +148,15 @@ proc/issyndicate(mob/living/M as mob) if(prob(5)) facial_hair_style = pick(facial_hair_styles_list) - head_organ.r_facial = hex2num(copytext(hair_c, 2, 4)) - head_organ.g_facial = hex2num(copytext(hair_c, 4, 6)) - head_organ.b_facial = hex2num(copytext(hair_c, 6, 8)) - head_organ.r_hair = hex2num(copytext(hair_c, 2, 4)) - head_organ.g_hair = hex2num(copytext(hair_c, 4, 6)) - head_organ.b_hair = hex2num(copytext(hair_c, 6, 8)) - M.r_eyes = hex2num(copytext(eye_c, 2, 4)) - M.g_eyes = hex2num(copytext(eye_c, 4, 6)) - M.b_eyes = hex2num(copytext(eye_c, 6, 8)) + head_organ.r_facial = color2R(hair_c) + head_organ.g_facial = color2G(hair_c) + head_organ.b_facial = color2B(hair_c) + head_organ.r_hair = color2R(hair_c) + head_organ.g_hair = color2G(hair_c) + head_organ.b_hair = color2B(hair_c) + M.r_eyes = color2R(eye_c) + M.g_eyes = color2G(eye_c) + M.b_eyes = color2B(eye_c) M.s_tone = skin_tone head_organ.h_style = hair_style head_organ.f_style = facial_hair_style diff --git a/code/game/machinery/dye_generator.dm b/code/game/machinery/dye_generator.dm index 151478ddee6..73e590361a7 100644 --- a/code/game/machinery/dye_generator.dm +++ b/code/game/machinery/dye_generator.dm @@ -111,21 +111,21 @@ if(do_after(user, 50, target = H)) switch(what_to_dye) if("hair") - var/r_hair = hex2num(copytext(dye_color, 2, 4)) - var/g_hair = hex2num(copytext(dye_color, 4, 6)) - var/b_hair = hex2num(copytext(dye_color, 6, 8)) + var/r_hair = color2R(dye_color) + var/g_hair = color2G(dye_color) + var/b_hair = color2B(dye_color) if(H.change_hair_color(r_hair, g_hair, b_hair)) H.update_dna() if("facial hair") - var/r_facial = hex2num(copytext(dye_color, 2, 4)) - var/g_facial = hex2num(copytext(dye_color, 4, 6)) - var/b_facial = hex2num(copytext(dye_color, 6, 8)) + var/r_facial = color2R(dye_color) + var/g_facial = color2G(dye_color) + var/b_facial = color2B(dye_color) if(H.change_facial_hair_color(r_facial, g_facial, b_facial)) H.update_dna() if("body") - var/r_skin = hex2num(copytext(dye_color, 2, 4)) - var/g_skin = hex2num(copytext(dye_color, 4, 6)) - var/b_skin = hex2num(copytext(dye_color, 6, 8)) + var/r_skin = color2R(dye_color) + var/g_skin = color2G(dye_color) + var/b_skin = color2B(dye_color) if(H.change_skin_color(r_skin, g_skin, b_skin)) H.update_dna() user.visible_message("[user] finishes dying [M]'s [what_to_dye]!", "You finish dying [M]'s [what_to_dye]!") diff --git a/code/game/response_team.dm b/code/game/response_team.dm index abda62f9420..c6b51cecb57 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -167,15 +167,15 @@ var/ert_request_answered = 0 if(prob(5)) facial_hair_style = pick(facial_hair_styles_list) - head_organ.r_facial = hex2num(copytext(hair_c, 2, 4)) - head_organ.g_facial = hex2num(copytext(hair_c, 4, 6)) - head_organ.b_facial = hex2num(copytext(hair_c, 6, 8)) - head_organ.r_hair = hex2num(copytext(hair_c, 2, 4)) - head_organ.g_hair = hex2num(copytext(hair_c, 4, 6)) - head_organ.b_hair = hex2num(copytext(hair_c, 6, 8)) - M.r_eyes = hex2num(copytext(eye_c, 2, 4)) - M.g_eyes = hex2num(copytext(eye_c, 4, 6)) - M.b_eyes = hex2num(copytext(eye_c, 6, 8)) + head_organ.r_facial = color2R(hair_c) + head_organ.g_facial = color2G(hair_c) + head_organ.b_facial = color2B(hair_c) + head_organ.r_hair = color2R(hair_c) + head_organ.g_hair = color2G(hair_c) + head_organ.b_hair = color2B(hair_c) + M.r_eyes = color2R(eye_c) + M.g_eyes = color2G(eye_c) + M.b_eyes = color2B(eye_c) M.s_tone = skin_tone head_organ.h_style = hair_style head_organ.f_style = facial_hair_style diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 5f0d31f9c26..9b590651974 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -110,12 +110,16 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/r_headacc = 0 //Head accessory colour var/g_headacc = 0 //Head accessory colour var/b_headacc = 0 //Head accessory colour - var/m_styles = "head=None;\ - body=None;\ - tail=None" //Marking styles. - var/m_colours = "head=#000000;\ - body=#000000;\ - tail=#000000" //Marking colours. + var/list/m_styles = list( + "head" = "None", + "body" = "None", + "tail" = "None" + ) //Marking styles. + var/list/m_colours = list( + "head" = "#000000", + "body" = "#000000", + "tail" = "#000000" + ) //Marking colours. var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color var/g_hair = 0 //Hair color @@ -296,26 +300,17 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "Color [color_square(r_headacc, g_headacc, b_headacc)]
" if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) dat += "Head Markings: " - dat += "[marking_styles["head"]]" - dat += "Color [color_square(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))]
" + dat += "[m_styles["head"]]" + dat += "Color [color_square(color2R(m_colours["head"]), color2G(m_colours["head"]), color2B(m_colours["head"]))]
" if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) dat += "Body Markings: " - dat += "[marking_styles["body"]]" - dat += "Color [color_square(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))]
" + dat += "[m_styles["body"]]" + dat += "Color [color_square(color2R(m_colours["body"]), color2G(m_colours["body"]), color2B(m_colours["body"]))]
" if(species in list("Vox", "Vulpkanin")) //Species with tail markings. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) dat += "Tail Markings: " - dat += "[marking_styles["tail"]]" - dat += "Color [color_square(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))]
" + dat += "[m_styles["tail"]]" + dat += "Color [color_square(color2R(m_colours["tail"]), color2G(m_colours["tail"]), color2B(m_colours["tail"]))]
" dat += "Hair: " dat += "[h_style]" @@ -1216,43 +1211,41 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts species = input("Please select a species", "Character Generation", null) in new_species if(prev_species != species) + var/datum/robolimb/robohead + if(species == "Machine") + var/head_model = "[!rlimb_data["head"] ? "Morpheus Cyberkinetics" : rlimb_data["head"]]" + robohead = all_robolimbs[head_model] //grab one of the valid hair styles for the newly chosen species - var/list/valid_hairstyles = list() - for(var/hairstyle in hair_styles_list) - var/datum/sprite_accessory/S = hair_styles_list[hairstyle] - if(gender == MALE && S.gender == FEMALE) - continue - if(gender == FEMALE && S.gender == MALE) - continue - if(!(species in S.species_allowed)) - continue - - valid_hairstyles[hairstyle] = hair_styles_list[hairstyle] - - if(valid_hairstyles.len) - h_style = pick(valid_hairstyles) - else - //this shouldn't happen - h_style = hair_styles_list["Bald"] + h_style = random_hair_style(gender, species, robohead) //grab one of the valid facial hair styles for the newly chosen species - var/list/valid_facialhairstyles = list() - for(var/facialhairstyle in facial_hair_styles_list) - var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] - if(gender == MALE && S.gender == FEMALE) - continue - if(gender == FEMALE && S.gender == MALE) - continue - if(!(species in S.species_allowed)) - continue + f_style = random_facial_hair_style(gender, species, robohead) - valid_facialhairstyles[facialhairstyle] = facial_hair_styles_list[facialhairstyle] - - if(valid_facialhairstyles.len) - f_style = pick(valid_facialhairstyles) + if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species that have head accessories. + ha_style = random_head_accessory(species) else - //this shouldn't happen - f_style = facial_hair_styles_list["Shaved"] + ha_style = "None" // No Vulp ears on Unathi + r_headacc = 0 + g_headacc = 0 + b_headacc = 0 + + if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. + m_styles["head"] = random_marking_style("head", species, robohead, body_accessory, alt_head) + else + m_styles["head"] = "None" + m_colours["head"] = "#000000" + + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. + m_styles["body"] = random_marking_style("body", species, robohead, body_accessory, alt_head) + else + m_styles["body"] = "None" + m_colours["body"] = "#000000" + + if(species in list("Vox", "Vulpkanin")) //Species with tail markings. + m_styles["tail"] = random_marking_style("tail", species, robohead, body_accessory, alt_head) + else + m_styles["tail"] = "None" + m_colours["tail"] = "#000000" // Don't wear another species' underwear! var/datum/sprite_accessory/S = underwear_list[underwear] @@ -1267,32 +1260,17 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(!S || !(species in S.species_allowed)) socks = random_socks(gender, species) - //reset hair colour and skin colour - r_hair = 0 - g_hair = 0 - b_hair = 0 - r_hair_sec = 0 - g_hair_sec = 0 - b_hair_sec = 0 - r_facial = 0 - g_facial = 0 - b_facial = 0 - r_facial_sec = 0 - g_facial_sec = 0 - b_facial_sec = 0 - - s_tone = 0 + //reset skin tone and colour + if(species in list("Human", "Drask", "Vox")) + random_skin_tone(species) + else + s_tone = 0 if(!(species in list("Unathi", "Tajaran", "Skrell", "Slime People", "Vulpkanin", "Machine"))) r_skin = 0 g_skin = 0 b_skin = 0 - ha_style = "None" // No Vulp ears on Unathi - m_styles = "head=None;\ - body=None;\ - tail=None" // No Unathi markings on Tajara - alt_head = "None" //No alt heads on species that don't have them. body_accessory = null //no vulptail on humans damnit @@ -1340,9 +1318,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/input = "Choose your character's hair colour:" var/new_hair = input(user, input, "Character Preference", rgb(r_hair, g_hair, b_hair)) as color|null if(new_hair) - r_hair = hex2num(copytext(new_hair, 2, 4)) - g_hair = hex2num(copytext(new_hair, 4, 6)) - b_hair = hex2num(copytext(new_hair, 6, 8)) + r_hair = color2R(new_hair) + g_hair = color2G(new_hair) + b_hair = color2B(new_hair) if("secondary_hair") if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) @@ -1350,9 +1328,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(hair_style.secondary_theme && !hair_style.no_sec_colour) var/new_hair = input(user, "Choose your character's secondary hair colour:", "Character Preference", rgb(r_hair_sec, g_hair_sec, b_hair_sec)) as color|null if(new_hair) - r_hair_sec = hex2num(copytext(new_hair, 2, 4)) - g_hair_sec = hex2num(copytext(new_hair, 4, 6)) - b_hair_sec = hex2num(copytext(new_hair, 6, 8)) + r_hair_sec = color2R(new_hair) + g_hair_sec = color2G(new_hair) + b_hair_sec = color2B(new_hair) if("h_style") var/list/valid_hairstyles = list() @@ -1393,9 +1371,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/input = "Choose the colour of your your character's head accessory:" var/new_head_accessory = input(user, input, "Character Preference", rgb(r_headacc, g_headacc, b_headacc)) as color|null if(new_head_accessory) - r_headacc = hex2num(copytext(new_head_accessory, 2, 4)) - g_headacc = hex2num(copytext(new_head_accessory, 4, 6)) - b_headacc = hex2num(copytext(new_head_accessory, 6, 8)) + r_headacc = color2R(new_head_accessory) + g_headacc = color2G(new_head_accessory) + b_headacc = color2B(new_head_accessory) if("ha_style") if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species with head accessories. @@ -1427,13 +1405,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/new_alt_head = input(user, "Choose your character's alternate head style:", "Character Preference") as null|anything in valid_alt_heads if(new_alt_head) alt_head = new_alt_head - var/list/marking_styles = params2list(m_styles) - if(marking_styles["head"]) - var/head_marking = marking_styles["head"] + if(m_styles["head"]) + var/head_marking = m_styles["head"] var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] if(!head_marking_style.heads_allowed || !(alt_head in head_marking_style.heads_allowed)) - marking_styles["head"] = "None" - m_styles = list2params(marking_styles) + m_styles["head"] = "None" if("m_style_head") if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. @@ -1467,21 +1443,16 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts valid_markings[markingstyle] = marking_styles_list[markingstyle] - var/list/marking_styles = params2list(m_styles) - var/new_marking_style = input(user, "Choose the style of your character's head markings:", "Character Preference", marking_styles["head"]) as null|anything in valid_markings + var/new_marking_style = input(user, "Choose the style of your character's head markings:", "Character Preference", m_styles["head"]) as null|anything in valid_markings if(new_marking_style) - marking_styles["head"] = new_marking_style - m_styles = list2params(marking_styles) + m_styles["head"] = new_marking_style if("m_head_colour") if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. var/input = "Choose the colour of your your character's head markings:" - var/list/marking_colours = params2list(m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null + var/new_markings = input(user, input, "Character Preference", m_colours["head"]) as color|null if(new_markings) - marking_colours["head"] = new_markings - m_colours = list2params(marking_colours) + m_colours["head"] = new_markings if("m_style_body") if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. @@ -1496,21 +1467,16 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts valid_markings[markingstyle] = marking_styles_list[markingstyle] - var/list/marking_styles = params2list(m_styles) - var/new_marking_style = input(user, "Choose the style of your character's body markings:", "Character Preference", marking_styles["body"]) as null|anything in valid_markings + var/new_marking_style = input(user, "Choose the style of your character's body markings:", "Character Preference", m_styles["body"]) as null|anything in valid_markings if(new_marking_style) - marking_styles["body"] = new_marking_style - m_styles = list2params(marking_styles) + m_styles["body"] = new_marking_style if("m_body_colour") if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. var/input = "Choose the colour of your your character's body markings:" - var/list/marking_colours = params2list(m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as color|null + var/new_markings = input(user, input, "Character Preference", m_colours["body"]) as color|null if(new_markings) - marking_colours["body"] = new_markings - m_colours = list2params(marking_colours) + m_colours["body"] = new_markings if("m_style_tail") if(species in list("Vox", "Vulpkanin")) //Species with tail markings. @@ -1531,22 +1497,16 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts valid_markings[markingstyle] = marking_styles_list[markingstyle] - var/list/marking_styles = params2list(m_styles) - var/new_marking_style = input(user, "Choose the style of your character's tail markings:", "Character Preference", marking_styles["tail"]) as null|anything in valid_markings - + var/new_marking_style = input(user, "Choose the style of your character's tail markings:", "Character Preference", m_styles["tail"]) as null|anything in valid_markings if(new_marking_style) - marking_styles["tail"] = new_marking_style - m_styles = list2params(marking_styles) + m_styles["tail"] = new_marking_style if("m_tail_colour") if(species in list("Vox", "Vulpkanin")) //Species with tail markings. var/input = "Choose the colour of your your character's tail markings:" - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as color|null + var/new_markings = input(user, input, "Character Preference", m_colours["tail"]) as color|null if(new_markings) - marking_colours["tail"] = new_markings - m_colours = list2params(marking_colours) + m_colours["tail"] = new_markings if("body_accessory") var/list/possible_body_accessories = list() @@ -1563,18 +1523,16 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/new_body_accessory = input(user, "Choose your body accessory:", "Character Preference") as null|anything in possible_body_accessories if(new_body_accessory) - var/list/marking_styles = params2list(m_styles) - marking_styles["tail"] = "None" - m_styles = list2params(marking_styles) + m_styles["tail"] = "None" body_accessory = (new_body_accessory == "None") ? null : new_body_accessory if("facial") if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference", rgb(r_facial, g_facial, b_facial)) as color|null if(new_facial) - r_facial = hex2num(copytext(new_facial, 2, 4)) - g_facial = hex2num(copytext(new_facial, 4, 6)) - b_facial = hex2num(copytext(new_facial, 6, 8)) + r_facial = color2R(new_facial) + g_facial = color2G(new_facial) + b_facial = color2B(new_facial) if("secondary_facial") if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) @@ -1582,9 +1540,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour) var/new_facial = input(user, "Choose your character's secondary facial-hair colour:", "Character Preference", rgb(r_facial_sec, g_facial_sec, b_facial_sec)) as color|null if(new_facial) - r_facial_sec = hex2num(copytext(new_facial, 2, 4)) - g_facial_sec = hex2num(copytext(new_facial, 4, 6)) - b_facial_sec = hex2num(copytext(new_facial, 6, 8)) + r_facial_sec = color2R(new_facial) + g_facial_sec = color2G(new_facial) + b_facial_sec = color2B(new_facial) if("f_style") var/list/valid_facialhairstyles = list() @@ -1664,9 +1622,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if("eyes") var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference", rgb(r_eyes, g_eyes, b_eyes)) as color|null if(new_eyes) - r_eyes = hex2num(copytext(new_eyes, 2, 4)) - g_eyes = hex2num(copytext(new_eyes, 4, 6)) - b_eyes = hex2num(copytext(new_eyes, 6, 8)) + r_eyes = color2R(new_eyes) + g_eyes = color2G(new_eyes) + b_eyes = color2B(new_eyes) if("s_tone") if(species == "Human" || species == "Drask") @@ -1682,9 +1640,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if((species in list("Unathi", "Tajaran", "Skrell", "Slime People", "Vulpkanin", "Machine")) || body_accessory_by_species[species] || check_rights(R_ADMIN, 0, user)) var/new_skin = input(user, "Choose your character's skin colour: ", "Character Preference", rgb(r_skin, g_skin, b_skin)) as color|null if(new_skin) - r_skin = hex2num(copytext(new_skin, 2, 4)) - g_skin = hex2num(copytext(new_skin, 4, 6)) - b_skin = hex2num(copytext(new_skin, 6, 8)) + r_skin = color2R(new_skin) + g_skin = color2G(new_skin) + b_skin = color2B(new_skin) if("ooccolor") @@ -1767,11 +1725,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in valid_limb_states if(!new_state) return - var/list/marking_styles = params2list(m_styles) //Handle resetting of head markings if the head is changed. switch(new_state) if("Normal") if(limb == "head") - marking_styles["head"] = "None" + m_styles["head"] = "None" h_style = hair_styles_list["Bald"] f_style = facial_hair_styles_list["Shaved"] organ_data[limb] = null @@ -1825,7 +1782,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts alt_head = null h_style = hair_styles_list["Bald"] f_style = facial_hair_styles_list["Shaved"] - marking_styles["head"] = "None" + m_styles["head"] = "None" rlimb_data[limb] = choice organ_data[limb] = "cyborg" if(second_limb) @@ -1836,7 +1793,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts else rlimb_data[second_limb] = choice organ_data[second_limb] = "cyborg" - m_styles = list2params(marking_styles) //Pass the reset head markings back to the preference variable. if("organs") var/organ_name = input(user, "Which internal function do you want to change?") as null|anything in list("Heart", "Eyes") if(!organ_name) return @@ -2145,7 +2101,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts H.g_headacc = g_headacc H.b_headacc = b_headacc H.ha_style = ha_style - if((character.species.bodyflags & HAS_HEAD_MARKINGS) || (character.species.bodyflags & HAS_BODY_MARKINGS) || (character.species.bodyflags & HAS_TAIL_MARKINGS)) + if(character.species.bodyflags & HAS_MARKINGS) character.m_colours = m_colours character.m_styles = m_styles diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index cd6177a08f1..6b99f2d101d 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -199,13 +199,13 @@ r_skin = text2num(query.item[21]) g_skin = text2num(query.item[22]) b_skin = text2num(query.item[23]) - m_colours = query.item[24] + m_colours = params2list(query.item[24]) r_headacc = text2num(query.item[25]) g_headacc = text2num(query.item[26]) b_headacc = text2num(query.item[27]) h_style = query.item[28] f_style = query.item[29] - m_styles = query.item[30] + m_styles = params2list(query.item[30]) ha_style = query.item[31] alt_head = query.item[32] r_eyes = text2num(query.item[33]) @@ -324,6 +324,8 @@ var/rlimblist var/playertitlelist var/gearlist + var/markingcolourslist = list2params(m_colours) + var/markingstyleslist = list2params(m_styles) if(!isemptylist(organ_data)) organlist = list2params(organ_data) if(!isemptylist(rlimb_data)) @@ -360,13 +362,13 @@ skin_red='[r_skin]', skin_green='[g_skin]', skin_blue='[b_skin]', - marking_colours='[m_colours]', + marking_colours='[markingcolourslist]', head_accessory_red='[r_headacc]', head_accessory_green='[g_headacc]', head_accessory_blue='[b_headacc]', hair_style_name='[sql_sanitize_text(h_style)]', facial_style_name='[sql_sanitize_text(f_style)]', - marking_styles='[m_styles]', + marking_styles='[markingstyleslist]', head_accessory_style_name='[sql_sanitize_text(ha_style)]', alt_head_name='[sql_sanitize_text(alt_head)]', eyes_red='[r_eyes]', @@ -444,9 +446,9 @@ '[r_facial]', '[g_facial]', '[b_facial]', '[r_facial_sec]', '[g_facial_sec]', '[b_facial_sec]', '[s_tone]', '[r_skin]', '[g_skin]', '[b_skin]', - '[m_colours]', + '[markingcolourslist]', '[r_headacc]', '[g_headacc]', '[b_headacc]', - '[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]', '[m_styles]', '[sql_sanitize_text(ha_style)]', '[sql_sanitize_text(alt_head)]', + '[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]', '[markingstyleslist]', '[sql_sanitize_text(ha_style)]', '[sql_sanitize_text(alt_head)]', '[r_eyes]', '[g_eyes]', '[b_eyes]', '[underwear]', '[undershirt]', '[backbag]', '[b_type]', '[alternate_option]', diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index a6dca0c51cb..ff78f16c556 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -47,8 +47,7 @@ to_chat(user, "[target] has no skin, how do you expect to tattoo them?") return - var/list/marking_styles = params2list(target.m_styles) - if(marking_styles["body"] != "None") + if(target.m_styles["body"] != "None") to_chat(user, "[target] already has body markings, any more would look silly!") return @@ -67,14 +66,8 @@ user.visible_message("[user] finishes the [tattoo_name] on [target].", "You finish the [tattoo_name].") if(!used) // No exploiting do_after to tattoo multiple folks. - var/list/marking_colours = params2list(target.m_colours) - marking_styles["body"] = tattoo_icon - marking_colours["body"] = "#[num2hex(tattoo_r,2)][num2hex(tattoo_g,2)][num2hex(tattoo_b,2)]" - - target.m_styles = list2params(marking_styles) - target.m_colours = list2params(marking_colours) - - target.update_markings() + target.change_markings(tattoo_icon, "body") + target.change_marking_color(rgb(tattoo_r, tattoo_g, tattoo_b), "body") playsound(src.loc, 'sound/items/Welder2.ogg', 20, 1) used = 1 @@ -106,9 +99,9 @@ if(!used) var/ink_color = input("Please select an ink color.", "Tattoo Ink Color", rgb(tattoo_r, tattoo_g, tattoo_b)) as color|null if(ink_color && !(user.incapacitated() || used) ) - tattoo_r = hex2num(copytext(ink_color, 2, 4)) - tattoo_g = hex2num(copytext(ink_color, 4, 6)) - tattoo_b = hex2num(copytext(ink_color, 6, 8)) + tattoo_r = color2R(ink_color) + tattoo_g = color2G(ink_color) + tattoo_b = color2B(ink_color) to_chat(user, "You change the color setting on the [src].") diff --git a/code/modules/lighting/light_source.dm b/code/modules/lighting/light_source.dm index da60e939987..fd92e6675f1 100644 --- a/code/modules/lighting/light_source.dm +++ b/code/modules/lighting/light_source.dm @@ -114,9 +114,9 @@ /datum/light_source/proc/parse_light_color() if(light_color) - lum_r = GetRedPart(light_color) / 255 - lum_g = GetGreenPart(light_color) / 255 - lum_b = GetBluePart(light_color) / 255 + lum_r = color2R(light_color) / 255 + lum_g = color2G(light_color) / 255 + lum_b = color2B(light_color) / 255 else lum_r = 1 lum_g = 1 @@ -195,7 +195,7 @@ effect_str.Cut() effect_turf.Cut() - + /datum/light_source/proc/forget_turf(turf/T) var/idx = effect_turf.Find(T) effect_turf.Cut(idx, idx + 1) diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index e94620c8b47..29313624e7c 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -63,8 +63,7 @@ return 1 /mob/living/carbon/human/proc/change_markings(var/marking_style, var/location = "body") - var/list/marking_styles = params2list(m_styles) - if(!marking_style || marking_styles[location] == marking_style || !(marking_style in marking_styles_list)) + if(!marking_style || m_styles[location] == marking_style || !(marking_style in marking_styles_list)) return var/datum/sprite_accessory/body_markings/marking = marking_styles_list[marking_style] @@ -93,8 +92,7 @@ if(!tail_marking.tails_allowed || !(body_accessory.name in tail_marking.tails_allowed)) return - marking_styles[location] = marking_style - m_styles = list2params(marking_styles) + m_styles[location] = marking_style if(location == "tail") stop_tail_wagging() @@ -115,9 +113,7 @@ if(!found) return - var/list/marking_styles = params2list(m_styles) - marking_styles["tail"] = "None" - m_styles = list2params(marking_styles) + m_styles["tail"] = "None" update_tail_layer() return 1 @@ -129,13 +125,11 @@ H.alt_head = alternate_head //Handle head markings if they're incompatible with the new alt head. - var/list/marking_styles = params2list(m_styles) - if(marking_styles["head"]) - var/head_marking = marking_styles["head"] + if(m_styles["head"]) + var/head_marking = m_styles["head"] var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] if(!head_marking_style.heads_allowed || !(H.alt_head in head_marking_style.heads_allowed)) - marking_styles["head"] = "None" - m_styles = list2params(marking_styles) + m_styles["head"] = "None" update_markings() update_body(1, 1) //Update the body and force limb icon regeneration to update the head with the new icon. @@ -145,8 +139,7 @@ reset_head_hair() reset_facial_hair() reset_head_accessory() - var/list/marking_styles = params2list(m_styles) - if(marking_styles["head"] && marking_styles["head"] != "None") //Resets head markings. + if(m_styles["head"] && m_styles["head"] != "None") //Resets head markings. reset_markings() /mob/living/carbon/human/proc/reset_head_hair() @@ -172,25 +165,22 @@ /mob/living/carbon/human/proc/reset_markings(var/location) var/list/valid_markings - var/list/marking_styles = params2list(m_styles) if(location) valid_markings = generate_valid_markings(location) if(valid_markings.len) - marking_styles[location] = pick(valid_markings) + m_styles[location] = pick(valid_markings) else //this shouldn't happen - marking_styles[location] = "None" + m_styles[location] = "None" else for(var/m_location in list("head", "body", "tail")) valid_markings = generate_valid_markings(m_location) if(valid_markings.len) - marking_styles[m_location] = pick(valid_markings) + m_styles[m_location] = pick(valid_markings) else //this shouldn't happen - marking_styles[m_location] = "None" - - m_styles = list2params(marking_styles) + m_styles[m_location] = "None" update_markings() stop_tail_wagging() @@ -270,13 +260,10 @@ return 1 /mob/living/carbon/human/proc/change_marking_color(var/colour, var/location = "body") - var/list/marking_colours = params2list(m_colours) - marking_colours[location] = sanitize_hexcolor(marking_colours[location]) - if(colour == marking_colours[location]) + if(colour == m_colours[location]) return - marking_colours[location] = colour - m_colours = list2params(marking_colours) + m_colours[location] = colour if(location == "tail") update_tail_layer() @@ -339,7 +326,7 @@ if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] if(!H) - return + return //No head, no hair. if(H.species.name in S.species_allowed) //If this is a hairstyle native to the user's species... if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. valid_hairstyles += hairstyle //Give them their hairstyles if they do. @@ -350,7 +337,7 @@ if(robohead.is_monitor) //If the hair style is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. continue else - if("Human" in S.species_allowed) //If the user has a robotic head and the hairstyle can fit humans, let them use it as a wig for their humanoid robot head. + if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the hairstyle can fit humans, let them use it as a wig. valid_hairstyles += hairstyle continue else //If the user is not a species who can have robotic heads, use the default handling. @@ -371,7 +358,7 @@ if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] if(!H) - continue // No head, no hair + return //No head, no hair. if(H.species.name in S.species_allowed) //If this is a facial hair style native to the user's species... if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. valid_facial_hairstyles += facialhairstyle //Give them their facial hair styles if they do. @@ -379,11 +366,10 @@ else //If they don't have the default head, they shouldn't be getting any facial hair styles they wouldn't normally. continue else - if(robohead.is_monitor) //If the facial hair style is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. continue else - if("Human" in S.species_allowed) //If the user has a robotic head and the facial hair style can fit humans, let them use it as a postiche for their humanoid robot head. + if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the facial hair style can fit humans, let them use it as a postiche. valid_facial_hairstyles += facialhairstyle continue else //If the user is not a species who can have robotic heads, use the default handling. @@ -448,11 +434,10 @@ valid_body_accessories = body_accessory_by_name.Copy() else if(!istype(A)) - valid_body_accessories += "None" //The only null entry should be the "None" option. + valid_body_accessories["None"] = "None" //The only null entry should be the "None" option. continue - if(!(species.name in A.allowed_species)) //If the user is not of a species the body accessory style allows, skip it. Otherwise, add it to the list. - continue - valid_body_accessories += B + if(species.name in A.allowed_species) //If the user is not of a species the body accessory style allows, skip it. Otherwise, add it to the list. + valid_body_accessories += B return valid_body_accessories diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ab176e6912f..d42c48bff13 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1539,9 +1539,9 @@ if(species.base_color && default_colour) //Apply colour. - r_skin = hex2num(copytext(species.base_color, 2, 4)) - g_skin = hex2num(copytext(species.base_color, 4, 6)) - b_skin = hex2num(copytext(species.base_color, 6, 8)) + r_skin = color2R(species.base_color) + g_skin = color2G(species.base_color) + b_skin = color2B(species.base_color) else r_skin = 0 g_skin = 0 @@ -1563,25 +1563,25 @@ if(species.default_hair_colour) //Apply colour. - H.r_hair = hex2num(copytext(species.default_hair_colour, 2, 4)) - H.g_hair = hex2num(copytext(species.default_hair_colour, 4, 6)) - H.b_hair = hex2num(copytext(species.default_hair_colour, 6, 8)) + H.r_hair = color2R(species.default_hair_colour) + H.g_hair = color2G(species.default_hair_colour) + H.b_hair = color2B(species.default_hair_colour) else H.r_hair = 0 H.g_hair = 0 H.b_hair = 0 if(species.default_fhair_colour) - H.r_facial = hex2num(copytext(species.default_fhair_colour, 2, 4)) - H.g_facial = hex2num(copytext(species.default_fhair_colour, 4, 6)) - H.b_facial = hex2num(copytext(species.default_fhair_colour, 6, 8)) + H.r_facial = color2R(species.default_fhair_colour) + H.g_facial = color2G(species.default_fhair_colour) + H.b_facial = color2B(species.default_fhair_colour) else H.r_facial = 0 H.g_facial = 0 H.b_facial = 0 if(species.default_headacc_colour) - H.r_headacc = hex2num(copytext(species.default_headacc_colour, 2, 4)) - H.g_headacc = hex2num(copytext(species.default_headacc_colour, 4, 6)) - H.b_headacc = hex2num(copytext(species.default_headacc_colour, 6, 8)) + H.r_headacc = color2R(species.default_headacc_colour) + H.g_headacc = color2G(species.default_headacc_colour) + H.b_headacc = color2B(species.default_headacc_colour) else H.r_headacc = 0 H.g_headacc = 0 @@ -1693,17 +1693,13 @@ if(!head_organ) return if(!robohead.is_monitor) //If they've got a prosthetic head and it isn't a monitor, they've no screen to adjust. Instead, let them change the colour of their optics! - var/list/marking_colours = params2list(m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/optic_colour = input(src, "Select optic colour", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null + var/optic_colour = input(src, "Select optic colour", m_colours["head"]) as color|null if(incapacitated()) to_chat(src, "You were interrupted while changing the colour of your optics.") return if(optic_colour) - marking_colours["head"] = optic_colour - m_colours = list2params(marking_colours) + change_markings(optic_colour, "head") - update_markings() else if(robohead.is_monitor) //Means that the character's head is a monitor (has a screen). Time to customize. var/list/hair = list() for(var/i in hair_styles_list) @@ -1711,14 +1707,12 @@ if((head_organ.species.name in tmp_hair.species_allowed) && (robohead.company in tmp_hair.models_allowed)) //Populate the list of available monitor styles only with styles that the monitor-head is allowed to use. hair += i - var/new_style = input(src, "Select a monitor display", "Monitor Display", head_organ.h_style) as null|anything in hair + var/new_style = input(src, "Select a monitor display", "Monitor Display", head_organ.h_style) as null|anything in hair if(incapacitated()) to_chat(src, "You were interrupted while changing your monitor display.") return if(new_style) - head_organ.h_style = new_style - - update_hair() + change_hair(new_style) //Putting a couple of procs here that I don't know where else to dump. //Mostly going to be used for Vox and Vox Armalis, but other human mobs might like them (for adminbuse). diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 0626c89fa1f..adf951fad03 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -4,12 +4,17 @@ var/global/default_martial_art = new/datum/martial_art hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD,SPECIALROLE_HUD,NATIONS_HUD) //Marking colour and style - var/m_colours = "head=#000000;\ - body=#000000;\ - tail=#000000" - var/m_styles = "head=None;\ - body=None;\ - tail=None" + var/list/m_colours = list( + "head" = "#000000", + "body" = "#000000", + "tail" = "#000000" + ) + + var/list/m_styles = list( + "head" = "None", + "body" = "None", + "tail" = "None" + ) //Eye colour var/r_eyes = 0 diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 3577209ecd5..6b166f04c0c 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -162,7 +162,7 @@ flags = HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = FEET_PADDED | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS | HAS_SKIN_COLOR | HAS_FUR + bodyflags = FEET_PADDED | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_HEAD_ACCESSORY | HAS_MARKINGS | HAS_SKIN_COLOR | HAS_FUR dietflags = DIET_OMNI reagent_tag = PROCESS_ORG flesh_color = "#966464" diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 130ea34f93d..a7afed9976b 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -366,31 +366,25 @@ var/global/list/damage_icon_parts = list() //Base icon. var/icon/markings_standing = new/icon('icons/mob/body_accessory.dmi',"accessory_none_s") - //Prep marking styles and colours. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - //Body markings. var/obj/item/organ/external/chest/chest_organ = get_organ("chest") - if(chest_organ && !chest_organ.is_stump() && !(chest_organ.status & ORGAN_DESTROYED) && marking_styles["body"]) - var/body_marking = marking_styles["body"] + if(chest_organ && !chest_organ.is_stump() && !(chest_organ.status & ORGAN_DESTROYED) && m_styles["body"]) + var/body_marking = m_styles["body"] var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] if(body_marking_style && body_marking_style.species_allowed && (species.name in body_marking_style.species_allowed)) var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") if(body_marking_style.do_colouration) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) + b_marking_s.Blend(m_colours["body"], ICON_ADD) markings_standing.Blend(b_marking_s, ICON_OVERLAY) //Head markings. var/obj/item/organ/external/head/head_organ = get_organ("head") - if(head_organ && !head_organ.is_stump() && !(head_organ.status & ORGAN_DESTROYED) && marking_styles["head"]) //If the head is destroyed, forget the head markings. This prevents floating optical markings on decapitated IPCs, for example. - var/head_marking = marking_styles["head"] + if(head_organ && !head_organ.is_stump() && !(head_organ.status & ORGAN_DESTROYED) && m_styles["head"]) //If the head is destroyed, forget the head markings. This prevents floating optical markings on decapitated IPCs, for example. + var/head_marking = m_styles["head"] var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] if(head_marking_style && head_marking_style.species_allowed && (head_organ.species.name in head_marking_style.species_allowed)) var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") if(head_marking_style.do_colouration) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + h_marking_s.Blend(m_colours["head"], ICON_ADD) markings_standing.Blend(h_marking_s, ICON_OVERLAY) overlays_standing[MARKINGS_LAYER] = image(markings_standing) @@ -408,7 +402,7 @@ var/global/list/damage_icon_parts = list() return //masks and helmets can obscure our head accessory - if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if((head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) if(update_icons) update_icons() return @@ -1147,16 +1141,13 @@ var/global/list/damage_icon_parts = list() If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. */ - var/list/marking_styles = params2list(m_styles) var/icon/tail_marking_icon var/datum/sprite_accessory/body_markings/tail/tail_marking_style - if(marking_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) - var/tail_marking = marking_styles["tail"] - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + if(m_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) + var/tail_marking = m_styles["tail"] tail_marking_style = marking_styles_list[tail_marking] tail_marking_icon = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s") - tail_marking_icon.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) + tail_marking_icon.Blend(m_colours["tail"], ICON_ADD) if(body_accessory) if(body_accessory.try_restrictions(src)) @@ -1217,16 +1208,13 @@ var/global/list/damage_icon_parts = list() If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. */ - var/list/marking_styles = params2list(m_styles) var/icon/tail_marking_icon var/datum/sprite_accessory/body_markings/tail/tail_marking_style - if(marking_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) - var/tail_marking = marking_styles["tail"] - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) + if(m_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) + var/tail_marking = m_styles["tail"] tail_marking_style = marking_styles_list[tail_marking] tail_marking_icon = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]w_s") - tail_marking_icon.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) + tail_marking_icon.Blend(m_colours["tail"], ICON_ADD) if(body_accessory) var/icon/accessory_s = new/icon("icon" = body_accessory.get_animated_icon(), "icon_state" = body_accessory.get_animated_icon_state()) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 4c55cc9ba71..c72db051191 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -1,6 +1,10 @@ /datum/preferences //The mob should have a gender you want before running this proc. Will run fine without H /datum/preferences/proc/random_character(gender_override) + var/datum/robolimb/robohead + if(species == "Machine") + var/head_model = "[!rlimb_data["head"] ? "Morpheus Cyberkinetics" : rlimb_data["head"]]" + robohead = all_robolimbs[head_model] if(gender_override) gender = gender_override else @@ -8,18 +12,39 @@ underwear = random_underwear(gender, species) undershirt = random_undershirt(gender, species) socks = random_socks(gender, species) - if(species in list("Human", "Drask")) - s_tone = random_skin_tone() - h_style = random_hair_style(gender, species) - f_style = random_facial_hair_style(gender, species) - if(species == "Human" || species == "Unathi" || species == "Tajaran" || species == "Skrell" || species == "Machine" || species == "Vulpkanin") + if(species == "Vulpkanin") + body_accessory = random_body_accessory(species) + if(body_accessory == "None") //Required to prevent a bug where the information/icons in the character preferences screen wouldn't update despite the data being changed. + body_accessory = null + if(species in list("Human", "Drask", "Vox")) + s_tone = random_skin_tone(species) + h_style = random_hair_style(gender, species, robohead) + f_style = random_facial_hair_style(gender, species, robohead) + if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) randomize_hair_color("hair") - randomize_hair_color("facial") - randomize_eyes_color() - if(species == "Unathi" || species == "Tajaran" || species == "Skrell" || species == "Vulpkanin") + randomize_hair_color("facial") + if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) + ha_style = random_head_accessory(species) + var/list/colours = randomize_skin_color(1) + r_headacc = colours["red"] + g_headacc = colours["green"] + b_headacc = colours["blue"] + if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) + m_styles["head"] = random_marking_style("head", species, robohead, body_accessory, alt_head) + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) + m_styles["body"] = random_marking_style("body", species, robohead, body_accessory, alt_head) + var/list/colours + for(var/location in list("head", "body", "tail")) + colours = randomize_skin_color(1) + m_colours[location] = rgb(colours["red"], colours["green"], colours["blue"]) + if(species in list("Vox", "Vulpkanin")) //Species with tail markings. + m_styles["tail"] = random_marking_style("tail", species, robohead, body_accessory, alt_head) + if(species != "Machine") + randomize_eyes_color() + if(species in list("Unathi", "Tajaran", "Skrell", "Vulpkanin")) randomize_skin_color() backbag = 2 - age = rand(AGE_MIN,AGE_MAX) + age = rand(AGE_MIN, AGE_MAX) /datum/preferences/proc/randomize_hair_color(var/target = "hair") @@ -130,7 +155,7 @@ g_eyes = green b_eyes = blue -/datum/preferences/proc/randomize_skin_color() +/datum/preferences/proc/randomize_skin_color(var/pass_to_list) var/red var/green var/blue @@ -174,9 +199,17 @@ green = max(min(green + rand (-25, 25), 255), 0) blue = max(min(blue + rand (-25, 25), 255), 0) - r_skin = red - g_skin = green - b_skin = blue + if(pass_to_list) + var/list/colours = list( + "red" = red, + "blue" = blue, + "green" = green + ) + return colours + else + r_skin = red + g_skin = green + b_skin = blue /datum/preferences/proc/blend_backpack(var/icon/clothes_s,var/backbag,var/satchel,var/backpack="backpack") switch(backbag) @@ -273,37 +306,30 @@ temp.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) if(current_species && (current_species.bodyflags & HAS_TAIL_MARKINGS)) - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - var/tail_marking = marking_styles["tail"] + var/tail_marking = m_styles["tail"] var/datum/sprite_accessory/tail_marking_style = marking_styles_list[tail_marking] if(tail_marking_style && tail_marking_style.species_allowed) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) var/icon/t_marking_s = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s") - t_marking_s.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) + t_marking_s.Blend(m_colours["tail"], ICON_ADD) temp.Blend(t_marking_s, ICON_OVERLAY) preview_icon.Blend(temp, ICON_OVERLAY) //Markings if(current_species && ((current_species.bodyflags & HAS_HEAD_MARKINGS) || (current_species.bodyflags & HAS_BODY_MARKINGS))) - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) if(current_species.bodyflags & HAS_BODY_MARKINGS) //Body markings. - var/body_marking = marking_styles["body"] + var/body_marking = m_styles["body"] var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] if(body_marking_style && body_marking_style.species_allowed) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") - b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) + b_marking_s.Blend(m_colours["body"], ICON_ADD) preview_icon.Blend(b_marking_s, ICON_OVERLAY) if(current_species.bodyflags & HAS_HEAD_MARKINGS) //Head markings. - var/head_marking = marking_styles["head"] + var/head_marking = m_styles["head"] var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] if(head_marking_style && head_marking_style.species_allowed) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + h_marking_s.Blend(m_colours["head"], ICON_ADD) preview_icon.Blend(h_marking_s, ICON_OVERLAY) diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 958cfa351f2..3a8dcb74216 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -68,7 +68,6 @@ bald name = "Bald" icon_state = "bald" - gender = MALE species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran") short diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index 7771764c5a1..3487b45da96 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -67,9 +67,9 @@ if(can_change_skin_color()) var/new_skin = input(usr, "Choose your character's skin colour: ", "Skin Color", rgb(owner.r_skin, owner.g_skin, owner.b_skin)) as color|null if(new_skin && can_still_topic(state)) - var/r_skin = hex2num(copytext(new_skin, 2, 4)) - var/g_skin = hex2num(copytext(new_skin, 4, 6)) - var/b_skin = hex2num(copytext(new_skin, 6, 8)) + var/r_skin = color2R(new_skin) + var/g_skin = color2G(new_skin) + var/b_skin = color2B(new_skin) if(owner.change_skin_color(r_skin, g_skin, b_skin)) update_dna() return 1 @@ -82,9 +82,9 @@ if(can_change(APPEARANCE_HAIR_COLOR)) var/new_hair = input("Please select hair color.", "Hair Color", rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair)) as color|null if(new_hair && can_still_topic(state)) - var/r_hair = hex2num(copytext(new_hair, 2, 4)) - var/g_hair = hex2num(copytext(new_hair, 4, 6)) - var/b_hair = hex2num(copytext(new_hair, 6, 8)) + var/r_hair = color2R(new_hair) + var/g_hair = color2G(new_hair) + var/b_hair = color2B(new_hair) if(owner.change_hair_color(r_hair, g_hair, b_hair)) update_dna() return 1 @@ -92,9 +92,9 @@ if(can_change(APPEARANCE_SECONDARY_HAIR_COLOR)) var/new_hair = input("Please select secondary hair color.", "Secondary Hair Color", rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec)) as color|null if(new_hair && can_still_topic(state)) - var/r_hair_sec = hex2num(copytext(new_hair, 2, 4)) - var/g_hair_sec = hex2num(copytext(new_hair, 4, 6)) - var/b_hair_sec = hex2num(copytext(new_hair, 6, 8)) + var/r_hair_sec = color2R(new_hair) + var/g_hair_sec = color2G(new_hair) + var/b_hair_sec = color2B(new_hair) if(owner.change_hair_color(r_hair_sec, g_hair_sec, b_hair_sec, 1)) update_dna() return 1 @@ -107,9 +107,9 @@ if(can_change(APPEARANCE_FACIAL_HAIR_COLOR)) var/new_facial = input("Please select facial hair color.", "Facial Hair Color", rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial)) as color|null if(new_facial && can_still_topic(state)) - var/r_facial = hex2num(copytext(new_facial, 2, 4)) - var/g_facial = hex2num(copytext(new_facial, 4, 6)) - var/b_facial = hex2num(copytext(new_facial, 6, 8)) + var/r_facial = color2R(new_facial) + var/g_facial = color2G(new_facial) + var/b_facial = color2B(new_facial) if(owner.change_facial_hair_color(r_facial, g_facial, b_facial)) update_dna() return 1 @@ -117,9 +117,9 @@ if(can_change(APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR)) var/new_facial = input("Please select secondary facial hair color.", "Secondary Facial Hair Color", rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec)) as color|null if(new_facial && can_still_topic(state)) - var/r_facial_sec = hex2num(copytext(new_facial, 2, 4)) - var/g_facial_sec = hex2num(copytext(new_facial, 4, 6)) - var/b_facial_sec = hex2num(copytext(new_facial, 6, 8)) + var/r_facial_sec = color2R(new_facial) + var/g_facial_sec = color2G(new_facial) + var/b_facial_sec = color2B(new_facial) if(owner.change_facial_hair_color(r_facial_sec, g_facial_sec, b_facial_sec, 1)) update_dna() return 1 @@ -127,9 +127,9 @@ if(can_change(APPEARANCE_EYE_COLOR)) var/new_eyes = input("Please select eye color.", "Eye Color", rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes)) as color|null if(new_eyes && can_still_topic(state)) - var/r_eyes = hex2num(copytext(new_eyes, 2, 4)) - var/g_eyes = hex2num(copytext(new_eyes, 4, 6)) - var/b_eyes = hex2num(copytext(new_eyes, 6, 8)) + var/r_eyes = color2R(new_eyes) + var/g_eyes = color2G(new_eyes) + var/b_eyes = color2B(new_eyes) if(owner.change_eye_color(r_eyes, g_eyes, b_eyes)) update_dna() return 1 @@ -142,9 +142,9 @@ if(can_change_head_accessory()) var/new_head_accessory = input("Please select head accessory color.", "Head Accessory Color", rgb(head_organ.r_headacc, head_organ.g_headacc, head_organ.b_headacc)) as color|null if(new_head_accessory && can_still_topic(state)) - var/r_headacc = hex2num(copytext(new_head_accessory, 2, 4)) - var/g_headacc = hex2num(copytext(new_head_accessory, 4, 6)) - var/b_headacc = hex2num(copytext(new_head_accessory, 6, 8)) + var/r_headacc = color2R(new_head_accessory) + var/g_headacc = color2G(new_head_accessory) + var/b_headacc = color2B(new_head_accessory) if(owner.change_head_accessory_color(r_headacc, g_headacc, b_headacc)) update_dna() return 1 @@ -155,9 +155,7 @@ return 1 if(href_list["head_marking_color"]) if(can_change_markings("head")) - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/new_markings = input("Please select head marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null + var/new_markings = input("Please select head marking color.", "Marking Color", owner.m_colours["head"]) as color|null if(new_markings && can_still_topic(state)) if(owner.change_marking_color(new_markings, "head")) update_dna() @@ -169,9 +167,7 @@ return 1 if(href_list["body_marking_color"]) if(can_change_markings("body")) - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - var/new_markings = input("Please select body marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as color|null + var/new_markings = input("Please select body marking color.", "Marking Color", owner.m_colours["body"]) as color|null if(new_markings && can_still_topic(state)) if(owner.change_marking_color(new_markings, "body")) update_dna() @@ -183,9 +179,7 @@ return 1 if(href_list["tail_marking_color"]) if(can_change_markings("tail")) - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - var/new_markings = input("Please select tail marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as color|null + var/new_markings = input("Please select tail marking color.", "Marking Color", owner.m_colours["tail"]) as color|null if(new_markings && can_still_topic(state)) if(owner.change_marking_color(new_markings, "tail")) update_dna() @@ -246,8 +240,7 @@ data["change_head_markings"] = can_change_markings("head") if(data["change_head_markings"]) - var/list/marking_styles = params2list(owner.m_styles) - var/m_style = marking_styles["head"] + var/m_style = owner.m_styles["head"] var/head_marking_styles[0] for(var/head_marking_style in valid_head_marking_styles) head_marking_styles[++head_marking_styles.len] = list("headmarkingstyle" = head_marking_style) @@ -256,8 +249,7 @@ data["change_body_markings"] = can_change_markings("body") if(data["change_body_markings"]) - var/list/marking_styles = params2list(owner.m_styles) - var/m_style = marking_styles["body"] + var/m_style = owner.m_styles["body"] var/body_marking_styles[0] for(var/body_marking_style in valid_body_marking_styles) body_marking_styles[++body_marking_styles.len] = list("bodymarkingstyle" = body_marking_style) @@ -266,8 +258,7 @@ data["change_tail_markings"] = can_change_markings("tail") if(data["change_tail_markings"]) - var/list/marking_styles = params2list(owner.m_styles) - var/m_style = marking_styles["tail"] + var/m_style = owner.m_styles["tail"] var/tail_marking_styles[0] for(var/tail_marking_style in valid_tail_marking_styles) tail_marking_styles[++tail_marking_styles.len] = list("tailmarkingstyle" = tail_marking_style) diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index 0de37b1a652..74121e1537d 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -104,11 +104,9 @@ var/obj/item/organ/external/head/H = target.get_organ("head") var/datum/robolimb/robohead = all_robolimbs[H.model] if(robohead.is_monitor) //Ensures that if an IPC gets a head that's got a human hair wig attached to their body, the hair won't wipe. - var/list/marking_styles = params2list(target.m_styles) - H.h_style = "" - H.f_style = "" - marking_styles["head"] = "None" - target.m_styles = list2params(marking_styles) + H.h_style = "Bald" + H.f_style = "Shaved" + target.m_styles["head"] = "None" E.status &= ~ORGAN_DESTROYED if(E.children) for(var/obj/item/organ/external/C in E.children) diff --git a/code/modules/surgery/organs/organ_icon.dm b/code/modules/surgery/organs/organ_icon.dm index 2f0eb84c1be..5e2521ca4c8 100644 --- a/code/modules/surgery/organs/organ_icon.dm +++ b/code/modules/surgery/organs/organ_icon.dm @@ -73,16 +73,13 @@ var/global/list/limb_icon_cache = list() overlays |= lip_icon mob_icon.Blend(lip_icon, ICON_OVERLAY) - var/list/marking_styles = params2list(owner.m_styles) - var/head_marking = marking_styles["head"] + var/head_marking = owner.m_styles["head"] if(head_marking != "None") - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] if(head_marking_style && head_marking_style.species_allowed && (species.name in head_marking_style.species_allowed) && head_marking_style.marking_location == "head") var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") if(head_marking_style.do_colouration) - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) + h_marking_s.Blend(owner.m_colours["head"], ICON_ADD) overlays |= h_marking_s if(H.ha_style) diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index 402bf49bd5c4d2729d5240912d902376c67e7143..c9441eb6d56cb84f6336979f36f59048020ba142 100644 GIT binary patch delta 6942 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 AvH$=8 From 4bd468b85eba7c48b5bacddc2610307cd5ba765f Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Sun, 14 Aug 2016 06:15:04 -0400 Subject: [PATCH 04/48] Defines and Morph Eye-colour Change Fix. --- code/__DEFINES/mob.dm | 4 ++++ code/game/dna/dna2.dm | 2 +- code/game/dna/genes/vg_powers.dm | 2 +- code/modules/client/preference/preferences_mysql.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 13 ++++++++----- .../mob/living/carbon/human/human_defines.dm | 13 ++----------- .../mob/living/carbon/human/species/species.dm | 6 +++--- 7 files changed, 21 insertions(+), 23 deletions(-) diff --git a/code/__DEFINES/mob.dm b/code/__DEFINES/mob.dm index 5d9aba0e3df..bf9c479d3e8 100644 --- a/code/__DEFINES/mob.dm +++ b/code/__DEFINES/mob.dm @@ -50,6 +50,10 @@ #define SHOES_SLOWDOWN -1.0 // How much shoes slow you down by default. Negative values speed you up +//Mob attribute defaults. +#define DEFAULT_MARKING_STYLES list("head" = "None", "body" = "None", "tail" = "None") //Marking styles. Use instead of initial() for m_styles. +#define DEFAULT_MARKING_COLOURS list("head" = "#000000", "body" = "#000000", "tail" = "#000000") //Marking colours. Use instead of initial() for m_colours. + ////////REAGENT STUFF//////// // How many units of reagent are consumed per tick, by default. #define REAGENTS_METABOLISM 0.4 diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 8aa368eedcb..51531c81340 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -163,7 +163,7 @@ var/global/list/bad_blocks[0] // Markings if(!character.m_styles) - character.m_styles = initial(character.m_styles) + character.m_styles = DEFAULT_MARKING_STYLES var/head_marks = marking_styles_list.Find(character.m_styles["head"]) var/body_marks = marking_styles_list.Find(character.m_styles["body"]) diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index 796bbdb2b24..f6757998532 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -46,7 +46,7 @@ var/new_eyes = input("Please select eye color.", "Character Generation", rgb(M.r_eyes, M.g_eyes, M.b_eyes)) as null|color if(new_eyes) - M.change_eye_color(M.r_eyes, M.g_eyes, M.b_eyes) + M.change_eye_color(color2R(new_eyes), color2G(new_eyes), color2B(new_eyes)) //Alt heads. if(head_organ.species.bodyflags & HAS_ALT_HEADS) diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index 6b99f2d101d..bcf0146d90e 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -313,8 +313,8 @@ if(!player_alt_titles) player_alt_titles = new() if(!organ_data) src.organ_data = list() if(!rlimb_data) src.rlimb_data = list() - if(!m_colours) m_colours = initial(m_colours) - if(!m_styles) m_styles = initial(m_styles) + if(!m_colours) m_colours = DEFAULT_MARKING_COLOURS + if(!m_styles) m_styles = DEFAULT_MARKING_STYLES if(!gear) gear = list() return 1 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d42c48bff13..8934ba3bb49 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1486,7 +1486,6 @@ to_chat(usr, "\blue [self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)].") /mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/delay_icon_update = 0) - var/datum/species/oldspecies = species if(!dna) if(!new_species) @@ -1556,10 +1555,16 @@ var/obj/item/organ/external/head/H = get_organ("head") if(species.default_hair) H.h_style = species.default_hair + else + H.h_style = "Bald" if(species.default_fhair) H.f_style = species.default_fhair + else + H.f_style = "Shaved" if(species.default_headacc) H.ha_style = species.default_headacc + else + H.ha_style = "None" if(species.default_hair_colour) //Apply colour. @@ -1587,10 +1592,8 @@ H.g_headacc = 0 H.b_headacc = 0 - m_styles = initial(m_styles) //Wipes out markings, setting them all to "None". - m_colours = initial(m_styles) //Defaults colour to #00000 for all markings. - H.alt_head = "None" - H.ha_style = "None" + m_styles = DEFAULT_MARKING_STYLES //Wipes out markings, setting them all to "None". + m_colours = DEFAULT_MARKING_COLOURS //Defaults colour to #00000 for all markings. body_accessory = null if(!dna) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index adf951fad03..ebe05ead74f 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -4,17 +4,8 @@ var/global/default_martial_art = new/datum/martial_art hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD,SPECIALROLE_HUD,NATIONS_HUD) //Marking colour and style - var/list/m_colours = list( - "head" = "#000000", - "body" = "#000000", - "tail" = "#000000" - ) - - var/list/m_styles = list( - "head" = "None", - "body" = "None", - "tail" = "None" - ) + var/list/m_colours = DEFAULT_MARKING_COLOURS //All colours set to #000000. + var/list/m_styles = DEFAULT_MARKING_STYLES //All markings set to None. //Eye colour var/r_eyes = 0 diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index bdb64ba0a98..1c5760a322f 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -119,11 +119,11 @@ var/female_scream_sound = 'sound/goonstation/voice/female_scream.ogg' //Default hair/headacc style vars. - var/default_hair = "Bald" //Default hair style for newly created humans unless otherwise set. + var/default_hair //Default hair style for newly created humans unless otherwise set. var/default_hair_colour - var/default_fhair = "Shaved" //Default facial hair style for newly created humans unless otherwise set. + var/default_fhair //Default facial hair style for newly created humans unless otherwise set. var/default_fhair_colour - var/default_headacc = "None" //Default head accessory style for newly created humans unless otherwise set. + var/default_headacc //Default head accessory style for newly created humans unless otherwise set. var/default_headacc_colour //Defining lists of icon skin tones for species that have them. From d7b7df692abca4be3031927c3aeb7882e35f575c Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Wed, 17 Aug 2016 07:16:38 -0400 Subject: [PATCH 05/48] Minor mask tweaks, adds alt_head mask refitting, adds fitted versions of unathi masks for the new alt head. The alt_head mask refitting system works like this: If the player has an alt_head that's not "None", the system will look for an icon state in the most relevant mask icon file that has the mask's icon state and alt_head suffix ("[wear_mask.icon_state]_[alternate_head.suffix]") and, if it exists ([(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]") the mask sprite that will appear on the character will have that icon state. If it doesn't exist, the mask sprite that will appear on the character will have the default icon state for the mask object. --- .../mob/living/carbon/human/appearance.dm | 2 ++ .../mob/living/carbon/human/update_icons.dm | 20 +++++++++++++----- .../mob/new_player/sprite_accessories.dm | 2 ++ icons/mob/species/tajaran/mask.dmi | Bin 28737 -> 27016 bytes icons/mob/species/unathi/helmet.dmi | Bin 36131 -> 36300 bytes icons/mob/species/unathi/mask.dmi | Bin 28307 -> 32423 bytes icons/mob/species/vox/mask.dmi | Bin 32670 -> 31864 bytes icons/mob/species/vulpkanin/mask.dmi | Bin 29791 -> 28234 bytes 8 files changed, 19 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 29313624e7c..05eb31d2fc7 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -133,6 +133,8 @@ update_markings() update_body(1, 1) //Update the body and force limb icon regeneration to update the head with the new icon. + if(wear_mask) + update_inv_wear_mask() return 1 /mob/living/carbon/human/proc/reset_hair() diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index a7afed9976b..43a8a5c120e 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -1013,13 +1013,21 @@ var/global/list/damage_icon_parts = list() if(inv) inv.update_icon() if(wear_mask && (istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/accessory))) + var/obj/item/organ/external/head/head_organ = get_organ("head") + var/datum/sprite_accessory/alt_heads/alternate_head + if(head_organ.alt_head && head_organ.alt_head != "None") + alternate_head = alt_heads_list[head_organ.alt_head] + var/image/standing + var/icon/mask_icon = new(wear_mask.icon) if(wear_mask.icon_override) - standing = image("icon" = wear_mask.icon_override, "icon_state" = "[wear_mask.icon_state]") + mask_icon = new(wear_mask.icon_override) + standing = image("icon" = wear_mask.icon_override, "icon_state" = "[wear_mask.icon_state][(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]") else if(wear_mask.sprite_sheets && wear_mask.sprite_sheets[species.name]) - standing = image("icon" = wear_mask.sprite_sheets[species.name], "icon_state" = "[wear_mask.icon_state]") + mask_icon = new(wear_mask.sprite_sheets[species.name]) + standing = image("icon" = wear_mask.sprite_sheets[species.name], "icon_state" = "[wear_mask.icon_state][(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]") else - standing = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]") + standing = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state][(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]") if(!istype(wear_mask, /obj/item/clothing/mask/cigarette) && wear_mask.blood_DNA) var/image/bloodsies = image("icon" = species.blood_mask, "icon_state" = "maskblood") @@ -1292,13 +1300,15 @@ var/global/list/damage_icon_parts = list() icon_path = "[copytext(icon_path, 1, findtext(icon_path, "/suit.dmi"))]/collar.dmi" //If this file doesn't exist, the end result is that COLLAR_LAYER will be unchanged (empty). if(fexists(icon_path)) //Just ensuring the nonexistance of a file with the above path won't cause a runtime. var/icon/icon_file = new(icon_path) - standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") + if(wear_suit.icon_state in icon_file.IconStates()) + standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.name]) var/icon_path = "[wear_suit.sprite_sheets[species.name]]" icon_path = "[copytext(icon_path, 1, findtext(icon_path, "/suit.dmi"))]/collar.dmi" //If this file doesn't exist, the end result is that COLLAR_LAYER will be unchanged (empty). if(fexists(icon_path)) //Just ensuring the nonexistance of a file with the above path won't cause a runtime. var/icon/icon_file = new(icon_path) - standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") + if(wear_suit.icon_state in icon_file.IconStates()) + standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") else if(wear_suit.icon_state in C.IconStates()) standing = image("icon" = C, "icon_state" = "[wear_suit.icon_state]") diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 3a8dcb74216..2eab7ff9092 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -2349,6 +2349,7 @@ icon = null icon_state = null species_allowed = null + var/suffix = null /datum/sprite_accessory/alt_heads/none name = "None" @@ -2360,3 +2361,4 @@ name = "Unathi Sharp Snout" species_allowed = list("Unathi") icon_state = "head_sharp" + suffix = "sharp" diff --git a/icons/mob/species/tajaran/mask.dmi b/icons/mob/species/tajaran/mask.dmi index ea17113a2fcc51b40afee94e89ac796aba3fdf86..9217fb7730c6723006dd3722caf0a7d58397996a 100644 GIT binary patch literal 27016 zcmd43g^lky&Y18;#YZnT`)MTy`QU2 zo=Qj#Pz5(XHvG($_N!W?lZ}@={OTN{p)GZz*o-of(IlMFZ8)PE)U}mU#b$qaFy2dn80hZV{z1TRxHWQm*hr;ieqHMo+PzL?1HLESF}f zUT{NRYntncCQDBux25UhPHuI1oG4%of^W^ltGxMuB% z)0M!*ih?T?@km+qw=f*7aJMY|9Q|?Eb{!=$QD7{=0LM3wEa(e|?O0BWec=19B+y_| ziIijmk_e<9zc)t@kYxC5z7i+9-T|n1#rCRs8 zuK$i)6FeiZZ@ys4Edc;F;Dw@`ws+djf}e4M^)=*rnh%eRkcvulW>46t z;k;DUu~tV@L{xdSrz9`*bLMFKz>$VsL!m)pilc!M#Ly#DJ+Cy9_o3)3sSHZ0xK2S4 zXY_S4%thiMe12MRv20_tJv7D7d2zpfkHLG;1BxoJwy_C`0zW+uzWFrb+{J#rsw}<@ z_8%{x$_Z<_+PmC;^R(E>eUT-|X&U88p}KtdMX0O0JG!Um`P$#Va)Ckn&8P%v!qwH) zF41Y@&@Wu-@_~8=(3dJIv_JwR5WXS<1b0Q#A0wBZ8(JpGeq@oJMUr|CeiQBU3a&*! zj(YCl0z==QY6ei=%WYS1hh49+7Vx4L>ZT06HVcY0R_CMQiBk=$BVxAyd_a zPE(v%A^Z6Fh}JxN`jneESQucHbp2JWYC0_f^v^7UQnwcl?mO_gI&j+ar&HR zvA28)1W^YD)4SX@=7TnFUjY(;j>18qQQT>)nvfxohvg4}zu-uH6$*-p4uev_j9+Y=ith&fx!Nsrc|(@Veo<{!NVb`1W=^Z=L)qV!G8rR%(3oODC0 z+<|-SDs^JCjxtNhv5bJ1->ZpC1~U{epQS)}b$#{1f8mJnj4%CjVG~3@i($2U3vn@D6d@tuJ&bWnH{N0H`!9-$#ZinR z!);v$WvDap8=wgni~KE2KEDI1+O9~XgxmK^kl9?d{l>R^$-jg}9c5P4hQ;{s?CiVld-DvS$pOIvzH(8a{7bQ;`%8PJRKeQe zOWRfl337h|c%@3KnrP3E&9Q#cIftHSC!T0!&CxlmhE>z040@J4z-!r!W`}=<>!2wb z(<@7>T`1`Hd^C)J%eS5P3b9Ce?apxuwyzn-1;jLFpt3cQz_2-~Va23<< zawsYJ;q{#-50zYEc$6u&^^?3qpv{Lm7b^PzH#Ga;H;;k`YwGs$>APRGU8&LgjoA(4 z*LUEe_EUBo930@(YLCD7j7^}JBm*lctbaB{6+OP{yKwE5E7mP_?j#ql>nOWJul~i7 zTmrK>4-UZ8gF*kNB}QPKXZ?UrAY8I%$B={#uYd#rF)r(60g%gH=txAh+s1HKRnr90 zny>P1E8CJsbBFHoVFO(a$uxR{eyuU2=1RC@M?jPuG=iiim^|pX^&8v^Ic;-woGE0L zllUjGbE6m7c9zgEHT?vNU}3xeGD)Oe_^hFo_#ixPomd!NNYbim-m4H$pF#E`@~C27 z*;LQmxWn~uedY3zYCoYcCx?g?1H;?G^ z_RMs?Mr+M3PCfu!1l&)#+7wCc)J5!)wdH;={*-Ak^G?7ygG%=&e#diV=7KGTq;g|? z0;Q}bUOiMEg|7vW|I~%z-6E0cB23-N{i)>qBITkC@u%l>P^qob#{_2BI4hh$P=>>a zT|2TSYf}V2RuBGLmz+-G@aW$hy!7wnG#?1`hhMe4=?(qXcfoG{T|>+L_EBTs#aM2) z7!lCN3UPK}1=^U($aJp%^w#OJF!4;mE@@qUhQ@turn(oo6mz(%$K!W%QK&VqPNsq0 z@R`!8!ydzqWF-?+D$w-Y-t6zspSXb9ZneeljOmA^n5&?O=o;xkAk%&4eNDg_{b*q+ z>&=X!;H$v#rR&li$-3Rn)~F>9R5$8!H*QI1D#^8$jPBpiqX37A(Zr~KVBkbsJ%X+C zM{jGreQIZ*oBl%mHg_n19%Byx zIM`0+1yP1#I%lV?Rdlra&nEdS-mtfq2Lcvmt$?1%On3gS*aBj%VxJ1dx5KwawtWz+uqZO z_aGg%<|!1%ItFtAkH#Ic7Ea8%^B-kR)5K`dkA^P>d{oxw@9TG6E>CLcDC-Pt7iHQ7 zSNUmtW@kMzvWG{89?a;hUu=t1iGT{$e$A?MYIinwSHmh+SIY_1;ayDJf`?)>3XW%vNnflqc-YDWj2Eb2&g9kaQ}pi#6(E!G4&e{h4NV|0PX zB;odA4RHB9glm8^u_E52M;%n@>Hnq1 zNB#7oXyC+{srWjC!d;2R#(S2%ELDyt8NcZ*yk!ln1$23~mO)***Kyo-B;{UaT_k%} zo49TIYG|)-X8KCO6SRS-YJ^Nz@vfe|U6~&#pkbYO`AMX)3p~+13?=303@Z;s44v^! zIo~3LGp2?Db5~pSo#X6Vg&#G6o3~aY@w#~u!ptNad2FGi{My;@j;=XvX;0Ko2>h0N zXR5dYsN3wU$`Pa~E<4`h-x5I#jE9#=*fazLwDAvnoH}Ot;NDDrAIZavA zU}{;g>GJodGUi?L{BDcN(4NVjU}L(aM#d$~DWk;!R1#JXB%kJ}SXN`fIo7}ri9_CR zMu?C-Jn+sWIJ@k0XQ*&5<5zwZ^h3e+m~oVrcD_)M{#`5-m7-(Jt(ZqpNHw4 zz5Rf7Dn;ro_S;UpCwrPKrsVr8gnrS$8U3tA+^YZb7Bk7(dkA}Ts76IG*^g60O?1Oz zyShvu=D?<$UVEx;0n)^IA-wSnF%t$rXTt+e*lxdTQ7ySMlpD*A7cRN$r%Mzz8th`0S#GN7{N;*p@j83Jq z;quo17tXM^izO#%+gt9CCc+DDeTW~3lLgE8%EjUHL28Qx;CARLfASK@e0qSy#-bzV z)}qeqmZ~P%eN!-nRl|3`>26ZX%-x;5UYrmcBaRp6M@bMIM?{XP6($7S&$V&SdkKMq z?n4ue&-+&%8q#MM^3RX)C7EE`1)&1W3nPuw^Lz?QwaL-;G8A{p4*EVO{|6p8vxIm; zgjCWK)*c?^^0d{jzk)q0W$_PS&-DqBnqNxpyw=lF-+!Dw5@%X=_KIyjv>d#B08UR? zqzu5y>F|Jg+mM(?s|dap+CUCzKTitFV3~LOu2v(*p71Yn-dqTufcm57TlFLM zs+$ym#Vzo_?g5sAXTH$_;m{Yu=?lZZ2q)6sL5(QH(Ys6EYVk7sC_Nz}&{$yS`aRy$ zv_s@AC`qeUfZyq#?o1tu4qt(HW(OQjhM*fH+FywbNh666oG@lw-V!nZhXl8^2;cb5 zLrABHL_Q_Gk|shlwfk$Z{cBKe4`&{0axU177eK|{uUCoYw2ZhOD z18PJEhA0%9-japmB>z`0yViCIdQd9HGHS^=xaNa=kyqElgnF;J5s{uGa)-;*J^S1U zWeTU{`@n;stG2EH04O65P&l{bTD@SCF|8seYI~SUessCCsxLvW$ofabdgGR7gt zGvTnZl}?Vh%J`z5hK)+nuM>XWo%fd?c+~OF2}lTBii@{vZU>9j8owaQsPj)NUr+1= z{|<87z`1jIBa$ch$xG&!oe~VnbHTusmTtsuR~M`d+SkYSPdKfmr{^g|fr5@+`9L!L zHv}pWd3l~ymyP?wL5zd_3agPm8wD4o8y)B?FksWs!2r`8PcY_vBLpr-cnrq4+Z;ZxVx4llf=C8&4F< z$bNArvDL*k`;Ca+NX3djq@Vq{x(D-~o+uufM5hyYx4-c5;dO)gU>m02O0kzN@k`}O9E;$4lslx9+;_dKDT zV9aBIo~lGg1*m2G>tc!0<9GRu{flyZfRR5!P8t9KKLKz3^;ls0J5bNS355wwQY=lN zP3vQ)vU1(c#m?MXR!RWQY7^4jqq*vd5u^dll=t>Y!?R0o_f>7s5+)2@y`ARq7gs7; zaz5{1l4|x#z)^;^@)i`d30PZW&xo~HxQ$2IEO%+iM04cu)7V?UNQaetR?fQp&+y(b zP?%S5yGUYB57A-7*>&03L*HB*O_v)VYM~?g=@;Q!3znxUwry|d$*LaVZIrgX*V=IO zy#aX*&PL;H4L_60FX{JLgUX2?l%8uTmJ{1C0Ez=A4y@|x+ayLO}c!qc1lW5(W*z$ z(n2{VCC9R-=kaGLDUp720fCjf#r%{%OYKaP@V)#E2Ybi)&Tud&rA21`{iXtJR{7UI zyL5$&7Pjpk_#xp4QuaZbHP9v_(E+c0-Yqt>sQirLH>WS#pv5t~m}J`#ehT;*Om*kZ8N249>>pBOwip zzw_7i-L?&uFxA!;#;ep+cjC6AUp%N3vwQyuF@ICe#!go(%KXVDu0inOTSLsALJ(O}gFif5OjtuIkWq>q<9;@jM7_+L-XpFSx8%R#%m*tnMEj9kI2x zq89!7(nAjq4_Cg~!`gelaIv=*mk4lha+3TzY^`)fpI`iV`g(-S`Pyx$jTEqGQJSa3 zsUjut4TFO5!D_fFie-6dR$NiSudo!13tyHigHD)l(~97tbM|F7%G31)&6_`OEQAmv zx-yfgHg8Rle(&_nHqsX$`@oQudmZsC$aV7Ubz;UQYXITh(AjJ^eRaLty32zvQWe3Y zqsZPwUypjhe;5S9X7{A2eZG-pfXdulY<>c!@Xmvx(`+&_roG4f;Q#JBf2hFfbKUwk zdrC&e51*Kya2IBL{=8Bo-Xw@ zV+&T~X))SLQw!c#0UXH1w5k_tU%$JW$Y@kC0V8}R^hbSa%OTCOFNmO^FzU<%WKCxt zx|1Sq01_Hib98OTeQFQMSFL#Cm3-_GA5|jq6((q4kM7B z^w(6oA>ZX*9Zi8bS0<0&3O3gQHKODgd5M^XJqu`K_;vYg>7CQC|2xuCTtK6O>>mYK zX&Chgl6gB3hxm<^lN0CUB*@FlOP2N%gJQIukR)w0BHt@vTF1fp^pA8-yzAp~xbb~L$xM^{{GHTh z@1KycBkT7sPPh88QtTNamFO%_Z&&wd{;e^(`d9u_5#<`Wus0aYur)hglLqa7$H2to zW_9Sc|nuhxq_WE_3FVlcvmmC|@qr+y*VZX(%@}Ny&f`2ae zP}GjV8w>^oGBc%FU`90b7-=_3xV-+HR{yxX%$W;7+jh*WUlqoD_!7UiS|&sKK#8DQ z$*N7X4w;w8vb&nfH54s1*ZbJMZ&#HsdFus|i6816`ok+$*sR)qdPo${YvmU)a1jYR z0};u_cdwOHrY3hddySZW;S2)^`&=|KY~a{^Q{WK6(P_ zr-PF{7f=G4TGXM>`RL6THhfaOIHDab@;H9%1o1k>&6g_J zCp)`jZRPEI+3&Kgs9fdf#nR}RV9~~EWN|q~4YZNBin3!IgjiBfL!Mneho;{RQNTS| zrML;mwi?No|HTaDcrBUf3COj-v$H#cc>zP9-KjcG)$;qI8kR>h!iODD5_B@W(dRN|arOQskOk57&a!n^=%BIAoi)6B36YLfM-`}SI1XEPJ(a32Nh<)XZ z)U2MYY%l@|@z~auxHAL^^K4`Wj92%u5tW*TrVDg%qUR<$(#;6(kj3UcN{8CH<^BEG zxVY7W-vedXG|vFJ=O#Z?(gK>yN`K6cgCBB^@yE)74aPGq}v z1}xRW4!}ab9__7L+d4&R!khndLNe4?o^o}ba?%^{Nx^?NBk^ASQ0r<5xO6XWby||q zJNxQk&03B07X5+~yIjk8{#&-}65~>Pj9-9&)#fxc8J7tsCA3H>eY|~2!52{PC4TMj4K*5ylM&PHsB}f<2jye40#)rv^=yYx}G7B%Il4f$|gN`RvywV!MME&TDId z!f^uOc+GXgM8*2J?Lu5mA7W$a?WbW~U<;6(rh&gJ;HmyF2j!%#|NAC$&{E?wmKZrW z=mqz~4I+a0VZJCy_N2R4XQ6lk!>Wgy$yckrGb<5G-zaJCL{*F(`Ia3v-ywkW!0kmW zxxN3%ML)XMHM2JbP~VB?);oUT6!TRO>GE@JI>j7X=k)LDFIwFhivko|KK+*_r`V)4 zDym?s;jlkm-t>A;-M*R!EqOOPUl!}l4+tLE2s>?l@RX#&hx&YW&VsL?hY7v*C!`sq5Up{mk2It(Pt;StUJ}+YKnRg zlm=o*8a}mQD>bR`iU_Xya8o?bG|FE!G)eX!p>M{^KC+)8Ghb#002dfF#@p4iv=v`^ zH{55dW0A4voZ}B&;PBt?U7+tM@e4pP3JfUIN4<$igNEQp;1w<+ISh(7lPnaU{xv^u z($;gNTa{JRYi$VGJ#56p6pU!Fw|-he?-QUe!D8QUfoC5s-ZqZS#_T@3@in%-Aua8W zOCf?}+o@&3qpLZWvGjDZ3d3|KxU<@yHhs9$LmGVudY~}-a|zu$VK z;KivJzDDjEDN}+AoCW#v0Q>hakA+a{u~%-2N%qR|Nle7R<{ad<_LGo~e{lf3|X5*Y}baT2uF1;0~B_KB@iQX(BEf*{mdZv9OXx{8XF8P^o6BdN0ZxGXmJw z?JO2i193t86yTjUzJ1l+JcV`Gp8iH3_@@bS{EA;Tfo@9PT0qeqd4aVYrq(+T=R+NP z>jYc^YFq5QphO3c4`wF}yf1dCcNl8%*o&{%NZR>~!o9EJuFl;!B;5CZR4;CL1sN85 zmzs*dzgv9h+_y0{eQ=T~d;-k~EKj42kLD$4!wBYJJk>W+*z zWq?x)!;@K2s2s3~M;AyJRz*@F(%Td)0So*RxY`Iqds5czP<k-oSd#Gs(XTK>3$={dIB7ldwXx@F*4^5 zDM_I&>CUxRrIMicHJFVuznEeY+F=D(hVm$i)IEy@=%f>qk}UT~1){hz0uB2sXIeJB z5T!wj*Ms7i_hdwM|7<#P4M=JSX&09LiF_8Tzhi3kS{+9+0!%Z0i3 zWf9Roe%(wMP9>c8H2PjysV6_Q(}zg%MSH`=$QB%V7H;1=REo@^J_l~Sa4R`+h#2X$;j}baNBqAYh z=VA>AYY|@}ql;|czb&PYr(s#6ZmK6lYOJ9Vw;dSJ{fYU^XW#Uy$%z%n^owP=eLCIx zfkQdb+a1GoA8Zf#otmlmOa1=Uz1qMceK0sxD(Xu@L7`r{$}hF@W)2f`K^v8Cc5dYM zD-<<6w&vB0I3GL0mG=AoOlLH4h-J36TpQoXwR@Bm>CZJ&XIOo*LoGR}0 z^yyQA^}$p^^~jcderahFG8U=ZfS@y6w#sRVg+~vj2yT~Zz9T!u2nmz|6Q2mxR56@j z{%Zce;4{iF1?wE;9q??;RHnrw;ONIPs6&so)(1P#h$OfWasJb+~~${rk}@+`w0={`S-zw@2}s#v!Shl`adng?HgG{ z+K!IGh-u0LEb}nw@O?wvw%5B;NP6cr3tS$#m{5`YH@UbQ)qZ*wI0l@}iUX6ObU=eusJEWxJ=)pGr zN`oo^?iDSTSjk+cTaZ&zQ+tCAhSFm(6qB5*FV)m;HTxo6O_rMdYL^w9U0o|QL}~WEExM*F!@VCK#4B z#J;X*tv+xxP@Bure<*RP%<@5xA!~Ehv=q!o$BuhC+&(iYL(B} zV*UvxFT4w1BJR}&hUezq=UClmk;ym@lmc_UAWWm)_K&@cVA~ef*gU_n1BK{8Q5$Py z5e8h*Z{Q*y_J^<(UUK~-dQb-m6Ic`Zvs{ax;|Ie5co}N&UY)9y3f(KT4PcN73R>_0 zg88qnO$!B7XP(eSKHb$E!%Fg3mZqPe^}hCWOejatmc@Cc?&Rt6$i&26oSkfq-ik8?&!HQcV)#pFC3T>!r;iIxUy^lYd_(u+rQ+QB8O3My z*ol4egROXr)K!SS&>l@GxbZ4P^ka#C_Dgl&&mys)P|aTFswkp&7Fach>u`NZf!#B4)SlrfXU0@%WPI-rCD62CLP6kW zz&S?A^3fTTj+QpJPXPGy(~>Z7v5`K*|AY#R{W%~oc>etP!5Q0q5EJZ4`(iPH%=zZM zt0pf2&z(P-_UekhTT88w2wv&g8cZ6q;}ehVuxmHZD&~q4yE(7|hcImf9fSAjjBQut zunf<2y+aB@`7L51D|Anq*Rbk2_N%C*#15+PhkC~EZj8X%>W2_&K=$ohShqqsSu5yY zfM9UM{|X~7BNK4(sH3BkijMB@cK<6;dpCF+4%x@Y@BNmx!j`UFThF#;Ypbv;$!VkX zcsXj@2D3UrYe=z@1)AV?6e~VJ)`DT1+9Pi3K{z%{CrJZsPmYbu(8-+uoG})A5^zQ@ zyfNavwQNcXOvOrm^jfbi7)womsw?wuC@0nO$21GBVDvpR1yKk6d52}LXX8H&EEo>(aJH@^ZdfvWy?)84N zj%_*_a*Xx{_gATH*n>4LqkuH?lEK;PZ)EV?C{}QE!o9P)6mNcS(65WHZnUFQq^oeH4Ri zk!1%3@7c$145t17o%{ROLFzc%-{+?EH&$krN+*h~Kqqjn$dqzbUBI_T^rMpc^sXdfZGMG^AON~_~&i)%Hgogcxhxe zTBG%yuFvLAM$Q)yO#T^q{?x|u@*z<%F-on0=yHoLlIhcb zpgY^V?N=_9$gT+&AE>^Oknc>B7S48%TN0b*KZAVPl?5aBtH zEY$I;vU(5oclR(Iv|*rV$T=}Vf&#;IC<$+wkQ<8X&)n_>c34Ulx)-A|nwA|sN{@Bu zWSdQvHn$(osQmpQ>s{G0+6$zQ7H?P3=s4jPm5H!4U9tl)el+lSz~O#1^9PjYgL`kd z*O>676WcajK=f#(@~=kJwmSR$f2fjo|F?Wb``^C&Qp?14cj-$?%ELA5=&o#^N_s8J zvx8-eg$55sKuX#t*B;Ya?p~^k_LP=7gNIt2AN}=M#DFdGN6oBGuXfo%Hoo>!Vq#)` zNhDa&U=ORjp*o&0O&Gk9k$SJ=8{zW6j66|ROCX3;M;@^?c#zVXJm~zGQkgJ?F+Wg% zZL~RwB%bf=gPFzMH*o_4D&{}+De37WOGbR_P!%zRlmh84D@agg9_Q?7vkDL7XO?7mJn==q@0*3`O5qvsIdBkXZvBsLtyRwSTRPp>=1C z9X3rV@Wab!7S=4dag2`6|d?!5=(A(8d3%8Y7!hg^ zk%?_4?N2N@>RrNsOf<->Ly~`7Qseh1|0FWMThTWHl3s(Ef&7v+AA}0u;9h$6krrqdZ}i)`&+I~tdG@~aAb)hBZAMUCTjYY zK*3?Pb^ooy%jI$RQt0opy)QNXnaM z=czb$&TN3Wxj7Npqg7c?&Rcx`N{UrvZr&B^B?grt_Y5N>u|s!yh7`>*8NmI(y@LrL zK_X$!Z4Rd>tC`0ODQE@~0#&*0&7lXkAKmb>3Chofu`pKQuXJ}tzEk`DiyQ~XFn#b; zsny5{eSGTFa;|PA+r|va4!eVk0&4GZHOY=}s*-~?Ex`6fe7brez{sh%#VOh=WiUHH zlj>7=`0~a=<0zOIC-ywo8>}&D{4lJZcHqt0IAG&q+vtf+l@Wm=$49@muKbOsi|MV@ zeIbE&*~8p+O*qTlJ|Fw)>Lz}kHL7u-ViJGb)O>L&7fRsBB4`%8H;fJm37OcQTl3a8 zYah*dHrf*47ytF^-%(R+8U$hq5DF0LsYgb(zfpP01)9LP7vvnw}Ne#?kY{^9S&2XqG-)K!v?Yo4Jn9}H0MFE1l;h>C?4 zv3CL-EDSk%OB`yNK=A?tukB_kZoG7)lZgBN{$!Al(%}sO1cL5N>a_|9%7m13ZI}!2 zgiA_Lc&0Lc{rZ*itF_&vFs<#-S8xB*Nt57K;$XKZW+GWxS%Brj@=4T7!t`V$NxGje zS;>^Jl(2|_w}oT5G2(LIq_y4QW(Q5BX?yg;_aom@;N|Jzg9OQDc$w(g)E1i`gNiSY z+>#H}s5@|ITfT(peaYzDsY=04^gX0>soXuW3O_GC5drn9+qXCgkUPXc)b7mjFcWHz z&PPe<_DpjlOrT{^w>To_+4rOcrvk^+bZLBiwy`%#`+E!VDM?&lnI`+-%;ndTzsLX; zRj`^mzMCTcEbdA(22H_dVF5^>h)Z;P(xXl+e(FDxTz#OBL1ux?^`~-g-WHTCz6U(? zS=Hk+%Lm#()mR;Ph-JU-0r};2CX!R~M0cKel7WT5;$p6awAwdOWO&(~-y==D=&OHa z9%v~>60WGo)$c{FWu!}K_0a4wx;1ju5e}&92~fwI5B0mM02_7Q-|pBOAXMZefejhW z^WX5TjcM~CO9gl^!)b-_M+7}SMDx>+4CoI($I6+HDP@7tGp~F*O&KCS&sPej3<#$5 z#a(Ud;-85tbe#Mc-kJ%mp2ry+{@6#tq!JiBNT98o76LWn8Sr^?_s;1tk)7_lEff+L z$dyjz{+#jpY<8YO#3ng36t|Cs3DJ}hY(wY#r(bZR@O?o^iK5cXLkVtf^APf{bYgaa zHv0Y2j}MKD6V^5a*qIW#|d9bE_7SyzAQ=P=T;jSp z)5#{$vdo-c;g|7`vVqk2@U-|zo&*^Xxi~|Q5v4-vV9l(5T@BxikTN(j-57Rd*_Q6T zLTp}bs0qHABfjXZa4yl*Vi%~dWUXXw7sv1oDq{C7!i7Smbo804>nemf2Nu-0Jvbds ziJP5G-DRzNCVFfygpBWwe$z?`~;)m=^AfNg^C zOGcf0y_GYHRpPw z!^wCMW;f}MjTe9-c;OqsZBej@)F-=LdO#|X&kTX9^t9{)}7;e zbz3KWkW<^AB=U-u+Np*3?%jsZotKKLIGB56Z>mm}UM4Y%`fyJzxyA@kiQXV~R*F^& zjr4B3&hs5>{8V-#r`WRb0q=k!l$E-5P=Ea^RA#Y6727yINYQg;0Y)(Wm7;-rbC7BR zppH;eJ*;AOyD<{_aAR*sKK3FB@#0j+NZt47>84jwO3D@^UUXMStDK_D=7&UCtib_8 zY!{vI$OL9zw=yp9uErEhdwulI@Po1alLpjQB-nGv^vej`JX*p`omcu!peBaJo+4$_ z!E2*irJ}(WvUO`@j=X{rMqqf#yQC;F$jZisB)TgkA%Rw(H<8=?Pn58TNO+%+hDj{U z6eJCTIF6cz`q^@j0wEmx6;Cw{?X((4zt|F-`Q;?myk7JKbgl~J@*v=Hs<2#0@VmD} zTXXtk*WLQ2n%+9#JaoOs{Fsh;+S@Pcx&W_K(tsx5L2bAS|Uc_n+5L&GSg-7KQ~x9L6Ww|L z<3TJfFq)o1b7uZuTmS*j1@X`_!@V*bC)A3XlKPOrl!m5^6ASJaZk$qqD@BgJjX}J( zjpQaW(z(6Wb-of8XD{^$^s8|22qt{})>nCyBF|Tm+!XL>S(%Dh=L{FL2}+O%2N;TE zvGp;wvK~ThwnSA*@w0gXl$7##lo8EOzW*cqcy_+8B{+MBOO=%Jvg41~X#PkNQ_90t z`h2ap&s6fTc|r`6_@ZgRWu{!H7zGHAP~A|l8)_JkdWV9PSHkz?!ECLQKt)A`R3m2f zKUj9Kq@;xLf5Gf4Y?L1#&0z%AW*nd=jmRm86J|XXqey^1uL&l{CpCtmccej*ZlHqW zocqe=NIUYfw7C@`199n?p%2Ca@gXXzGd<6mxH&27q#538MkZ4Gz!oeZ=d4|rfiZuY z*@b1;Z=Q*B0}wEx7}cCj%Q7x7JnS9D0kCirOd7Ddc7C*;j^MP%DbP|UFmLV@fRmYn zhC2TH6Elw?_+B!?Q=Jgvl|;f?B>z6m8Zl8wlbw?j4^sVx(j@VKs864MgRjiG7xV2K zol-J0$82ueNge*8Svgql1o$J4i$^~)i2OPphCnw~8^MXe*4=W!MCF8igFkphT)}WD zdI`#ym7CjTF`5m!kGC!^G2PhiELgis6k+YNd3O=yb4&VC!nU!0qdBbYzVRJ;X}bWN zpPf3zwiz;QNl#3;*tQ2Pe%dL6?uDaRG>kGhag)R%WiU|7Rd_xa2XEUKFL%uc`VVeR zNkB?SBk&Z5TTs(#)b9rTq>c2I75#qxLE5Z>x`l%*4`ePAs1rkMJ6@=f`RDaD5RC0j z`VYLN-$kR@LuV!jq|MTCDd)06oq=pn9Uzo0$6~p;|G{#zxI+N|e4;(nFh_o;j1lc* zO+>&S@d{-y6G{EsM9xUGe)zNx&J$Yx0ZhF?`=7#!xkQ%-$OQYv5@1ofM7Nl~GQGMG zLD5tMxtc`uSQCTp3!B)wgKdrK{=Pov^#KOG(vA-Kg4=Feu9y1z8?vt?aM@5n;14(0 zk+ADWKy`*O^D7qQwF{gLP559}JIjAjYHi+==?!UK!=zK2=Yro%{VPCr7}||15F=}* zMSXzSN$ZYc9=gmBr+D|`#h*sEjV_iELxas)eO_#&imEK}dOJcLpThXMM?ECY^4(mZ z2~8=-w$Z`#W$dl!?@o_}MZU&f7KRd5JAfTkr|F?;z9-`JoD{>}7bKuOXJKzvv*bPB z@=FQz@5B$|ctVI(_XUe8bR8ooSoy7hFKftRpVLFF`6b%qL7N5n!lK7XMf-yQ*@Sfe zR*W^Vu)i)vyD#6n!oUoVNmNyKy!eNUz=@cf*eO5igb50d=G*&jVVs;W}6%?kEYi#+ZC7`(W1ZIU6 zj9;$H2c}H;pXMV&)f&OK~q6rP>=H3W)gha?=EG*Lye+fH*G2zKr;|b9YoH) zrN!FKfK8>nNz)H?HRERAYEC>SFw54P3ZelaP`EN%6r*fh+OEtJLyf59_;U*zR>5{y#sDLKZIa z|N9%-6AwVv49(tBv%wsbbWelj?~hdASJMADlr0+7M7MKP;MQ}Y6e&p^+oN) zfc%hbaK0yl1?9K<5n#KDA1tVaVn@C97r~^uL`!+nff9vLn#aszp3Y*xQ{R=8WQgZ8 zvN(XZM>)(;gMDL|Mt%p#>w+FNymZCVYwm%RFq9D3@u0C>Sp|uE3E=Hwd!9+AzP-q5 zKh)cd1x!AVW5mY|Q2XBNXD%l=<;T+kIv_wH0(ypqB086Yd##EpOsc^ux&=t?)%mR; z@WpG_b<$gmlK_nKQ$GzCV3-U06PLyzbStUXbprVEfhl%Um5-qhi z^;Y45tz*3d%$7j$73;E!_rA}$5rmUlHzBN9^QCj^v!{yKpy{b$7OVS-!s^xA!+l}w z%4OPbAMQW@3ou-u%^(_N_uN?R>4zeh4z*_(6%5|%6P*;*D-XV1-TjCHcKY+jSJCDp zEspDN)Z4m;iPo)OfBo4r%@^K`jR2d>Ueo|mwjM*tFtN2=9TO7+d|>(>V#~J7`Lk~0 zIMMg{aa_n3{(C3yR}}u-r=W<%kNk9lj``tK&_wWP$)-{l0I%%kmWevPcMLxmddaB2 z{%LWvq!G+qFw~b@xpL(>N`}$G%m7{t>Yn{_)u+PS1k@0j-r1<_ByFI%y4Agx_~&t^e`IUqK!adI=KTm)@2pY1x>Vm=t?~fW%g$BAS|gY{#KPJpo2)YOUHb z!%h0LuLQW&^T>H}#~cpSbbjeBL4b7OU1Qz;o9WC57FG+F@!;OQZQ#y8E)iLHy7YCq z3trJJB;@sPD|_l944#*j)&8gtv;*^r(kcLme+k3k9`4-X)<$V8g~_%2*!u;B++|A% z@5?XA=y=&QHcTo1d~+FEE%tU#VHT+;|0hNHrY$LI_ixg6kPffP(Wd^ge$(LDtlvjg zJgVJrHO*Oa?e<*{wXVlz%(Af7KOg)GNl#o2RTyF&c&^i@iVO zR*zD6?I8rSBO~4%{Sw^7Q+=|!LwW3u6Fg4RWV~G{t~%XyPt3uz#_YP)J^V-V3H8bI zc!q+9l%69z9CyqmJ~v=H0K0qESN-|HfxDP-*M@x?eA?Zb7=d{9&RdDE{#-7OIvT2fF?u@`yeI0}Pa&JgEoRvhTwS<>isFVnBdaM*AO#WYx0x|2YZLLdcwPWGe~ zb6gyg-=7r8O=X^_fcM-*B9SQ9AVxqmC1~t}_QJx`yo{7)q5Ky8gA3uHEN5~GOEJ== z3CICsIEy5B8vffN;V0y#@H%cYBN~t53(wor;V_@Yu8&+IGdN&!$_Xjlt+b)%#eJD8 z=BgkA^!T`H4kcn7YacS1JU4ZHpPE{{LD2Z|va&KZ9?d+eQS6+2>eMMJC}1>7hCd-mtZM)*o$*_ZY6$<p9xxQezCYhUXn}dpDjCHwM>2j zz7v74a>(HMy7Q3{bQ(K_S*uACpuiJaBxx8KEPR+0GJEDfef^-?=~lcHYEwV#cJ zQA;+S?Txpq!px7?%E-tJ?IK)bBgk-JBhDNK`Od`U1nb2GaPf5WkO%m>@+#!hH3jPD zf)cp{U;OpgB%eQf_K~6g7aP!*HkdLn%Q}7LjJc{yf?cR*+Kq@tS=AyYT(Y+pXYMh= zM>#q+1;cT(?Sc}Hpg?*a_Ax-EFA6nKp*p<+>$!gUki9V??g^|O^Es^J(Snpb7ZSp= z5WsfkY<3>ODr}yk$}|ir4(Ilfo_Dh26~Y<<*8+}qptJp#H`1#y*1VZcYo9}%*|G|F zvQhAr2{6=*%G_#L8I%PhpAIm=TqKWx0PUi}!fb+YI^k8BwJw;I^gEthRh0rBl`6WN zO0`Q#Pv2rV8bldqfKQ}<`QTK%s#pdr9jq;89O> z%Al4nX$&T@GRokWeAFTi`5aaqCsf8fR^dx(IgABXC)o40XqS0hs2jpW0WqA-d1MV^ z%vA+UoRBqBijPnOX^#nOd7~K{{ou)umBX731y8z#f?8uL#+aK7TADO+b`!#<&uLk< zj*MKYS{y0pOv0e&+H<+MEd~Y#sdY_Y9r=UCO8_{ixvLbg?2+_<9)qZ$B<7g$#NEtlW;CFKkfmc@&8GY>O> zg}2{!NM4p}5v<6!mXxw>iF<&DYsCFRQM@u~ttaNCP- z&5R$^P2KU4turp}hUE}>@Dv8gr_W>|1S;wJ0hc(9A-W>nIWoedij=?)>V`ma>_fOF z@B$twT=;mJ*dOYtS2Vx`EpO3AvI?a_t)E1C1jv}97PIoM=zd>G1};?AE7bWSf{ge? z93QFiS%@%6@Or*+m$C%81#L3x!Q&X zA=4umo=0U+=_UBYj%+PNul3bKpf5~BgWqun>JQ?}?}H}1a*n?~d$1`kx?~nfn2GlB zUR3Chx6=os%0B*J9@qQ`S0gO7GhbuW{|5aG=5k;|KE4c>sn=i^mBmKNOfL-JiPw?E zf%zjds0rOM#BV4X-rzZ0&S47eW59)qYuzB|2z}c6Dg;I8+ee8(D@??eL)+F$Zh)d} zzMi!GLl2tniFw@jWfWM>I{~G!2;W0e=RAqMMR(f8BsWA|RZhH?COp2W?LmFGUaO`m zVBV9nvh~-?y#2=Y=wCM5L|tuAjd|>UmR_Zde(z0ml73g+vM)<{Q~Q~58r^ml(zFu9 z-jYh_py{>fx2H*vEc+L4yUWooo)9bMN*Z7Snzf0F#8el#WLBbkx>q1UkF#alua*iQ z^$j&yI=xSlhaQB`8cWK?(7U;4I>&fyi<`cVOO%nO593L4(`LwRsb(dZwq{c?v+*P8 zjd#clOTn1Tzn_6o=_XAa4Vt{$&)2YKbGpr1E{?Z@(?v1_hh$#g8piaOogu9c3bgsi z2UL2hSs%_cnUc;c^TFo_BfyB^m?qv7Y7`o#QIIt z6$UJtyee|nW;&yvq}po5>BZ$j5;Zak14Z^xQE7K-A!bmvL9p1Iz|2lR4C|9ERZ7}j zHPm6I9v(TrGmFuGv`j6qB@0RUwzG&l|GA9S^909X`K?IMz@}i0-fwaD`aF&<#OF{D z20C`8^&xpDrUdYJg7v}%MI`u}Tn57w6>i_wSii0>0!){Q-$|md8*KbQ4XB2Gn}Ud5 z{)fZ8f4$vzPOUX@oRvN7y4GzY<&8Y+@MW;ULz|)NsxNDPUZb&APmrvWqI84j_wcOU zhq1td5yk62U>Jja*ay9O(20Ul$x4+N>NWS#l!uPh4DX@9sg_b`DA6|V2h6^pD0Z*! zQ>WomKA$Y{(%)DBwzycjo{WCS0 zc@@~-f{g7BK+zq(gg)EKro8A-JK2^8NgR$|YhpWmB6Q^Ot>p6Fu~UE&Cyg4PeM&26 z4L3U}wcM>{Q6a8RJviV5OKtQJR&G!yWK^s80Fa!GkJ}YEX*AXDK6IaVpx%WHr^J8? zdc^RvpwBi@n|_aO9PHZO+lStyUFLkCWN{&&g2B1aua?TltJSiUo>U(4+g}&ohxRlV zYj(e0rKqiyETO3ij*~X{q>C?u1}}1ulAn2vg!Ol#v8#At;!vZ7bYqDe-5a9=3~1$(-1V8qHfoop9iW`Oeryt~Q-8YfNul}k z4b)`kr3$yM*5}Pj$*`{wspHetdZ5{`0PB0ZVn%kdFWEcfV+B{yaEWBK_%W}p@9l)N z>D1Es`9vb&P%?m~7<>hl9#MP$K(i`Wr2ej!41be~*dqVAVW979hq1AY>6by=he{5f zbFcz9EK-BVhFMkwD@vMilDA<*%f}s+{0bjBtY2arx}AWrB3S6UVog2>I>s2MfW0|r z(as^eo~d;$8Bv7Z_7vdz?ToRD&Wj7B9nulI;43vw{lRVPdex=%+%r1W0?xv`uK?nW z=O2m~{+W3F9W>dPuM+coMA0uBk~sJ<7SVpS2WY+)y-6!+&6oF-T~+)RwY&~m$Z>}> z>$6_~aieL;ZfdV;BC&Q6vD>7iH4oa@uFa8Yd9S^{EU=o<&X9=5v}VPZ#SArPs@Lg4oNQRqU%_XZ)%( zyXk0btI|Y1o_Ru{QVMf^Pnrw+OWXs1!)tc~NqF4vCrHtTW01o7v+V`wdF^(uxp2~?8KIp;U?&rRf( z!*^UR!>JJtelFAPUK!2@$Aq~3q_#L2eo4})lJ4Fvjc`D{W|3qekng!$MwA8hQ{Ev1 z+78)(aGp-dL-%+ZWE>8Nba%hMzvj=x-hE+4tXDaOl#5xLbssqOliKY6!VS6wrgo5k)7>YFYmYY=O&sd?%gqz)h7CLBH6NrBdM)}u((z!_$toUF(Z+#t3! z@`VONs5{Ryy|`wpu$eI=9~q!L7C~`mM^7*k?93-pT)abAI@akuxXU8`Vo}J;8kGbe z9WZw09-TpM>R&K4N-<$5XD~6yo7;8kJ7)_GzpDI3(vMb0!2==b|>J2w4MEKQ*3-ZG3wRyJ>1O^dv?+Ed?dlI~KS% zFP3Q5#@0T}@lPdvF1hhkZppqpW*x73CJ*spzL<=8;Fp?b^_}g` zd%hNWRNSgtS&aKUXDvi5jkHz^GlV5{&K5NFAFne8Yy**|&cFM!G2O-N$12VFn9MT@ z22udnZp-Ovef_YL;F0C%_fX@8qH+#^3_6Qd;>~CDgrh0X?`Zd*z40O{2%i==HE(a3kK&!nC#MWG zaYy7+QuYP5NHE)gucRFcTl=?2phSNIk5s|wub>;?c?sgsH+a!;O269YcL63ogtaKu z{DP0efaBNa39f<*`aI6-qW}?xSg}4=z6h;#rD;LX%dQ2zKQ%u7k3dh#_N$WwL3%b( z(HDV2RoVb$z7{uhZdhB!2Cs|qF%b0RjJsrT1-M#OX&dBk zg`f?Vwmu^;|MYQ&Tf;K6#l$w|tC zf~ql*chnFP20{0B! zW%(Ird#=2U>kma*|x)TUo~?|0)8khmz{QPgq6 zC%211iInf~=C@wc?=fmv;N5~4kp1druZA&n($B*rcSlSr10xqE6_pFl1n%#z`&-Zl zQl|V3!p84g_YqLcJ+D(0=w=?k;OMFLp*};nr#AZbaK@LrX(BO7Z^C>Po8EMpi>ns$AKB zD~nb0LkU?J>Ih_OtqBh#Zr;kSbpp)E#WS1&_0vV6a^Qg6 zw`l1*7jz|zf(-Q0QTo!R%M`J0#(d3g!Au^qD0m|T=@fi(*7ppcewBy{u37ef%8^1O Z^6q)x!uH+-5KDuOnOOZ&e8lb7{{S#h*yaEL literal 28737 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 Y7B4}MT8ExDL*VDA!Abp`gXgaP7j5PpjQ{`u diff --git a/icons/mob/species/unathi/helmet.dmi b/icons/mob/species/unathi/helmet.dmi index 4ad3b228849deb6ad4d261692ac3b65b321c8066..46b11152ba7a2158043b1b5972cacef686cf0417 100644 GIT binary patch literal 36300 zcmd43Wmp{Dwl3Ou2$n#CTY?1*4#5clg1fuByF*AIxVr~;cMtCF?(Q_+^exu6*E;*$ z``q*Q>>oT`HD^_I*PNr~cx4npveKexukl}lKp-@+@89G>AefGqzgLJr3mZj)1F)mv zuBhtx&B(#P-ptm~%*Gl7a!t*R6_oB`d?P$JKrM38^eMo)TCh|W`{eyc1B?rSO+|x* zg4A>b1pGpZt%{oK^b=^`B_?sb%nUJmGmVcZ`n1O3tx;M~h-{&7LF`AxuW!ZGe_~?mRT!He`ZfvE=1^6J)a{;6F2S>k=D9u` zg@)RZ+Sr6(1!{qL?^Wo;bcuSTfIu`FyB9M{!SNIf3@(GW@gA4Od zz7vmDS$GnJ6mnVjAQ%mawlAxxma{jIjUpB+I=$w#4r7&_3|H2c!3CV*6cC6MB=${E z(KYor)lF4t<{7FZD%j}<5;T_Uj(XFHEQ+ciF~K}7@6e#?OvG$sXx=4!KJ^47n`2mn+*obkl#1syZcZ;eq9+$*gq>Mdwx`UD#(3gB*yl)OEs?`H5SQrj!=iPlKpwZ)|zAL++cs; z2ifNA7{ALk($3ycsbmY@n{CL7&d5jVC4<>=NceKH^!2{Y6`X+2HmJYRvLIjIkk12C z?|2p=Bl6f#{jIo*8$!}4FgtOs!(7_ektLJ=yzq^Q<4gK1;Gcn1YEdLx^vKGmR%` z5$w}5lO{NMhOuumSJS0ZuAoJtYiW9avbQh|<4Y}yU!^}7s*YDGqjnKg^XHKs#9WOM zd+l_A=*BjrD>#fQmZ8wG{ziksN@G(?Gli4UW0k5X1NtKoPhMs157K0WR%Lm-cWqOC z?=DAm2!F@}I3|?9r#1@QXS`;hHPuvfG#0Fusm5tjH~n{n2t$mZ;x^4>x?h)FCX{!=>H&Bu!l>1Hy#qg6WI#WN2HBV$=f9HwYy z2Z30bxf{(wEH;<2?O4afbACfYlS;e6#oTS~Y5J_dkZ1ln0Aso38~Jr6DzbM{)AB{F znz@AyTdJyK!un1P#85I7{j&77iE!>|4JwXatt?H)Xq%`eH4ezhLuUA$^ucX@XR@+1 zFsO||G=lv|z4m$}9Trlg!%sa~{K265%&ywPrPp|kY_eD{Hye|U(fUcfp^=6Ckr)Wa z;v%TXw1j-NKEdk~aq8v9wD08sIY!!K^jG+c)75u(^+paEw#jjALw|lw+h09;x`llX zpyJah`(k`1q`u3BO_4KMa;?RFi`>`OP7jZPeY_K->;iOhkKH%{_E8l0|}g!Z~Sg-h~}yQ?a1J&jTV}@phz|1)1kh^6n*xc zn=LLM5u8Qob5==ZpRW57+X?60to2{z(yeuk=7lmd6GowI2wfP@!)x1tV#nsxvf1kl zOP=1nJ;zIOgo8QG{pu8dxqwUAlnSLIPTblQf4*kw@9oC=-oQk)OkLueOAX8x8`v;k zI-H{`wqc-G=4umpuo+5S8##V)k7<8jukyYcb$m+zw)78Glp?%~++ri^-C7R$-TK0L07#=mCcY-9gtpC7#E(~|x0s_1>ch~m=} zOxa?KOpb~WyYceZ6!%&EMPQsQhZ}@}rk9=z8KiexrMMx$X}OwozY$HhorMC2#?$xn zoU>O_KKvX$mT2bq(a2s)z#!zY=`4gaK0mq1>@)CSGZP+KGPK+nE8ZDRR&#DWY*gR- zjsvCx`5dIKtKDeoD`M1l|BjzY0U0aQ=CG$%HavP>bAmpZmg``zeCZ;m?%0+U zzvnlzE=2riVJe$U>_QS(6D?olk5|cR&bY!AOs-&5iEpq$`J=m2ZAY9lHDPA&Syd+z zM$V=eJk=412( z8J{i=8TwVdKS|ORw>1AHZ$sV|1;Xp08Eg}&RbEzAuKu)hxR!_Rq=_GylJM(j+}7Tm zts6_U?1T#jk*pf#P*1zD|8Wt9eR^hnxt5KivBvCn`?`WYCQ==_XVJ!5@S zk(piNZxTj$9`0Q)ud%XhFUe88RyQB)Q3HQ;9pr|=N#^VBm_(XKCnn4IqL3#@!N?HZ z5`GX4;cT;@45eQ?dz4Pg*^^1F*jHSK>uo~e!lBncY}orgg-?u()UX|u_}Y|*j@s($ z;*8@plxMVwxl4y*S7RT^jCM^?s=COt+OBw^FVV`k@7SxtBM$=^Wu+pU1DUYfS{b{~ zn+v3BJ$=Qo0wAmDu!kAH@af3NubNf;mpZCBKf0Di-DmutP0fYHSvuNZ& zCEY)nT=`@6>=nOS`xKZix||!v&GnX0e6w69%5x=1`bI6MumI!D=2-y`^y=zj`{3C~ z=FUcb^~0yF%^=P~qkP+tZu^UGso(OYcaV*CPG_g%@*nv-$C_`V^G3+;o3IRoDC%@- zeil)e_YKc=5Q-f=ekeP0+AT~kwLM4AA%&o}Ke@wL)o(dYJJq$=B5Yzwzg?tAWowqE zHp|lb8zjSN^v-04X$VBtieJS9rsLxmoI8^g^#z{XZ|-cYRL$laTWj%FE)uFO4-z}y z)_%K-;ah5~{h12y?N|5ENur5zj~9VMOtR!hm1T#eqdvmb-FTb15+`LED&m{(r7@l@ z#U0}Xq`;SDcZ=@)xDpoAwpvt=>B6LZ)Ag2E`=YU7k-a0Y=67g-^me|{cy>jigY0>J zyIhMDD(x~j5ay3lqObrykFCZ-hAn@u_g~1M#_>& zSxHr!SOYj|f9gHKbCO~BUF*FT^S$sriHLpWABO%u_;Zx&Y3%>JTnn4~#MG~lX|^c& z>@*=%J5%s7;3a7!q-K6jkTxY_P_PfG?>y-5o@eeMEUEu9=Rmm{ycH2v+%-4)s^<5_ z-aGUC6eC{(7Hhl3dW2FMJec(7Eci0buOmt8FF331a85>DQ?F-jb4JI!t>{-=!Q~%p zx6YoCvK1K9jonc*->SFkFzl+Dj{-{vAk9w%_qDbTDtS%#B;2rxZ2@|Er*JMe>4TKn zm9$yX>4wtgfmkqx(V-^+1Uc#bfA$sG(`8HKQGFI3Y2O%lb_xjun7tfl-a4u-Y zm}4+W0$jUsLtg9Xw(o6Q94J$kpSo-x8PxhlW9-*pGWzi6j3ICV6EjOT?eq&c6j#^7 zr{Ybm62u5Dns@8|80NxI?Rs=y0!^vCNEuF$Q$+f%KgKixWMCTsiA8_^Dma{nCjGUc z5kb0`5llQjL@s`=2g^==Z(i6}Z~JBFeGh)SI3M3)9vt$$22~Iw4_BJ_+gfe<^5y%M z#l%pDqseNi8281GUD(m;oc|elXjybi0uz(sx-SuxX?_IogLgVHfCm&pCmK|&(L86$ zGstCxfDz)5jEQR{F+S-1ZtZAv6_ek{rP-L{-i1{0*)jvMBI2m|Ub#7C;o3$vAs&rT ztT}CLbm{i4)lT8>E$`BsPlwIzHl^*jPoEgeeAAGTp`8KbFE28Ku$}NRq*#N&-p#-@zW?TCZM8|q9>bOOg+G+b(Zjua z1rO`D-cF>Xa*PaY37o44<7NtwzIj!GspkvqlU9iTgn140bkMv-{PYGmy7=4w#RDn} z2c;*b{*e1p3@KYoqxCTt;GIRgIppjo-eYV(RyayjA9r!&n%Q{Y`Hpr?()R#;Y484NCBlD8jSBm4Ofn)40 zRQ4iF<$8iSSsn5zsJ-%0e26=kjdwOu{g_UJw;pX&%=Yp_7E}TJpE*XYYx}#jO2$?3 zWEEsrJY?f*7330^7;2y_@z^Y#Mj@qqZ!;i8pNm9IT{Ps9#>FptK_TpjDqSUjkZS(Vi< zvbEUlm+xM;2_y`Vf{;9cn#3$e_yDJ}M77~6;Q;OI`1w#C6%-u2k{il5{gu7#F-DY> zpn`Jfe95(09hX4jVF)7T)5yQ(;Sz6%RU~Do^(A~zzlQu}J{Gqnb$^f1iYMD`ad+>% z2X*lfPDJgK%J+6vHh`l0vyq-v?CH~vSza`k$aHI>kKgK$- z8iCg#Jq+`98P_C;G)zTIG*&SzFuo25$an8cw$=}w2kSZn+a1E;V*u!HSpvi0v)ol% z14AI=^JC-5u$p(y5KTxt!G7EX^%`l}4~vS98VagcCfUnGpGWYEfQ(|N91Pa6f5Dn} zzccuFC!mh&F||q7d2&PS*q$WgF*s7rdC%z#lLo}au(Jn-yM}xPCWMKnB}zr3{q~ZC z)nV0D3D$M3AATwD238j}fcf72&~{)lTX5kH)N>aacDM4etEBsB=V*A6&El=3X+n5t zc&GrZh_J{T0-SQoDd-iaGeL|J5pr*-w{X=`V(4>5UtG<6gR4kf4=We*k8uVfr3r1| zp}1c4I4g{HvXzOC=?|{mvMkSmeB<2&(_#2mHZ_d! zXHboLX>t{1jtwq|z+9^A5_fR8_c26E+^wI|^dKq|h;}Xv7D2X`8<*jK8=MhA)pug@ z^;1B=Jk~sdH(&b&0OC^(&?*GtaO>tJO@3PwnVlNM)i_~In{ z384=S(trf#=*Y3}yivHZOx{ zTd?+xojpuBuZvemLse0Q!Nl25;|89Kwpj9!Vg=kfy1&R( zWiN{SklOrHG%3Yn$5NtYsFIdK62E{WQ3qjVQUB@gBDtY~Q;eyTS<@*b_Qd?CT&r36 z$6&t3%xr=gfoj{sU|%0n6?XQTobflfqfcb4f4k`a%sI;4n??}b!q|?eqY7MH%-Nci zwcYz~sLj8ib{Nf7S-!*TtBagsv9VDR&cN1~QLVx^sq-UK7tyTNJ?%}~QF z$g(v3%!2EAGIu{Umhw~X1!PuC-#{$}P(BN4y7__1+ijOO+^%u3wx#oUz6)1;ZsccK zJw0*!#~2v($5-J{Y(tiKCgM2tCdtsD=0Epy@fRrYm#n%jCLW7{HyZ#-;! z5zkfJ@U)0OEFw7WKCP?JVJaM1Wk_6lM7$3x%iGg3_y;RHDLkC2iV?@nI{L`iM@fok~e=c_ZH-7K#1zdyf;Yj1L$8QQVjuKa&uCw!n#Xu7ArOJ>eI=|d4 zG!%PWg8bpgrP}L(l~P(9E`0u0d0JcUem63wcD5(fGQg>LYts zlcUCjLR{4TViI^PGlv|((WP=|z$U)07GN>zp_1=8q0JkX9aIlj$>XYgQX|F)>Ex7l zU@OKPiY;gqqg5V5E5aSq*?5M!ttANdn#DIE4!35|$wAo$L`xq@bRQ(HV&c8O?D;+D z0NCIi5sMD^LFZ;8WwM5YpLGHm_{DnN>(pWdb)~Y0?L|gLbud4&e94f|6uoVh+u-IX z(PsvV)N=^uFFQucDS=y^{U#F-8GrqS4XwemYW}!9qGX@-v$-i#Zxh`LaKJx=eU0icut=(W5G{lsF0sQpN zRFUz5PNo4kRF0dMGijUFU`bh;TSjMC+dXn!mV7txT|ZogP=6uIIIq9id~=G7C9@rFjImjbc8c){7i_wki1zoz zj?k3p_WXKUXwwRh*cK9=%P}Z&nJ!C_O+5JUQY(Ly5)9SK`k)m)k=n#z@!Ijf%#Kt4 zK)joJra_b2&aQoj*Q#$=gp>@T!5O$rp>pM;ihMGmxOq)&o`M57$re~h!X)N%u}1W2 zYn+r@suto4J!^>TLu1~{&7(Q2MP zMjhpY?`Pj~ZIy#Ik%PAQ$@2d9DlVYe9t%~Ray>J#SJk!8hQ>JO_bjJRTiGPhjI7F# zq0RH$<;dc95(rl@SNl3Q&EQ?E_U~skEg}G60*3DwY%Rqf{Q zt;sSG)k!Cq40+);Clh70&QOnknGa+#V9Q)jt~#ggE{25PR8-~V76wZroW>GbaB(Y8 zptEP6Nyu!i5v6HLN8Bj6l=`dz*QXpEW810x+L~bDY5Pj${#j*^`KAxf8F zofagWF!-}ykCMr)v8nKFV7WB zD~Z`EqAKEPX<0;;oj>&Q62a3$DowI=ZcgE|KJS>5rSWgQZ=9fi{08;hsqC4a0+p3g zr6X+AlQnD*H?7Y8hT~v$|Jw1&E=e_$9G|@8hDGn2#@t=n`t9fCt{1Q^$aJr zj&?hNGdkt@EmJ=xZfAFK?H1a4iAX8R6UfqaFc7b%cJ|foyhh<}p^NuhiiOZ{tsm#j z3b2`pnW2;@KRj;hV=Z(0^Ab{045AsJvxaz^tl^Ji1ywNKtiW>8eEZ6Kq~+f7nFrL= zO9gYj@Z@&Kc2#Ds%=XcKT;Rrf9zHf@Z51u$Hz8}}MATc)9R1JaH4>sCq9UX)*&oS% zhlQxrrQz`=lwF7wg~KbLTSftwu`|Bbq@ZVKNS8BW3JVV<1x`?^Av!*qqRqtfdRj5N zU-Y0{Qg6E<26hhKkE0?zJ{0Z41>Y;WG*j6A<2XG0{PpJDa&p#&kXwlsb;Ot0%f!6c z6_-?Of|JvW@zA1xiwolBGfsMMNrQ3s7K0B$U4fXu@qBt804B5Pcxi~XLz7r5$ zH74rv$~w$P_fzgoI>>YFfC40)Hj?i(XXg|9tH<;`Ya-xO_}O1^JF#ad3;N>`;dQcX zl=JyTA**9Xwnd$ zy=Czp)^83Q*oV4lE)=q#`ZPXk)Yx|Bdo$5niqn zTS>2^w7zCNG3QzoBdMD1J8v*3lz9VeM?15vESJ!YauC!P#oxZDE~1#y)O&7fDSkgY zj||Du%h()WP2(aDx((u2<^Ak7vO?4?NFhVcS5zyBiSzW!79EYW`;wxC5GI&zH{DtG zqt{S#bay|B#gIa$qNe5t;7Af)BCB{0DO7+0J^w1PfRehWJzp5kl(D_8&&NFl1_#6* z&h>xS0+4|@IlSvP0u-MYy!xn{jw3DDVim*JR5$UhN-mZPMV7zwj^4)(5zc3PPiBt+ zCGcP>Tv>d&?|YXJD?1GlM!)t(^K~+469#}W^y(IR_eCdZ8QMeP5^Gf-Yz?=bVwwnn z8g0o;VC>4W{7H9bz|VwEQUTLae*8?rzelSyM`miRa;L@4JQdH2Rfaanfl3P5c?L+H zY_?~SrSFU2jOz7=TYU}VLhYV%s#c5;1x>$+9XTV;<_{PmTRRcRbb*}T|G8zPgqkHz z#(TpGko&3aigMEm$2Rxv{70h>6?XF`BRRT=ffk1k&d!Z&M`T23XdkR(6aCQm{Ke~%2ge#QvYH`)4+$EvC*wIVUoN`wplwpqMlv}; zHMhC=9`HMUrFn2#IM2xOIiGF}LZAxE`5u1VKpu`zS6|B24zP#H_}s6h^0}p7QR8rG zaRsM>Nn#RX!x=nb>pyC5J{m#mRkJ5Fr%YMr3Rc0c!hG6z_obYp@sPPs>G&OGea;St zmd|jv?Gml1Lus~n_7Lc^2iKwlxKUA&WCU$|J2r)c+d>byTlyetss!Pe+PingZwYP> zFdYt8OO!HSrZ|T%k#?d0M#9Q}A3vj8o(P_O@u$J4<|2l>_Dp);5!2Pbw8?hkRn*5N zTnb*ZF>iM3wX6q=*O%rM!3Ta{9FPgWgtBDsU7j`9j~~b{Sm>P`ERrv;K-?@GF#Xns zf2B5p47EAfcqHOGpCP~UyZ++)ZMb#Em6T{=%B1Greil{Z^UAJT16-5iI<}HGIZwv? zI#cgm--CA?0iW~}jSn`!UClfbd#=OOn2Z8?D<&25_W>fsrjXss*l>Ygx038Tx1tYP zOnpxJdJs-HDarr69pD2Ka_6(6jJG*;*Zz~88DE={4y0+s& zljY}nZ|YtYf+e0p`xGw=|ag=Um{F`KZ%A>G2PB4+B|!9EbGia(FQ zG7vZy&eobbuF(F!xa-6ysA2kLgd(0pkD!C^c{wg!e62q%z&P)4pTyeE(0@I-(6RgL zSmP^kRd;uH_vt{r6dMP1EN`Ur(YzJWE^k0HoR>hc?b_KM)6WRa-l}4szc?{bV|7Wh z)?1;}jG+BNw}jVjn-R7>Da5*)@%iG`>;-vEn*0`KRViKjcAU=Z`IKPZDKASZT1Kit9Y^auZC!>HtaJ0j*C z$r2i(E7OT;S=SXor9ayrC?}RgsH#GnlK;Yhj!H0BzgVfr+NrnofLQwciG5(}Dc==j zEv2Q__F&O*9T&Jzxh9b_=Qs=Q9Y2e8=_@g8Idv~T}FQ2i>rwb^#=TJPDq@6J%Re$tRcy2aLxfuECt z9l{n$lnr@qdb@emSautfR>P=JnW`W6{`t0o#j#(;WPW|E32)6xQ*&!H@#2dUI$;w0 zcxUlDUyGhmfsZXJ|+B*rIS*0+5m|9 z$fR7xZ6d9<=Hd8u-tE?fHJd~AKk{0x&vN$qq~|QPo`V(bGJY3kSZqT;H)o%Dtf(Os z6(U3+#9uNJ$?vPzvmRc={klGSl<3>)pEobe2Ox*6FO8t*@9p|6%rn#>{6kw2g970S z;VYUa{9EhO8yKdy+Rs9zD>xD2?aV8SlVzcc!TBm<4}-OLhdCJ0d|LO;<5@Zql4X4e zOe{G7)0b-{B+h%O9jbAm$n*6d#L=IPXtIgH$FMuRQwK!YF3{@`-7URU~_4wjYGqosx z>qj}H|ILLVgj@%2gB$ePtG03g8a$@@Rc91S_v*SjS}Fwz%pt>1I{|M15s=s)>JO-T zA;p#j+0my!eHkO}&_e!euYxF>+-$~aoEKFuc0%H zx_W05)T?4f2N*n2_X?rIlbC zX%?RoBcQ274^p4^l>nfd#j`f@`pn^tG+avT0-rbpKXIgCV-- zn;1;Jb7Iy{^hG*v)yln0KZ5{!jU`|Ugy9HVU`(~IM?|`X{=0^8a z-tI)d;F9TIvEXN-n0&zk%r0*?@mWNxi3K2 z;Yppxh$$$&qy^(fFoszL792q>foHycPLaz3F$jIlJPZfor{|uK<%9R=63n96n34hD z7#lVn@%&xWDgk?1f}qm|nFkEGI9w8Tnorr?&a8{=Q`@THXtAj=DN*Sbm4UF69*k|8Pcml9T@ZX0~&1MUX9VeR$^l`x1 z>Xm&Ohtw~5oQETTX(v7IF_OR7w9vq`*cftF;k7MSGl2M?wsge0_`UbSUI(fSz?00v zJZz9a)t@By*vA{uZm-T@^73x2qx6*ZpD&%_*-70LXI_}?bh`!P+5`BA#b}cin_lac zz;>ozH&tp?MGZB;+2I1D>!lNdo16K$w9J2<`~2zl+u7wLJT$2ZY2_mgrSZNG# z3koLk<>9TEF$u-Iz*3k~l$@y+qDvEA*P-i8&l`Nv=!7&PHSfGvnJX|0ra^Ivn83D0&z`KDBAn&H@PHc~qzRfIMDvw{$j* zCPqm*9EBK>G?UL5@*!7(R!Rmy^}Z76RbC#;Rl#90VUb~mmId97loscJo-CvKO0cuk z?9x(**g|E{06q75MrV8YLeT*3#`Sx=QqP@h1WTU+&MnZ&6ev%8rusd`gy4TsS$iNx zfYo=w{jMlCU(oBb_OK4&av^=b{~GzpwOFPne6;fe`O98|f(8T7IqXlij(-G41nMy|G)?L2k08Xi`xxZF6&m@RjO{!R7RXmBnJX=&< zbdscG;-`*q32sE?z3|~%E;+-Wi+FL(TOtce}zKCx~ z&Nn(g^x##o%H(E$6E9^DmZF_V$UX59GML|&N?tvM1^h#m6@ui@PFHBNRL;T)xf(*Q zdvvO2N0a&mPZk<@e|h&bHbB}!v|G9DpIgjva;`dle|NTAd4-E=`bL;C3<~UmOlo04 zxQdQpp$vKr92n%ANwVs$c#?Oj&3fbG6*9#nbGRg%g5YwvT)0>jSAUc(ZMLTdgorhU zoG_KQ;B>d>WrDDAEk1vhzt84_ifJCnP4mL2+X*S!9a8ZR@SQoNs`q(^i$1;o(IMjc zbU^>`c55R)f2viSayz&?mtmI)n-P!BKWXQqeq`BH;e@@8R+s=ydv}!(*-$b9A_Wu< zK)@*EKyZf`e*iIr5kx)vXZ20kd?T^9AB{9y!p7IV1KGI{v}0R)IB>D0z)Jn7GLw-U z83Pw%Ohm9~I$mDq2meE{U(#S@^_D@+XElkwyNAJE?pujS%Z=eelorm9vkyVYF-!A((Ie0T99NJ5nl@RJbh$q^`QWR!5%%McPDE&D{OQE;XTVHpv&jBju+C6L*;ZLGnB?3b-m4!I&3NlRB6q# zISH53uLGCqkVOY-4uNl?w`-!@Cg%G&>kU$KdYq!C42~R95rZ@4Bl%%6Ft0hJx=D-a7dSzMn*TkLNZNVDx0sRrTA&`_U+)2QJg|B1q-0_xE`jbAQRx zZ>ZbBH`w$HgguRIR`;XqH<$Ivjz412WwZaL!25uyL5&nHjnhR0?^w4FXNjg)&dIbz zn2IWBz@`GaAru2948kTH$GsyN-n)h8>5^`Am$96?&(#cK;A&hd%i#Wd(?J=ElUl8crIDY+LzaKg>wxaD7M34BmAT7-8jb1Gu#|TEWM{3 z>h!xJ8H0s*@`PbjC$=%YRp9^Z0qGQ*&;S@-o=8|HVB{Sy^rt;i5FT)+ zuQuyb$Da0ArY4N#(r_8=EyIva4LAJB9~sH`g3Fp3PSD7NmiKMC_)a)iT; zqU)<>W8v7we0kqFxV>jlZ7piUQgl1>hVFsyZTYf3qA|(NeE9(9zQguaT>+l}V9Y(? zFHsls8*Q%vWji}&a!OnR?+tW^#w=AIvzb3$qox@q`a1pG9oqfcc%QU{%zOY^nch3! zs%ebGNDUaii`x%}{se*ruvSyL$z@P9A{}tkbBWMiSyq0lXJTl|((-Ein{qyqqUJsl z-XW4=JDeo(C^%O9fZzT9Bb{_k#OOr8H{m5^2&Y2_`cd?@*W|WVHy|8PLH`=nMb{>K zuSv&;_Y1ZsiwNP^I6`boAG4ih^Z?z>#l>fJG4l!QF z`$Jk15|V!P;Wjjz@!N|OO&b#wj?9b76~<3FTnqdHQ^Gshyw1x=9c)AA1%-Ea7JwOU z@iuLcu`INHukGD*@tlPikw%l9o6vo=2=F{hXN-LHMv~y3L`S-)$(^YZBtJm)X=B6q^3%>II{z zL*y)@`|f21V3(7ds{U1iNsB>!#vVC|t6`Qt)7b!LPsT#PTzyY*kBN5x#VG#?A%x)( z(uiE82-RuPGSev761m@qKLt^TJ-#@*aIDfCfBz7X8qgcOn7sdT#xt9rXgV`=5Z0sh zswY8%dsim+Dzh+6j@#sfZiv1y5qR1@Q6py`_N?EcL)7h?EGY`~e}IsAhLZ5e8lqxs zRNZyh@eAp(Atvv!930}-UN}da3M;=vE6OK>r$e}oW)g4I4huPh%Ewa_N15BbDPa_| z<9*PK4usl)7u+&b z!g-j^PbA!{r_`M3D;235CYNnJGn(F4@f_`gFTNYB^LnK+nukUTsO=khjQ1iEJb6Nx4Pq1k3Oe7YQfy}Eq5O|2 z>HN1X{T~hDrS3FSeVaI)0vRGYlpVSum(fmfJ;L4ruzs5NUaC#GZtosmur1(&MLg-3 z)0p?t9zx3_7B61jAIj~`2FQU=n?Ee$_sELC2$zQJHR{!l($4q`^2hN zfan%wG&4~n)qT1sQEwLu5;GpCnknigJJgwOfATV=`pqlXR$6xml{*-s%x>0(#jOc+ zX0~*2DU5K4_*H9<*59k5hU!~n_f$U99@e-Cc+buxJfYGFML9D6P(I+LyMP?y5B(2- zry9`Q+#X#vm0M*Fp;Q7V&}ozgrDIbJpoIb4`vvg(+VE?A8}y@>w_^KYzeRP_ce;?> zoij!)yYlo60(CmlIT0yntfx(w0s}W->tZLIk=+My#F195nOHC1th9BOu11WsL z+J0b^)El$A$xDF~DygnP`wrJFBXnX`Si?Zi!#aUbl1eBH>V=d%Q#iEt0q}-v0B15L z9s1vl%Ev=dd0{WSMi_SM-!sz@z)uA%NV)QG-c=(Xs&D8*`4UR_e-;xdW7z(StsqBr zN$LZnM}a;ZD4moVo@sb~xygH-G9Sj&t(WQ8ZWj|XVe|R*z!5GcbrP{V5(Vn9go%mD zZ_$$S0{E-imPQ7SwztOCsXWOSDKtpzJYIC={eU`fivz=SIgRzj^28*b*(%`1#L9am zY=2D*S{K|r;T^ND5*I4P(Ba{)=IT%-_Kue;>)#T0mM3v!jAS4Q%-xZL_)_>W01bWD zTqUGm5N@Ga4@-9S?qsDR2-pMsu`F|npZ~`0iiYr&b{B(nfTljl#y4PSJ~#=~8hmsL zli3{JZxmOz)a1z?)W;{n69noZi%f^W<&P&S)YJzhh`NBI4kD*Wo7wk%R08)x!HM_D zFU8GORpM;2+E6vM+<)zAMkV$L##PD+<7vP4vY+|`yUUlRUJk(+J@a)iT>>6 z=EBKS;M5!!UmaA zD|=Z>YDpe~C~wc{4jki)%^ya2vCXwz@2#Z1P6}g2Gr&ehI!2*-#ZR6OAsT8jn3E>d zT6*g;W&llMmdIi_ZW}xGZ03^wgJ6E6>x70|KkDrEZMkVE@Fn* zJV=55MA8deG=jh}oRE6}K!`8FCb9K{^TzVc=WyJ;>EKz?O(X zQfgoAz65qGoC5_un{J`i8?CJv)gu4@2EMpny8?svA}wyu4X5b&5M<|2oh*z2E3;y$ z>nEL8a!kC8CJcULfiJH5v)3&)po4kPm+)$(`~;*F8!PFL=P8YmEI7WyM|p8&#&|8n zEIKi3u6JI??$89;oixV&(M2JB}v8Z4k$|Sfc0(d6Z!p66&wh7~TW11uVqF z^%)GCOENexZ+PpShx9f zeznN->18GkB0t91%fW3`-8deUrIs(B1Fv(aU;R+uH0lTQ-@7vw`wl>ncl||Wp+Ll# zj4*V)I`_9J(t#ScBSzWlhB&@>LSEQ8JfIVR@0o zu8)nZzNAx$pl*@)WEfA(BwikNML?@1-JaFtRPxvlNk0{oUIQ~J4msm<#l3ILWWxk> zCHHrL;5_GHR4H)3iL@pBruJ<_NxR{Kxs>=ZY9VA?hPBts{D_~9vJpnvf}-x?wV~Qj z^3mGROj!Ppkh`6nRxzZG<)>kGfi2QdH$|MaY!UCzJ$FQO6`pR2bPjIsm91Jlu1qR@ z!L#j>JN61btVZ2sTA?b(pZ-USHZbr9Y>eoN%{ZN>oy?NqauWu9OYe311!| zMht?Ch@I{=#M{;XdA~%#kjxW!+?1Gpp0(WxxKH=qwg>#r0WKUj9;N@T1^7R_8xxI> zr+d1g7M%-wZxb#EyiNlT^?JdTCO3jr2m56S>p;2!?GdA}VTT>JlLl;b1xoNgoePzk zGSV_Z7G>XZR& zG2&~FF&0gX4Od|E^Kyhkw*%ySx{N%1iuUQq=4La7y%E`^WIH_MN@`ghv;nOsq%0mN% zhlg+P?ZMfeE;p*1fdVi{7~FvG50eI9Sfke?d%|a(JeTjpZQA(hMC}@Job2UZ@=ehn z>=-A4c1KdCG6mt}<>ey@wyv)oXNCl(+nwh4JJ#}Bo;nN?pe1*IW`}R(j^Mtb;?cQ1 zy7Do5Z83kJGp=$Psxv=;9DbJ0 zZ(u*)W(}vf)aJ^ByWwAH9ByRDm=L%h*vKTc?*Xf}aL&l)VnA90GB}XEH{+%m&HSO> zAvdo?astGzfY94H6bax90ah@Q-<^qR1B|4Z9nl}gJKC6vmCL6?3BSlU*>1o#yKo>l z!&P`g+()_##EP`x!|>VuWM+Z@!ulEo1*XB{mH}w_T0ApZAVOL@+o5V#!YLQm-teyaD{sIEW%_m ztZ-z$cxT`ES^KgSew?L*!zbgi%JB62wG7&LW8c>i6kbvw0m1JWBLSm?h&x;%AuE9h z|L%O*_cO91hEGWG<;eZ&FA% za{pRsQO#eS!e?$LSfC{4DUMoE6xyg$M!P1H3es6$9#|}f{{G;ft6aKB+e^jqS6f?K zzF7GL2q9G^xJaA*58JPHE_8(ID`!&{?fiNyS7(Wtq;g zj?uIu>REo$`k_uk#vn5$(tXPN2UjLji0Y7cuIf_KT%dJN9dlo|VFxcd0jg@-6wUo9tF&Y6o`RC6Ov!xmiK%ND&nU0RibHAksSm0V$!k0HK8v zNOCv7_ndR@xaW@V`|IAon>OY!dtpOuFj zz3D=hjR7>`Y4ufAQnenli;ivXn}1uu!{Zv**hqhmW5!U1Ok#FIuI+2K_#!?o_3iqdPayy3@V;cKrd>KgFlrOLhO4^M*Z$sHB+U zjppSh_6@omI~-FV0i|9Ok2atk^j8@=#)a%f$=y3>UJYBb%sYrlGRPR82rD$l-F(bt z%lAy9puyzVkAh<&;QTD7qkb{OxRV=BnC1;BTv)UPR2DYG#JN?Huhh$NBB}p;1KeDD ze#z-5;RKQSzxaR^M271(hM?`>r+SyEXerh1-zRyMkYH$N{j#=ZZ+5qV4T1V_FHS?S z4|ExW{)*qNo6Wz4uKHC}S`J|JafkrI^c*BuF_35OD@L<3(Z|BXO6Z#;?P)U|#c-nt zTIU2}O{)UPhL&AEj$b`X%B@9@`on)DEM*HILs}VU1(7j-(jgRe`ha=%IR(ZBWvSm) z4&I^)2MwMTHL*C*Eh7FZwG7Zwut$E@=BzJ!Z%wK4jy(p>aJog>;$$|^aQB3QCuWAd zi4_(@uhyLuh4-WfKiqyv^oCyT1-~J1S&d@k`Xv=L3ZD1(ArB~c?xzX@lsqxcmr1#K zV(4{00@q{cKWbgQxcdLnMJb+6_`*}F`x60EUt~mnVd&O6ztRDZzbLhOP*H7HV#`qT zmfvW&(75~K*kpzM7muJI6IMJy2HWIU{)`8Z8sn&19Cd&Lq4A><#%3A^H>23t*xK)^#y4VZrHF{YM$OK-3F}EvbENI1$UFb7p(lBJ^3AI*E+{)w*~$D~ z7gyJ7nr|MOBnksI+?8)73V(#1`WSCoC9L#iR)JrQP|(x4W(rQam69;DwR0)K(6dXZ z%~WnvHmZwQKNg>J#+-WzCr8DJ{!S^|F1EQH^mUwYdazb&QCPTQCBdj4bQN}C_r%WW zy}l-WFFc-9u!d>j97nYaezme0KW0BHNW;37&TjS3Wp*ym5s%BhJ!l9?7a?AnK zi!F2>Ue|0bkbS1L#Hg`2`~0rL=ybJfW^3r>Vvqf2t`Wx+0JoqZg?>U6!_})Kz>|YU zO`~iQNIp2o^Hrl86iCQvSbrD0-Y|ACmN~tt84=9%x-s0-++nE&-)KRgBQzOMss<~5 zRV_1q3t`6x^Nej0&QA}fz-#}8dkp8R&fN3DpP#yo7aRBc3;PThmzY!xjvb#+{K!O# zJlQ*UIaJ=|2l5G#G8K!b zUnV12-#b}K4(tid1glYT(SXE6hhNLmy~@VoZcwdxaSi1j3{dp4B)y{M7IeCOl;gQ- zwSQ~&Ga;Ld>z=`&a~AeBS?jT&L4^Bb|bXKWE104z_+1afUE=#!Q4vW)zSJ(#D57eo2iCxMGPES+AX@?MZ%^B?~8 z$HrC#mTPJj+mxv&dz%6rOW%`~a_W^bjt7G$Y>w8fdY5JFyXhS+TY{hGt&r(Wh~|in zMN!H&aIn`zbUdxC*sWO&Ot$?q|BRWPH3qDc9kPzMw#$5*@TING;O&9}Z|H0%`tCfc zMvSz65ImM2K=||LPwbE~p=owaiE!@wsi?^J0~9<)Do0XSSh#n(mdAJZF00Rp|Cg4o zz(|jfKfF5NOi@yn{^o-p1*{>Erx)W%9-};W_L3VJ!%Ob%PLrl6J~!hkivlO| zl7K6N;5@YOy)=bp*Zr#K!yC-=RNcuCFS;m5OVY2!bkr0$=)Qjc{(C6mNUGmDi>P|D z4;R=>%t*vVlKsWd2Mqnfv$?Mk98_CX&vyGe%9$NA*jQbduVx>`U?Q;R( z324e0VrQ^xeQ#SRRM^>^9&CIv~)psUFucdxf8h`L_y?pse%E${56QO0aTElVZoE54s z4_;%m3DwL~cC2`!pp;(-T>nk{QLs`gl^+6BY9{{vpp=@n!kC~g$X-A`+GJxIG0Rng z#`U_3$G3YLTPK1n zpzHNlya(CoD3=MhIT4!#>d5dY*~~9S{VQTP zaoaEqm(e#*$#-58F0liS?Pe;c9+L0s&@q1T*gUh+C$(NYZg;Y^36aCY24OXJ#I^J} zLa(9#S*0rTJs<6G;LTRRIt^J&T-;)798JTSBDHD**@JFrdiA$vr6#v05A15Se@uTa zi7<%$8~7TEfpVXUJ3CnU=fSxkUnmoh-!vn0Eg$)hjL> z$jE*SoySPLShQ5VnwkYRKd4fll05xuDC@&CxkU|7uQ;rwVHLX3Jsz1}HPPrYcvlrZ z<@p~#Hn{f`JMj4A(`p};A&(FlpsI|IOtEFr`kYt_4c~qMRr}^{6(*oC7l7Rde z27Rzwt}QL5&%eDcPfbQl%h4Nied=vyW_(kVf`g7iKbxc9k+KY3ihWnXy?5fw)E=tm zVU|tYubws{zD_S0{!=R&*4tk#^rBo6b<4cb&xIOm5v3mfV^72m)`px)OiG{b50MTD z8@iN%vEw&Go3fkb#4D(u)!NEe+!67$X2OhZ&bNQrOWIjR(q&vduicj}YbEDTeW__C zQ{kQ4V&TA70t z1&o%{D*jZ0F(Ecq@x~#u>HK$w>~dF@=z^82?9n^Y<6BjZQvb@{`P=xN{myDX;j?JH8UJ88*!WelOcU8Nl%%~B*nH{`7q(kQz_9TBaC zt}u{VV!rK64{-DFM5=3QKKt`Uw|F*uEEfbXRp;kn_cb+zo-M0K5NxQWFP-c>Y8*Pa z4#yW8mplReqaXj3{ey!Fm+@OBCMI7VhFkT;tp=&ZSP7EyKUmEM2KDIlvUuxB?KUxawjr?UU&+5z^ArZhNfMk3UzEo z5A^lns}kL*Nn0&vJNL}Y%ray1!|oq}{;%XtZcGeG#@wJt7l+82AyRtF3c6|qZ#?D# zf_Bnge(c`d+#D{qQ6}MVQJghqaf)fmIo72BTO5GRlipb8n7M+vmT9=>C<}O%dge+* z(^!~AhJ

k})S4_Kv`e%p&vKV*!{na`%*7w2?0|QVvnePPC7OamylJ7LZ@E5$AS4 z_9#y-kjD_hwSL*kmJ<&;Q$oscGTBpzlx35lQbLNAnScVGn!*`Q2x$gcVF-yVLQ57_ z5rUIOlLTLdsh~)N^<%7pudd(a>3jA_D8>@?^;*PiLCeIM=bh|#O$&X?NpBEuR()10*76ZaB6a|=PI6f@OUoZodv;a;$>|Y?%OHTpf(E#)j_U02)^KEG8vcd8cw3P*>JPd_6Hw)KIM}Npe(W z+?{%r7Ov5aG)6<25T2g(8CW{tHDzOg{E0Yh;<#n&h@@t9+ONEv{9oV!*NO#muy=uh zULpuZ@6V4uISd)4o8O5u-n6D9YPeOH^FWzKn~}cKo1yHme_;eW?BPalCCCH6_}FcP z1^j|>xU*wENy$<7U_(O&e%<$sY#UJxxBDnqJOKr|IVCO!Vs##6SO_x~c*Sr&IEb)1^@o0MITosI zW2c3i35>{pDwXJX1S=ybfmdi^ zO)O?RApi?^27!VR7X66J`42&z%}?PTc;8hSA-bBGcK{3O3Lz=zKe(6~N5ugO-VkWomOu9K-prqGl%DY(R``%^TueACl>}29r2HiH`9I)KTF73WfkDi(Csyck?1ts2_=QwK+t#yx#w?X~g+(`Gz9DRsb-# ztF5J_>f%x?$+8Cyu|Fspk0lU9bockij5vcpL*7zsE@eNb4@EVI;o#z;Yi!0e!}ojh zc(ek@lToTZ1PHf79s|tkR8+a#oS+X04i4_-B)N9RMW^zpbEJj-U8jFdXoIB6fsHtcyptm&OtSWU~;d{Z>E~_Dqe{51r`D5=|=?r_3uG$P=|q#l!j2 zSMG9ZE#Z10!<#MBa8uti8RkO}U)lY_xDz;Sh;P5sS+82N`2DoFa*N_DRCNkaFg#bknU?J^+jpoQ^)hqAUi z-Y%3P+Atx+*L!Fot?$Q-K7IP+B~LTrj)f1sh)OcKe?y-5Nje_+ZtC*MY#m`RJF3YV z2~J`AH@_C;MPQ2&(CumjGa6%KYFZSQd0n3UN&sK^ji41gh@u2!qtWy2!yLEol_T11 zDby@26+R6)wO0BkJTlD@2$3cdVWc`k&V1s8CQglh8lxZ3L00nFRx_#u4pUQlku9~w zH<`^1&|z!_wrx_j2D5Gd3LmFwLIjH%t0lQ8T&z4w`!&Tq)^hQZ!O@xR<=ghZqyGb4 zuoeO;^+#8jnCP@BZL0N}%2xOSNkR>uq|>#&sH+QF$AqkyGBYy@KWQBu9j)8K1=ix_ z+x55c@~-~Vc(_g1=;&BIn~^Ξ3>BS95gahfNgfNn`26XFC+HaA+(U07?%DAN1>y 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 literal 32670 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

=FChYI}SN6?!+F&c0ZRZX}96- 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 PVX*W17xjwHIp6so5O%p` diff --git a/icons/mob/species/vulpkanin/mask.dmi b/icons/mob/species/vulpkanin/mask.dmi index f0353c1766de5af33bd59b62fcf8386e6978f380..14a70e1bb4cfd8925099ffced7d0036eed82232a 100644 GIT binary patch literal 28234 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 *K&%L*IVRu&A zpCOR)AfmN!^?2;v<+EZ@9UPcB$(>?5-*S=1A-&y81+_JNF3UkqhM6?{pxmiCZ_*LK zDZL$3tnj1lw74AiD-U*g{T2_!`HZ+rx_zK&yWL6PTi-h;j%ld!)~-*Kt?%B{itmD1 z-ry)%I`DRO%LCLK9IJ??{~C*b6?JG@aq#FYuS~GCx_l7TN736 zxczfN+aF01+i*$ft^IZ~X6mh4UgKDT-{L^At}kra2CNt&jZrJTNpI1=_4OA(?DK$> z7~hj(VJIS0h9Ho|wmt`giQtRWWDqx9o}Va~nleIPiz=`guGp>H-cYiWGg5?tJ6+8B zOTAgnPY|8le>+_fX%hQYOiWY>!X^lbMmAJ(N^T=k!BpoBat>$yCmvu3oc;Hpv0$2z zk9s<(re?>_GwSJFc%0%+xGfXR8J0}=R+*{AM8Ot<(DMMOEmtuKRP|cVH-7+# zmgOD`e)i{Cmb@!gYHHaV|iVp^tzjP@EA4(2UVD7a?k4VkeE1{6S3avbu8jB-E@2DcdV?M8tKoM6GP9{mt_S`ua1V* zlO+S|d=?^TQju-w*{}~NIp6E)=_MfrKfk(rSO%7stfY+M(e3SWpFVv;TS|Gs^zB)9 z6h0&;M~7nJjTKh8uc>`^Tap*-#ex|9xA{r-u!n)Ql@)w_)qK56hYJC*M{Qf|&9_93 z_VxC*9q&wGKyTi>5!zf?Sz+PjRqtkZ6HQm^UvP~M565me8C`j%rZzU~@BbdX{w|-? zq}{lnFM`bCD)EIZDuTN#z!PeGRCej=N%LChPU={l} zVd{keK^3koA1CjgU+D!+)dfspZ42%wN)r-%I-uKk-ZhP6 z0;ddnOuXMry$<`nTPSh5-Q@BeQRwJk>|z_Zv0_mlat6oRQwdq|3x~O};ZE-4joyAy zW3|Sh_w6*4$#rE^mY;-ovEy>M!s*JiLHs3+-{ne?Jd>8YSbD#M!@+VlD^PtbJks`5 zA;*R!*u_C_GQl;Ato$rj)}7|kREUwGSaIR5 zwGju_gcl3F$P6$yXvKZ_j<+Ymt}f4)fNrmk6egTp02!(xxY^jAj?f&_*G+Gm0;>ff z0Si3$B4!k){rmUtc&%Hug(E+hP#=?%*GXDYu8ja9R+wbhTt&krUyezZe+$~_)rRvv zemMI$0(U-Lx--^iY(#QdatY|T5APJfQf#Dg_Dhn_+(!5E)Y3Ogh1^$FEWA!jO<>11 zs37eTCK2Z^-eey7B_u#9U_}7zxYqgjcdIB!yyZmYClQd~6Ijq?h1ZUujU%7HO8B7q zBgae;qd;C{F(It-3K$wft%!z?=ZROOY9@1?=j}`A5iR`jL(y??8w692G3{(@SineX z<*D#{vS^PvL`$xpiGBKL_^NfLSdaIXxX++JVRL*O#-(sneEf~|u%eF``b;IVGBOSD zeZk~W#}{$sMbPFJN*6w8YNUfP0!Nmr;qIwkIyyhrK;Hd&%(yglEROlrULBK|pjlVb zzlY#7NI-FOU#hhLI2Yze1FsD_*;rW}E&r3Ks&Rc&2Ceg~O#gGl;y-8px0d@So>+1t zD4^dg*W0e556zBc9Eh1DjT;XCJf?^GQXUTZUrU|$_>~?bZGBD`qB_9W0Sw|-9c3b^ z6E!ut#~*-2>|pjeBcrS&>eDAGmhgNW)!|QYxWE0`4L8f)J%fHhA%ZtLTRhA40$?;oCHNb>k(^nYHvNeL)#J^8L%Gj$wIx zh;~w>&;M6LiFeK~UJm)Q^p-{YJMASjb7k)JH0lg2-!4WZv5{N*Rl63oR=+b7AMSM@ zQnm-jec3<$stJr|{l+5;?Yawca&joC7bgwIKqi&JsvSP~$bB_hh*wRbqC&+f0aPm)lEfvDL7-viUrsck4kAv2YINK;F7hs9}Dd_NxtK-_fMt3G2< zGx0|!_PI6n%1Jz}jVrl_YgTpO!Dx-BpKi6jd9$_h&Eu` z2qD|Du;|!W>cYZ8Nu$Hz6?(NK$MHJE1IT=jZ>)vqx!EaBhyia?sb@uTF#aZd zDPfI0dA6B-K%JZuZmb?@mNdnLfq_wh^R&&js%7Q4b2FC={+Ld9Xrxf9nXz5Tdft|=;Y4eT`8 zoZMU-S`$HTZf?+Q{I#{rJ48fud#+G(^~&#yNYv!+S^sQlEv*IyM(IJy&FUb5 z?MJsriS-E{G!DJ#40bg?kpnh?q4N#nIX|kKHy7)+$|#}1Mt^V7^gp(xQEdz43h!@W zKmo{6y{b?v9L3 zB2ifk$RbU2t)DraN3Kwuyz?y?EMe4K{X@;0&;I1=?TeRQwG<(Ht|U6U4%-8-T6I20 z{TgU8*dNiluV2xe{N_|kJvX}d8|!!P&c{Hmcb2Ly@sC~bL@?)FhAWo47Y3ilcDt{| z97PbRUYof3kFj$!coO=({3E?ks)gP?6|l*guu=V605t^7NxFFsWYpGWkRNCEDD7v; zM)6g;m<{iSl<#;^Fx@7Bx_WvKP0L_?1%ngXfIpz6rF%nGSxGFhE3v=N!OPLSkA+7p z!J}bCz#{IC_|m-lCgU(AB}K`>W$LHu%h`sr)ybqezpc_t5;}qQqs+_J*4BrYXXE4g z2tU#J=8tz221|`ZAan&#%`+u_s3nYy=OjL3;_U2rAfPO-4$}YZtK%$wBr(ps=ZA^I zwP4PG_}#Hh!iKuey}LfJC~c0e1J>4pfXOK-9o9qu_Bfi(3YDz~W59r_GJ+Tfa_`AHu9114sTY)B zUpPtYtk8u=;n2Ne;I%eI8Rz6ZXg?LPW5tyIn-KayJA%Qjjdb9bK?f5K%fsH*VVPRlsGuGmBGPX z83C8rA(K2&ZCTw(Gb?G&txrA0(v^;LNa+OR9GRi}zSD5RNNBu7hMoOID$l=$n%ZuLL38+zuJRk#Vz z;Ih9T*ouldv(6?oOc#WABZZlTY*>D? z&&7e|&h>Qp$x-x1#D4e59dMK}MSScCB|n^cK!p02S0%C@KYu6!uWac}$>g2%-XVlU zQQhq8ex0|WcT-o)-A?2v`lkwUer+|J*M%iiB#oHQ=T_w1y%9ViC^L*bsaNgsaZi}Y z0aXI%b*anh<;h+rauA(aA1h5eG1*uv6SP(ZOSX4#I`Jgn;d?SX*1MCItXMI>pFQJq z-Z70yh@g&aS`Pk>LXK)s1Tk!`#k?3e(kfGoipI~$>lgWvbdyG047c@t_89IE+`?>`0b`c)^-A)ZexR5mtuu@p!LBx zfEAb``s=dSrMH3{&jAf-TOJWZPhtRb$sANaTj7F8Oy+KOv$H~bKpki&YRXsNp399H zgVX25}2XnCQ?pEp?1pG?2s!4e)Apm65T6)>nhv+8^B!x9}hP7 zByuH|w`G3j-7(ZLNu;E=j#`D2rsi2}%f^juWIvi>rbpFpnO-K4%SdbMEWI>%bTN76 z>3{USGfp^HUaQp4H{HkjKwlMnDdd!M4}4L07+HQ=E86uBySo$Un=yIs(SF$_VF+*D zU+yQeTNb~$AY*q{2ZGf<>0G*!BDhPo7j(*>AADa%e0}2JNhifBNu0%L_8ZZE8vThN^HZnuTN)aZotXiwl8sBG)1+U> z{53S1ocr0qVfvoleS7D!g71vD^*p)< z2H%CIV<)7ddXt*`>uta#Cm5NRsI16+9yViT{kHmF8#>Q+fjtT zEhWL?1BgOlK=}V-`S&SRT!R|=_wdBu&@qtp+fRAmOp6xmB)JvZH?C) zjlc-+@!#{joD3}3ZPD}WHauDoge^aW%m>$`M$ejpuQvst5XoqIik{8lax$3aae8Ao z9g=q}VY|2~qi^}`VELMdSfk^-tLW+D=mKhov76C4yycW3?9oB~Q+Iky{f6NQ5(N(f zPF-2T;Exdv*&A&IoG4V0BYamDN#BJ$K{~NJcJV&iA<2Zu&*Or>B0@sZ!PG!JV!3Up ztH1LnIb~h&|H%bN)tDEZ@tgYWZ3P##p1sf*prfkSX#&j9>CBC?G`?+w2}`%fQbD?3&=*4KgM0 z@9D(nqz2DU_PO$h*jsJo%f;l=@dbuqsIknh2Mb%UAvJBgB{@%FXyC}(Wl`?b5mV;{ zUa+b;s3WxXgUUY+KMTB!yjObg>hdHtH;Ww`tf_g|7wmWM;!~@O(X+O>0N!}JbBIO% z+L~EdSQp}RzbyyyS>`Fp1Y&~SuU>ihu)kApV*0y~zIR4)V)-ne5&wE_g>_Av)UW+W z27D~da*Yot_@}odeaUCUykz&U#Uq{ANv)3GpM1~@zy$Zb#d?d)o7165a1I#z)d!C=e~BOcQY_I}EIu_2UxDN~&o}nZmGc-W}l?I}B%j z$yzpQ+rmA`!jff(j?^*S_+#G1p2{NevR*dYBEB=M#9I0UhRA=q3*udQ;qmzy_E+!wF#m6Mdc5OR^$gEqb~XlN;Ojfvi%c>xGTj}n?gGIp5LAN9^?89UlhLW= z#{UfylejTZm9Y60>U_F&4Fg(AKy>aHWX|t(hjEC}1ZipAT>RK=MPe@iAa^x)pkpBc zFI2>C@i^I3G~j@FtmO1<%~cWgR{NcV&Q!m(t*~)0#Bv}M^7|d#9qYm2>j~nvC^DKr z)KLo{O&XJS00a7arHPQ;>i0W}ov9jye6N8wYC(?BH;@8V;i?*Yhy9Y9 z8@qVDThN9C@Qa_BU2TQX2?w{fbQIrU7^ zd%j0bsUzOWbmu z@A`NL*ar*{^IF#f=6c_9`Q=+FD-w*52V(Yih+V(?t5@?LVva{t;6qy7b6R;fU~SY* zyc7+ZmrnQG1#!VHw_o$Y%hC2HE!8V4^zU!&Ul;^G4NN+F7GQh}S6+TGtmJ`goWFX2 zcn=Yw>qRq$Y}`~1bkVi^eX@u;gZx1o4+N}Q#~1F^$mk6mNNBU0`K8w>jyPpM_`eK@ z=#HB%4wQem%*`^q>nF9LA!KSIWV9gnV*Q<=Fc;XsnO{Z~wWF7s9|oZd~*rR9LkkZ>{Q+!3Sv}trNR2rCDMT>#h%x z8PNSRgA!^!t*WXjioG>nx5W)_jYkW=K_rhIZ>Ek{{^#MW?daB6;CB&hZ$JS9FZM}u zCak@C_@eq0N?voq)CxoQ28>hA81 z3A1RR{&i2Di}lKuErVx{H^>-c|1)J z#TKybqt!4qC9R)%56IsIz!c7E`TnB5mmq*WvEzlX0mci+5o!h!a$6r{X=DG3RuKvR zW4Sm+i4Q3$2KmC~SI5zBRZj!=2}5#F)DWFm;O*BsM;hV>Vp-QYVc4BZ-z@j>vHyJW z<@wMUtFop^B6_`nEgwugnHx0p8lcihT)?5xbO=VqSHJhhWZ8E`8Ks!EJ9xGwPQvdX zwhdG}oXVa8rUWt+VAkzY^iI2OG-LWj!YV90Mj2FXjqvQBxngD$ogJPz;rft}5C(!@ zfIP|!z>Fd`jhDnWjIH7V*+7A&|O!s3$3b88GZYFMA!^cHh(NH zTWieS9e>A;iM&0m$09!bOIz7hoQH4A3A^>Q0-m~@E>Zjxz#K@Cz^d2v;}xt^%X2Rj zc_~X16kF#0=HZKsPR1YB&0oL5=>gxdGo3HMEX2*kATs?rIvQX0|0?dgtG#maGw(JX!b{Oe-;oz{{wW5eW>@sH@6-N)FGqMgY5V)C+Sl$Od`~9R3*}}Vj}=64)1TyS`l&hKAhtl zIjnGKE&L>C%geaH)N2pp^NP`nJ=mt46q7>TK*G6SH8fV%AdS`4rA$ptL9_5?w!}+d zs=A!(txZh}5&T;Z3swxK7H(r7JX{jDk>j&o;iyHno2%>TvuAID52Y%JiVO4eSHS9r zqT3_ZKQG?mbx6)Rt%DL$9Q(*WzV@>r_BA)}=;=WVe-!vMJ7#ufcU8YwEk< z*4#w~&TH?t_xcCyeTsgTl~qUpWi`d@2Fqn-A2gx?2E_lA0b8$oL(r5mH+N0hC@{Yz z3?O<>6+kLb{FE6&?fz^ooRjebm5WEv^0fd*l5c`5fS zUBNiGxC^^jUZsWVQbM3A=N23C3tIWmek#;Z(!qBw0ebGA&H7~u9h}XI5BIk(3I0wh z>5ky7=>p~S=Gq{}zDOToSl?&l;X=v*=L@=2h(0T#3$^&C&-GBa(4WbE5#2`<)+#A6 z-U2R(f`Y>PnU&|YfQ4ljzHkDU6-JK0@FtFR!R(-wfM&uCT6xtdb9B%P_Y-V`oSfU@ z{N(5@Ij64nVnfh40A0#8H{;^M!><}BzaSSUaf#AQH0_g+na)RU-FgUQf*-rCOTHAf zD3vkVwC>)!cVm7&aL=Xp8@5FXUi!gZ-Q1M+&pfa?kz-@jyZPMhOLvcLk?)(z&1l|Ov-ZZ96D_=$n_3Giy9rDq8fsNGWtjr`HCMfHek?i2u87sZF43kkAT8*V8SVQk_uS zX9!%Xn%d}WD;zfrDu~VC@Iw9k2Xlgxk(!0zt*+YWWF9sdgCXs_uxaI{ofy!tvip`m zls69kIx*E!dG*t4u+C;X?fy`0uq$eI0~>vTPN!P3N{*Np2GYZd>A@KpQIC8pS3Q zJ%b~q{9@DZlQ_D5+_9bCUd2c=rmHUqLq$By5!p6d0Ud+s|Imy*otTo+8dpltdxW!- zC2|GUvbZA-Rjx-O7>_-uXLQA!=f z0;wD)0>UCoAIie1TohgEgp!SC@{1kosxUy*ElPfgw8auyJbEDxjoEdfDv+J%@!sN> zv?GU`sONpXIyV}4j5i zK1|`yiciB}$cl1Kp%)!M;~daCL#mdUB0C#(z4oBNBk!jZ!ER|{dem*eP1Lgyy~i~r zqeb)yEdR5rvmFULYvlp33wc2eMdOIzjbuL1DgcGtJOieb_Y}} zd9`VFZEdA}(%ppJ@sB|V7JqbW(YJwBpJZjti~2%Kx-p!n`6;FA;-`K_pm*TY7Y$>^ z@yTFWl9H74-F5iZVH4SL@p8@)dp2n~4YMlFaH-*bdjK!DEmh0UC+d>JB+EUu-&Bo_u~u>1(2qSJlv(Ke$F(i zffE*DpYl$bSNMq@e{cZJ2gg_cXh4%jRQ#Qt(M zm?Z4ZMleJaUAzKp?fCl3+etHxDz&&K2&b{0sTSZ@0AObCb&{DF#$%y!BECv6$U9gC1a*DKjAvny9)P#XoR` zrR60o=R0#28?WXA%}U}MZz@?vl z%)p(mc(Ksew)^r(!{zyUa;qiOqlBQ{1a8B6_#1Xpl`j(+SjnE{$WgzxsrP?{!fAZ! z0?;a}K|z}xy5os%Gw8~bYY}LXfZR$G&V=yyLV$3K_l55d{ewLVrrWwGJYtPNfAoeN zWC?E6O$hj*8{{0==_NyS$I5*6tP(AvT#Mx#Isyl0jS%zLv*|QG?Vz@{hl=z^45lMp zUrtswWZ2)#*(qX?;8YjHAa4X}?39?C+`>2Gw(f}A9WUPA5QJcU`OjcSwo)*gh>DSHw3(UN1vn8Mh_*a*RY%ZpZQ>a@GH$hsXJo{? ziFCx8SJNyk5*-CP=6_UzjSB-rsgA(|#aY!P@Q^%&%&U%XLz_{SrMZ+XFC#_#RELdn z(;}xUEUXb2yheR)jm(68vK6{JXbT+}4ICcR`P#Xq&vB~chnMgN>CpIS+btKDPNRn9 zVoJBzVH`fZ0zi!o?86BNGQQ`FCzM5DI4yE}!q(zGsA6{ojl+VBPGukwm{ z`jVl)vEY+$1VsJ_Gpn3(sU7Ng3~wHi&NEL(XJE-J^ygc0YR{@!=&^Lm7O!ocaQV$D zgr9xIw+c2dbOkKm&5`rn?*SyX51VRpP6kce(a(Pj-Uf4?o2;#^o2{Ki*Ss=kXJkRe0dq>H80qKeYug$T;og&$64w1=T1WO+e_tJA*`KT;?QSpp_Q2dw^GseH=TyPci9P_vQIrYh+?7RyTs(00n1RmWP|f z(Ne^pNq8f@dPCeAWleF=6Nfc|-xcgHmseb1JE-4J zRE85n`wGv^rjCutVW*hkc+o>!Cj}iH9guHkFT6@X`ea7d&b{9e-XH?P2CLFqc&^A5 zOe7oys_P+~ajKj^ttfG>6&RUDq zl&c4U0I(&OX9lOkWyg_1G*%Zf>BL6JfB_ntqKBUNC+%O5nVe!c0?9B}9VcO-f~s`x z(Zk}nJqmJ;lw9-F7P<+yroYz(4;o4W& zU*&TFoZkfYDEz>}A@Mx@ZQ79LMbTZpfZlwv{U(p=CHlN0*TqoNX!<-7MV(FmNG^4} zAOZl8WVprJSuDm8QK~BrpXaCl% zTO-3*M*@Uek(1^nc;5!z_%mk)ErQiiVpu6%Hr`UXKsS8~Kn8JqJjH0ME4g-B$vNB^ z^-9n|6Qs2Hi&DIY?Uchr3-40vHse+v(Fk)1DhZ0nAdW6B+?P=@nmQ9s-1>f+*FTMS z6{c(WrbEVf67*`N8pniuJ_R+xDivSEaU&J>c^-kGLJHWI)9_q-TAL2;>$0cmPttG8J?xaZrUk^d zVd4TabJz_LcWu=<*yhhN#+PDxDZQTiDb(C9Rxir%?YI$X!}#huF^19~O+znQlvG)S zKRQ8bb3)(A^kU9OylfB38eiQ74*;VuX(XpSL{9)LdWNNL03gIQ8wxDN2h?EEfukJ9 z6iR0H{&$i^UL_&(CZVQH)K()#_ur(QI>0L11q45KrT1Rpd6u(E8MkFM9ebM88cd02 zhvc3yFLdvKu44%1Mj7aX2<%J2r_nb%Aidl6R(&QAZh9f6pEF#WjCx>2vNqaet=mq5 z9&n!d764FC?gayLHvT^^|BoS;e-jT$IplO}DkdF06RZ;B>NM~Zz+YFSu%3AP?RAeX z?mZTHs-z`g+L4Ib4U=4T-E=Ttx$2 zz*x}PwiotgBD3$S4t>E8LP89nCY0!HOH%V)dbRo)^Y}qJS`^P1v()pR$Tyo7CTsF| z=x}h2@!Lb=kVQonBzO30Wbqq15R2tBUh~Ky1a!0fSfSJ|=-d<=r4I)rse9v;rxJfH zn*0|sk@rkGnxk1KrMhdG_94=EoSUj&pC^7)9ya)MWBnU#-woR%PvsSEyR~SQpKS{) zCHJf1AfAg#<7eILO_q4-a7ZayDe34%H^cBZ{S`nw$9-7ldtkZboQq_tSETd=G0bDJ zZM60XHeS(fAhbmkt|P+FZwDedH{Ieis?t3M`6q|H3`db%+}0*3Os zjFXUpMO!bS==bLxm+h&lvneJrnx=tY3$Jg)zknZO7GiJTK50lP7dXFU*2$ua_2XYbg0Ja zXunwUbLCU(qa|E00E(#PcIjxwmU#dnS^L@he`&Z|$GG z+SuOk-LN-zo8WN$& zRs)HoU-5&n+hDm?Z=Oz8dZ1Pxz^!Nu_+7^&eA!yqooA)cCQK@}J})gTO;cT6J>E>u z_v^w)BnWu@sCw}Wy&;#AN1V)GJUWXfp}%tMTM;J;=x*sB3bvgC*0O7I$>-5N+~R5U zvdTt&9F8m<-fn|id_NB;f$_{4T)0yKg)tI!5(Yc=h$i`O=3xKAYW^RYo%+h}Mg>!q z8CdQjq4~q4U}_e>G`>+@`%h*Bd#YTq?2qU!&m=`GFy_v1<&S<*yA~m&UQS3u(qzuB$ZBNc9uAB*+w9Kn2z=B zCC_*m73JdjTkuI0%tLE^yxyxL)e+4C%X0ed^}>NYL8>-RwW^zhgEa^nV3-Au9z2Fz zencSEi{V)>3;Mx(qCyUNTsP4`6U%Ih>jPgIO5b{b%Cg!O^IFiOv4k%u{}U+VAL)GK z9nXD=M+S7CAA?EByXqm8CBuqriZ-@38von~^NID(IX3BKbZ*!7-qeFKgzt9ORZ5_| z8RkBC9=z)L0a)yo-pl)bQED4dYRNiR)OW4GG!3Ab4dU+zIN_P@9511X-z-zXabg%> zdTbjk5ojBrGyCjAjp@u6RdU9%NCx44crpEe!t#%X^3PQt*eB5k>o%aW?6sr^9O#c< z4@<~LA!HgeeccPZV=v*5Z#(fJC=-WqBg+8kr*M>FwDCy0cPtDRc)^mkoU+iFd1TBu zB#Wh_Y$O!;o+x-^dQlXn1Jyr9Q`?b#G1^cmR)WfEI#qHbL@dPA-Iyc9VBeG=7tg5$ zx09Kn?LeZr4=P@7@4L5`MM~$cvSSjFE4eGz-s<;1Usw-1 zL2zRBxk;f4nfFwcV#Z#=A7~WG)RXf3XF{ zR=B%0L-HzE=FMnV(cmE|U9(KiNz(Pb18H?`rIEdU6Iesw5GAdxL0XjD4;K3f%TjBl z(%EU@Ky8qja@rFkdh3ZAdb*y^Zy>7fWj}ug^bH(Mp`71OaVM##yhM4ywLB8r@mFb#AS;tLavGQ6 zwUBfyhYqiqeqk3ivS?7nC;%>_>VmDD{_xd9kGIL(RPuef#kVdfNLJS0n*vzY405ZP zZ{4ILQVSoIXG40b{axYE+U>km+F^?VVaP^VSuLW!wi7bq*C=6(`6!tf+Nggp;2V$6 z{H;OwVdmw+Yu1?LO1jzMdM~CGBgB)vYTXb0>!G7>jDfN64>K5yA@aIm_CS$4^9f=9 z{och)dqhmrl7i|$^M*^oAOm2F|7e-+zo^}S*OIR|pk>%1;l4gv$Ax7qMn>D~Vx0n3 zeJ-&tu~C+UX{=~O>VHjt^9MRI<9z%UB8ckAZKC6|@-WQ=nDQI=>Y_f+ZMhxHv%<|B zg>M!GDygu~hhVFf{1pZzao<+L=6mY*Zt{`Ja-Z1G(|a@h*)ZK0)@7LsqRk3ebU6qE ze=AAmG9+I9P@To}Cwe}EXL~*Izf*TUv_};D5CPKfjR}Mt62&!x(WpJ(%NkI-wtI5i z!Iv{ER7|7${Zj_{BMDiy0H{{Ob<~oPvfzJ=L8=^)=OQaxCa7h5)Kj@C(R|ADS9_NwlguD^nsFvmjOzTGW*ghlo$S+3UAhTh+vB@-dP2 zE>a|_i^pJ6X$JB*xXC)A=+!pnq9NhIpTu7;^G2ZHi-=tBz-si_ECAQx)1lZ-*YIIh9yuo} z4FnI^$cN#R*CO^XtNv^F_#zvvpcqqsG0*$X;*)<0AzS1QZHy*_&UgM(9@WG8w3ib0 z#CVcQb9FGp+E``Haw z`J_h&-vc9ZHZf75VcR$+Hq3l6SogLD?_h{Cs_ZQ2k-dMj$A|oF=PJe_`osQkw>Xw% zKHaU(t9fJf^Y2OR?Gs-eKYS9bpW-!rStD0Afd)xe;UFCzF4C?-RF~##&h2GANN)a9 zE;}3kA1T29T|oaGfARS8lI6o-AmVo(#@m;ycm;!PllsWfR!?J_f#U~`AodNMSlKvz z@uapS?5VTEGKudEf@ldc00^n~vogaj$$?1yLLth*sy{NOYpBzu z!F0uefQJWVVqWxQv2*C4*N|}?7RZs>0=rvXD*X{GHCa~^8S!jgcxtb)5k_1Z*x_sF zf4&VQF(<;U5`78)VpIQ)*w9Y53HreX&`p#{Re_DeEPJ2l@xEdnWU-Ay9RaJ&;B8gX z--Ko*`TYuV+&@7>qJZPqiuLaAIs<%zkY}tuDv6$-oXdi$!KY>IxCdl8&4NCCdDzdl ziz9*SQ$_Y?gLf4uR`SGdsKVr*0MqUlU=T1m)iYGCh6? zkdD5np9k~SF$tj$8YAGl12Xe!Bo8oar2gJl`ck~?TmK__v2Q*JzE(&J8D_bT>0r^( zW=ZXt>IScTPnPPycrY*`V%p=1Jw*qQ3X4`_*B0@&H8Ds*}=8f_`2Nn;R47VSjy>?@xLP!3}-P V%Qh5mIX`nQ!d2eBB*de^0|0iEIl`Gegj0B}#uPIzNI$4wG4bOt5q%?^I^VVTbJFx!UB z>(y<*_k^ym^_SdV=`8Pjh<9RhN|BshtnDis^h1$rdWXkbQ%iEY8N_?fHkQ>MG`U}& zHQ8F^7Lqq@GR$<9^Hm#uQq2DIi&98UizqAikJ>_Ilxtm>p;+}m>{ENvrrJCIm{kQ2 zPnOj9G29kaM)7>Ix63o(CM1bDiig*XZ0v%))>J{+KSY)v7YsxuBvY60n}5Nkox+mq zT#0`f6Aocx=gRH%N|mkpA{`+0D)~nN7LPugOY)Sql1I>}N^o+%ZoV4s1DCI#|6FGB z42K^`Co8g;Pt~-j#I5eIZ?Kvxoy0%vxaaaKH<+a+RL#vDNQam{sG>x zgf|B>@)fxin{qWft_HJa=?3E&85z^ol!Pbrx1H!v6ZOwUAE;87BQ;;>I0dP!5v+ys z6R>$?Pf1G5xHn%p-1;QUBN0l%J!Flr`QUH%{hO+mMZP)AV7UIV|5 zsc^Js{qk;0ORQkXyzRQdVfBBv{Vu5yWh2wo)Xqs#0`j)M##)sigEim$+6`)KpTk z`FPCn+40$lqZIWlABGNM+}rlBE1S-L@7**SK^sTs;;(Mj=W=dV=e`-2&F}qCKkW-D_XgOshu3wJ z0en`RKd4)IJ^uT5Hs(i<;=X;u@VHsI%G%6 zOkZMRV!k*-?XaAxtEqLQia3c0%v4#2{`$pSX*Ghbpr9bFN%BTf@&0^+8xDYpg=J9v zvcB;-WLp zf*-9YU8;ZdkdTTSz{0|kPdfcBZ1RhZoxPy6I4=*EjP?>R)r%d`9~u zR$2J@H570eMBe|#B_s^4t}f_iU}S_y2g*3`?mTuJ+VJFJt$54KFFcMQp#e{{Nw+OJ z3okj=i&5sbhnL23x9{}%Um=1*<@^PJBgaexI@be3?s8|W^7QJ^P*yRHO7X95uTumE zN)Lq`;o3^+`%v%R-d@$o_QREKQflh(XnIj*Uf%oNF^ocu>*eNs9F8GwBfsRBg@hp!o0e%9IXxy7 zzP>tNI=;@;e0A(cV#n|)baYgW02FAb-<<@rAW^~n>nKAEj`pcP z&Cnt>)8(M><+fn_ko4%J)2du}_Sfb6R0fPd$c@K$E9#MQX=0X6mUNyUU-{*FwAb+| zIES+-McNHCG=j4G5_N%dckTV9xeKSiC#_G~8JY>crwG}VsI54jZ|O+#3s-hsK|oUELocOKqEhr;{ z(c8y|l!U}T7@u;RmqJC5OesJ6M){t|u>C8Urs&Vv&a6}WwxP|`K3=sD`u}at}D&lBww*)0hN0T!?qqek=AG6B~<}?IA9w zZuJXQ)wrt%!*%)(5-2ij^ZpJ4ImJdI*ZFx6FDvRL38D!shv}GflWWITqe%>7ciI6CNZG~d5JWT+bD|lGXu8I5(*)3@g_c>oGgu>MBOH`d!Evd^POY|k5Ju7Ux zk4xQ#Ml~8yg#YsozCUP(U!0kpP+3{N2n+~N(a`v9cBZOl6k@EPiA*>(2NKys9bUk> zb=5Z$s~+=V8Xv(FzC8(#jU~av!O1EuC82~Ep8P3VMX7ST{@ar`1xM(wv5kOqgr2VM zmn0)!ouq}FHz`jludq~DaFr~6&?nkGS3h0nOR#e+gk*W83HwwajtN6z{BZx!Q7$=? zzh6^2{L{Uj`MaiLr;i~|dtMic=DU&R#sN-+p25K`pY!?9-CY~=C3QWcKHAeNzK4Jq z-?02C^NxkNxu(u>A^SCYOAfK1&KJe`%=6X!Z|T$8nyuDjI4K;Ra-D4KE>H|DYG3mk zr;VY^yviP@r%$=06ddk39y^N9p6tGi_E7ymiaI#06z9JF$_{D?mxu@(0KfK;q@$6`_3=q6y$bd1^VhM0_c_uIt~z2qN}}f%oS8OhvV0#kC!}f{mDZ?>i7B56 z_5hJhEMMRRJaHNed0~eMv72J$6|HFADt;p0PbFBb^XlUz%}UAwyD9L58T?VtKlTff zk_CUpsdxY~Qc}{meD43DTcl^h=PoO7<}g3x#slRZJGEoz_4ik~ul+mL2NZOHjaoWJ z$>0D4eqJA9Bt@eEMcz*hFHBjFbyGy-i{J>JWly56vlGr&R1yzXW}5SNEfFyg`LLZ| zUYVL2{Jy;s5sX9o-FM;+h8Ir8w(C@AKrV6o;+CY1itgRTP)LMenHHe({7kk%68UX& zybGuMZIYBB{Aj}ubYJFfS~EJ{%-e^4Z5SfxLCpAqQ?Njwwvn)t3)vL zm3X~%1AmP)nk&Bx{6$JPc@H(|3$}&qrpaKwnYctdm`2Si{C3mo3OC*9b849(0&Fxe zUn%g!>b-XM*Qqd_T1GFDBB_z2y|`D()_mPzH?uJ-nON;3E@qevy4-YEHH_y$Qd#16 z)Aolgj}A9SDUd8z9QBo04DOE^hWrHQ5SJ-Fj0GyDcV{bBBh$oFaO#5HLyUb>`uWnR-U{JN#+ziRI99Djj@WP zAImBI*11;RNL3nfn@q}5&c1ItcabzG0tfJ#pin`XDOZW4y+cJRf9t29?t-zpWBs`1 zot|wa4|2nmW26-$m3ty7Rn zX$Y|BNCEm$W?VZ$-jT4wG}T(@U#BfvI5l`&R2hSA$$w49sj?UeI}+MKsWHxLe5;N# zFvn-!WR<~X`Q-C`7N%>IKF4qrW4*@jUDdafd!qTzWxdTdN$t;8r)Bi^>IpCQqD$|q z2~CZyh%4x+*E<)EAMabBh8%IldwuHrNj*Im(1^b#>{|a?0T+(aec70KPlHNy&w3(W z6Yydo_((U{VLs`_wfVZ%;WmCC!4D#o7gCrrc2i*CkLHFX#ElF9waX%BnGm%2r;k8? zkh$kYk>kAp*WE(=dVQiLgS!)2)_s=}fmJH1x`V<5Zf`dEP}m14tIoZ_B^fM4&R2%F zyX?}Tvw_1;pme@V1NQH=M-uK-#Wf8rz|RUdbf7QuZSQukyGfy_6l%l*@=C{-V=T`j zf|g|BydK1!*3q>!&~2UL-KF30|JOS-$F^?g8Lt)clF?`DyFb6R^&SQ_N|eE&em~$D zgb($7jrd9X>ZgCJO#R-GIh)_iaD|rs-E;MMj)71a)oYuA5ctAcL3`Lb>QS?G)c&01 zqWM?91L<3BCjCM5M%XTz`rX$QaEgMOJ)0xKjpXG=e%Se7Sx>9@cO2WqHpBD0M$jp; zc8>Ayvw8S<@c`YU>$Vi8+F-0_6ux=0_2ZH-DyApmF2s0FSg9UsIm9BUIe^lm+h{n# z)z^y5TEO|WnK%%;^XYR4nP3$kY)0aA-|ig8?|zcrj(hf1N zhL;%YBjx^vU&+3OfogMHT}@c27nKy;qr%vq{%e}sCsrd`b(lZ({O`>8*q}45PK974 z>Z#D2=0c(t$B>F6g48~p#R~>oB-T%B02{EyotzxUPTRh;DL^?h8qF6(R<)*uza%fZ z1;y4!Apwm9=idf5Up#~($>u~!g0H?fT)w!+4j0@Wcy)AA?RsZtMD;AyBk65KFXHN; zin<=gqXgU9sabh1#`I3l$$9g+@;?txzq6@Txe%sBxf9Ci>rMF$8J4p(p>s+ypfiCo zQMmVt>N+~#o4g}Fa1WYO@)WK~#Kno%Byf)>rX2tMpsr ze4)eplrItXF_L$z|G8nftLwW19v(-y zY*qFR$2)8;p}pPG1->%*{gi&CDdo?xt>a-anFXJ!lX~>Js{F>v1+xwZBB>RkJ7+1o zwr{VY|D4enf(c^tey2J7Q93bjc7GzNgs%k!<+6nIcaI2A@Xkw)ZTvrbYh)+%B5EjT z!ZcWb9blQxj-B%Jb5D~qzlnX@TI*g!a-?hSvjs_E#RL8@O4@Hx0WF1x&k`hEd7)9^ z;lHAqCEtqD#ZH|!pQo2+w4$2yj34@PafP6qftka_Ky?43ZesoC*Z}uplo0Zo)!cQk zG<@^nq7CUo=oO^;*%kG8g@mPlzLpu1AhMeIm!%V?ydLT3Qz|m881jPcmnSwv%_>Gg z&Uhh4c@Sn#L2Wg^?Zj^Oaoou2Hld#RP=a>$Yx84S)EzJ>7}#o9{gPR{7co5uXS|V? z9tJn_=on>SeBC=V-vts4kjI!y5)zvfRAKgvj3@Z_RMqZg4_BUzTWuV~#2Q`2n!F39 zCzfEV$HHdr=*HReC2SQqef2vxjnC%SOJNc+?74**pZP~~O$M4iIzrDk)fiohhk(~r z@1yWqI!%LxGtv+0^u@Gr|G`x+32`HZre>RTHhnp+AzNzx8)=^7hvP-o{~r^8o?~8UWmqF zd_dXvN36ztnBe@dwX>Wz)m1n?2my+Ixw8FpgtOr55yS6}+(bD&2{ z311Qy&hgx==8Q|1_;JI|>zlK77Lw;F^=mw3W(YWe2)*$t465}e_eygBz}QDvN8!CN zt|afYREqyEc$DM%|G^_Xni29zx1uZ7^uOOZ+XZLbyS{N4T~hf6wQApKVN-``a!CzG z`?yFY^)WR*bA!F9{BGOt2s}FXsp1kYF#7cKBQ}+N=z@yhVhBacdEF^~D@DV+?*v@T z9dk;0=HyTm&Q->vC5`a?IBJx=o&QRs#%t)HJvU`BPiYfeLE&>LHl$+LVnKT*rS z9cz=ihFiBeTt3xrFfY(aZ(jtFmx^T$y$hqXUG~0bzkv3j&OiNl02OzqLi9Z^AB{Kf zo2nH81p3Ka_*)Nlr(F- zxB)Af(&`++O^qo__3TS5Z5c*A@|)ftuuq>qr`t+WQeyZo*trv6sGOP3!zYPb=0;r#C#xf=3N$jIeb7g*}NfL1x2zwhy~6KYPE z_wPFinobF?U6RqT*?lRBsL`h;h6joM19nPRI;9r4`r0z0qDAMgi{h@H6mZrpBv`9K zMo8)~-@blIQebIBi$VQ53Q1M4ZQ&K(D0jMRZTc`UpOjHXbKV9LSF`DGS(hJY z>hM_ZPFXe&#Jp|j;J*+TMf(2?#KAAGS5Bq{(Ev)i7k8bm5fYpRX`nf09*5t!3|)M* z{#M6H-K-FF8N3p}M||YDoow>Q7dt5u{`h%l=dx8RT90+YY4#NBCl|>(a!KFCQ69iQ zREuc&I3r#GB+Ws_x2L!FbEEG;(|P<2!ILLXzF3#kVduV03qWC@BFI+*@&Ddt-j{fI zq3ohoNWD0BvETA+ei+?~7V`wR`9X;0s|;H*@wWLYJ1d6^hVYZe?HjfuejSUhkL>kM z7)L}nD3rSF)Q+5L%&wpC)Xw8N6Yc~Lnv`wQOyUR5MyaUz9gj1zkJoZu#)J{r1cGP4 z2(WF3tmX^2i)xwub>}|)&vPv!Kr*t)%MHb;qZt4DWMm1~b1Y!LQH<>4$C#)_X%IU9 z!^E?XTTPXuS<;zNX)!&0s?bwrH&rrk?)A7n74*QjDr}hxH%CEidsOs7E6$6;eS=`7 zePfVX(4lpygxaL|FaF{}2`>n1C;@}gv=O<0Z8%nfq_)j(_VWG2ZwJrv&o4WQnRAhq z8`T8K2JN0qxk!F4;bRchSXP9>@dw3LA7sc+l^UYL#MI?6#dhHzN@iw{!Bj=COem2D z7fRNtQ5tfS;?A3~Up+wr5G0YOz&Li`=g)_$>+8&{tS=RCl|f~Rh=}wI49Kads014V zAlt6}fhxCa;C;>P&Ixf9)0mzT35_(d#)zLqI%Ts5Q(LU535bf5Uk_7cU2?CiXFkdL zw9t3hMch8R^*Xz=Z~cJ-C?+vk$>h`|KI9K#$omE655hr~Zu-A&)O!E^SKhv}-<#Q} zJmT6wcYAwoJbZjq)&=;J$i$&r`6^Y+W7KIDd~KyvjX{H}`%y3Jg=kA31&1M*#en;G z?22&*49X7V4!I81qxF|lpUaVb&nQ!B`W8UF*Z${~g=^dV6MnKPa< zKlVe)&$MWRs(iNR;m`UqC}Jcpz5gMQ-^|y$ZQujKY2=>;ZHG*Ed#1s@p_=NHf%-kl zyfuPS{pFvRgm&6Wa(+iKwlV8I;#*WCve?S-AUI^l35 zprs?6Y{~gKT8sMF&=6GmzXPb3`Ni0;(o%Y6&S~5ont%-7llH19k+?%AlE~zX_(bSi zQck_#N%y-tBd*1f&<(25K!TbXM4j=WBk5Q%Zl_!};D6BUga&-79ihyvV0NaB!HP%% z(^5m)e_-}gk2HNszYL6(QV!v@#Z_NB4c80a)~Vf|)c&)G z-$Leltmyc2$}#w^UkvguTTE!KHEMPAxA2l0(KV!NKs~<$(##zoDLRs^L`f&&hzZi6 z=vqbZGQDjYc~-B<|VuU&HQ}j5@=-ZeM;d zpyvLpgm$7o2-$S=;^y@wl73yoY<5j&)nH*Eoz_s#ZDd-yVJdXTqV)kV7guNv4v)IgHDP zGth2r8lLQF^W`7X_|GOKHb_FJBWA&GUftNBRb4MPLuyh7R8=v!FQNhdVEWnqc^dc+ zmw=$-WNYkjR0*=Q*cuoX9zK#?LeM;xs~if2LcT;qnA_^R&ATL$Khpvk|3q^(-bJ2k zE%Ounz=LzjOef04nVnQ&gpWu-U{s!?N1t|X*h|KA)3_=2k0oAiusk|$R`IhShx-_Q6PH{5NzmhyUQ_x_v_+eYb`N#rJGt2Q_VUf6~`9qW@EaU{vsn3fI*$q$-Ou{!7O)N}MHmDA!rIYy9*%FTaAfW9DIk=CS}(eWq|y;yTpN^) z;M5|7LW|2li}E?oq6aC0>n|EhV_@{P3eOi7){{q9WSF|0U;Lg9tStCY_|zb$Ncel{rLtZ~0@*M9o=(XWXj$rUCSce9T3HnVDHw-@KNJ-|X6_Dfway z`&t&tiw!4x+agBT-C(f25*IH7`EWNlCZ1uIr>zB{yzG z8$>>ezP~!_T+iFn+#l6o`r(idyOnhl%2-X^ae|iVp|hP%^tt49p~^HqDXG94`1PlzY*1R# zwB>l+zMpsM7b2^PF){ow41IQW`aKItB%^O=T6cUm?wOHt2D(Vn``zj@MH5}s&iMEq zH=HI8ri6S6OKkN_EK*xhTshR3b9OL3Fw~zqwfNgywR42D6`Jmd32m0Qfy3T?zxX=J z1GTw0T4NRwq3({RYaOUr_yTRd!~>J*--Ybb-A_~nlz99koN-YZ*M*WOFo-#;ema&x zAv9+t_ty3C`+9N{P#M=Qs$Wb3A%Qu+pPv{KPMby~#u?sQXXnr@eIX`dtrZosrFdQ# zyJ8>KU&;-OUFX{UCQ)_XBt;q={p!+ z=gjW&2V!?QIX`vv5->K_&I!N-6))xQk$DZ|{uq^j=FfD`v+O;1525 zl>6AHXBOvdU%+PWnI6o$j*8a|*VpN454p7{H8)-Zfz3Bi3c)>}jgF4SCMH@~0fN$5 zge|<+1$eDdA3Q$CH4VObL*8^yixDGsgj>X^`xE@6LapL97^GR_z6454+uP%n26i)& z{(TvK3^SCNyw{1V>&s(B9H0!+Y-c^Y^g@g;eyxn;W}JCLEW`5iKU!J()3ik>Pl#K| zWU#=|N9JyJRLn`NU#+IV!4JaX5b~$ZM;<-BT%`!y?JxNm-nRx!^%_` z<9D)E=`8g#W!bj ziO+nG-(;m+BvAS1zcs@ZbV3%}WK6I}GT@U7d{pyDY;tP$UEWL=PfXs|9tr$2^J0Pz z7|O}fZFG2THc*$JFFipG*ntemRd=)Fn?35Ee}-@#Sy|`3bJZf-i~L=HP$KMJ?foX+ z-OMw1tw_+KVJSisx=BsDBfw?;dU6=RpC=p+`Z-&8j2a3Ki%Qwk1;(_KVBF;P9Y z|9P|q0X}+@*}ORyaACBYee$V!h3F(QO4IRrjF_&a1RMvx*Wt;@x_(65aTGGp3j%uK z;efCAy^|AI_HAYJFr_Yv~^?7W76{+&5BKk0;8@g1u$Gjq#LT?hE& zGOHo_~gQ=(9_$8-S{M%mEE(;40I5OCV5loK_&DTK>45T%7} zM=L!H%QLJ!o7FGSJ8I29WBzDE4?8T6XZb!ZGjl=J85Wi|nyhRT zg{6Nu=%4gx2xGiPk@h)l!2jLt@(!xLk0xbx)r_e*9W>>gDNQ7#s(TY&*ur3Sj%KI? zjpkltB!NTSEZ(+V!<=nr)9>Um!5`X=j^&#Zg_Nsuv>^kEYgGI}hw0oV0m6t|4jz*> zOz6q--sOyhjbO?V1Ncju@oF?%DY)@_neUnejkQ6<{3oazUtbc05(k?(_OPw^XI=EX4;q z=hj%97&a(`Q?L3pu+Q_VcJT9GQvCQ6`^6ib_ct-OVUdxTz+)Dcr#`z%NnGUClSQpy zKph^4L;QZK#Na!x`ImAA_9=L+!y^iaVbL`b?!FS$Mr&H?yrt%FwO5k`7KGKVM2jNk z-QW{-pPDTFlORT1U%!3hdCo(Mav7TMhk-6b78zMwYU=JiY4+Z3T58hIOfn%4d6}g> zAd-yFox!rYAA87e9=(W$kMCDQD{k$V+5-a6`!CyriM8KEUJpm|wK|IZ`t?giL+w4% zrnX31LoFaLj}6)nQwG2Dx7`h=7QqD#$Tht3%EBMK%N5rc2>64*2Uv9U008X7pKYZX zM9P^wCBcpp9?n9BxjQlVn2D0w3cjJAQ78!;YtTA-d-JOYZD}P9;aoYPq_bCh`G*r8Zx@@$&Qnu9uwKAVP%P*VBE>!p0~|zX!0)CJtb0=; z@xhDt$ex7hi8gKBYX-ztc#4Le{mBM)h)B|9X-} zaDc^mKam1nNMF20V(O@PmJnEX`I=4dT@v(K-WNOHQP_8@+2JdqzKY8}(Wmwf;CRKB zu~pa1h1NJ}7XUh=N)rpWmpjnIxl|FVwC}jU=0X+@@UYl&XlB1&Ufk=f!|qcv{k+#n z%geiKR$y_4K^&1`&`@ylfPo=hcV6P;mrvv8)>h1q5O8Q6D;RD{K~q1-yU% zp4}#?=9!&Pz;ukH!Sv=xmK=!ah@(Epj-#T@Oy!4Va2B=B+BNT;vS1$`9&Vm4jd+3j zikV$mi4%7_7H{%AmEJ(Q+blFr56`4McW!YS5@!W|zHzR!yxOX;6hEikOVBnX1xU!r z*QT`+wKp%Gi;B`ZY6**o=#0CC2N1xfr>DV+vJy4rGv+JL>%(rsD{2vMBzHR19A5jv ze$bmN#s}X|)jL~5JJ$jgk2gzL z-lN1>Sx$uV?C!lyKcqTyW$oy6X#?wmoh7kd8|J@${mLBDM5xRO{N=x-lE!wEQkbNm zlSs{Xn`XcN$8tGK6=E_T;TAraB`rSXmhnA0>aUf%58$4;Njm5A{yBisZV}Rf;fX;~ z(QiSZpFlSlHGxzoS>seB$aYo?Tk8(dB1Y8`s|`#UC!^{lshxnm?Q^URM{d(r<-?ojg7-3!`*{_cztltR$~--|U$ zu)y}sxDaL^;#u?LGmWWE&}Zft%XvcvmJYV{#63D}Czdo`Y70g#g))}D@5Gx&_j?na zCj1$!Za&$Wf-0tg;|@0qL)iYQ@e@|o2(TwvE<2O88-7D`-_p{e3#3}v@j$oc6JZN|y=Dk_?6zkadc(dt~TMm%q4D4mx z<@Kg7sfKyoK*V`h+`U<+9fL9TMRqgRKIlJ5-Llzb9~zHl5Z4`do78F`Zn8|Ywgwf( zEG$eF92^`L6Z6v5RS<-aQjcSco;~?k&_GM>x*WL50-9&Kq00e%I zQuQqxLD>#fqtK*ujK=&Qc+B)^p8|((&>x{pO}7H0(-cHk6zzr%20hIRYRsbnHFJ&; znLZ!|tOx8bdNH+!D@?JV@bq1St8H4>iyGz6uauQT38W_mR5nqbu{3rDC<0Fb=Z_da zs4aXU-8S7uv?q=9e_nBlwEKWyY>I*bYar*EI5pk>Cm*t|=50a2Yii7deT zxlm%~Do|XddGVCQb7G1GAp0TbvZG2JFz^!Fq$Rbr<_Ry!4*lz>83^eQN(_)0ASL~w z*d&Sb9mOl<@tFKuL-{{_o9_e|x}DEU8=lzYm5oE^LUp$9lg8Ce@3}HT7WRY3sU*B> zH{J~;$3I-nuD^;xAliwIT<^e~H@JYH^h&to=RnSg-USa12QZ^rZUZeH8n z$ct7zsZwjjFI4v*1XUUq#-Ek$?>ETlLN!qhB~PDTV}X9HBItpcR7}Ty{feG4fL#%4 zJOROMJZ;NTim-4u*~UF=8z+7L;+&)>Vs0`!xC|eU*@tT}IR8X{06a?-9eu5; zK)kaL)1#xmc!X*JjKPyUm}I1JOJ+!ryTJg!Y5(InrnM14M@I)PARmn)T1gkYmmFXn z0mm#9yTZ<-Kl_F+&e4_E|2CJX}+XJyYSLUUtw?S;{nI@L#th&UqRSL0qGn5 zF2nxs*MNf#W%vOAzBlq_^HIC}FGnON;|Rfu1IDEHT@x!Nt&Y(dx0{L4&|bbl(&7y5 zs(aD>56y!i(2ObFDG9NP-6k!m=!>HRH{;%=e8B%Z<3^Ze#teQIqojdhbUPDodm8{W zDVSq03>Y>VkOe0f60Fr5Pyo%Q6=Oo z_g8OfIb2y{ziUVI~Ke+_$xv$s}h@?MyI9 zSAu)<4YX%wbCy+K(p6Of|C3#tA=f>@CTUB9)5s{f=6}hPb1$Qzbhh4s&aFo;o#!E> z22FIK?R*3A)D-KdaG|Rrtr6JI7AL(MR;Y<-ZBT-osj(vlP&>T5yxW?}4U#SN1!(8rEiEkC zKGkS%J{1!at2&Z6IomdE;9jq3J{!*xH}tVd8eu^Lj*y@?WK`ob$qvMTgGNdEh=@tX ze&=+D6X{}clnai9=+=rDQ_0JouioeL?_a5qOo~@9&hFn4g{Ie)wcW^1CK)ztSR3yT z09;@N%?nVHzcMC1zMJ>edUn?6!imR#yf?J~hUaCNN<_+?gLOEF8F8bm}l>>UWMlEbe=>j1^g0T>VUl3F@CIoLuC zW5qqLh>~%MTk+uJP|ox+|AW_%{YmFe56#i z{|{!25`y2nMHUtof2bEdCw7K216eUa8gJp)#lj+oRlg9o$=~Zj=J(a=lV9x^i1u*& zT9}Mg@KqGQwOYWt()T`5awX1wE*vf*FF=D9boRh+ZC1YUQ*rSh^}8Kk!lfC6DC<(` z=we(stZ*Z^`)j*;oR-FK8-g>P;^o0=Tc-AfTpgVpLc_CEx{*c$QJ|$)SwgCzVITb` z{0K*ZD{y$SN77@I45oRputXw|hL-oKVL_k%IquI(J^;r0_WO~gO2RXG(=0!1ni=Y! zK3au{vjcI+=|j+MF)n*oS<#&1z29q20#c|}a9ER<#r3F9ePsB6#qlaVbtNA!Z+z3{ zaI(NtDd&hI8E1E(Iu*BVkw{KBMf*!eMOvOMvdH=d12P6_!>RAT1jTqW1X)Yy{MfGi#O0(OzxEgT}_ zsU)NKn=PMnXswyW!Nm@$X+4rX-b+qfD+d}JpARRymo#r5Q0;BGlV_lh4GWyIsK~yF zD!X&RAr;V>i7{d}oq`t>seTLEpXU_8!uku6(;n-&Z<4s)gIt^=9^PwuUne>umexuX zDRiZ3Bdg&CrlK@h<8E&g$6iLitL!uGS6quM61wAipl9}bZIv}+ajd8aZ^wYlu4zJ# zQvlaO;k*wE*Rca#@fK$A@1l%0`iboDoPW`Sut3NTJ0@k_za0 zlhOU-mf-z|O#*4Be^{meJKK*cvBNJPJU$^ky-DxVZO$(T@y6~PmDCzv)F4U_3Em(* zK2(ipOyjAn2qTEjL)f)V`k8)y+h}m-C{AtAy(zIx?;lFc$R%j=cQHWu!y^7S(w8KJvxs0>`iCbp||%D zIR_zP%#EkWCLJ#%Vkv#)APO$EP-0X^JR$C0$n_&a(0lzsIu0;*)(O#s9W*yvV*$h1 zs^V=XF5r?X?LSmAI#jB6isHSnf}P%1p24@CSc^K}?#l*Eh*M0t;dUB~-IbV;NO*h* zKrVG)0WBBz@hOVlLHWH)d=E{8Qza1R=b>X;K^ahdV#zXH1>7_N>%?~zX7}lc@UJn@ z7oF=DH+I@;pF&N*h)B^7HzPw*o5RJLMuPhN>0eL@re@9sBm^rWO2nF4e9kA9pliLNLhf6|#-VNWf~xu4gO zlEYYeg{5l%{kq#V^wNdX!kw4C1{YXTXPps>>EBeDn9zqe&J}@0(t5LjoS2jB6@{80Gd+-rn9K@FN4jm4K;SMn%4dOCK#mPWizw=}>W7B|aVx ziG$g~`jh4Q`g+m+axp=~Z6%yFU8Ve%)#J>j%-FX8xii+jxI^i$eQV&qcK0;kCIVty zF)jP?V?pzRfV#T+jjdoxsox=1;$1E-^tu6n`J$n2DFttRl`gK=Yie{l^Zf9`P{S}! zJs;qPys6wUcn3DA7dPpG8y<-dk6~X9VxY@cE0@L4wzVB@ZvuT7k;BcTwzx|-Ym~O8*Q@%!UjecF`IB73dy{TFINB{eC?&UvsrRkvS^5w{B5hA^Kuz{mgM`mvRR#*vt z$?^H3V;v$!$mm|PUH^)Q{AsM1SGBvXAv0!jYxfWya%hu)G(Dnew*P!70QzYRC z$!ND6zktTpm|rW2Ydy5rZ2Pb8FpXG-gz9Yq$;c;ZR=&wIvlj`#YR#!GYxcuR?|kIU z()-3;wDbpSYwV^OucDIdz8y2@C=@z8d1_D$^X;d`qPC0SuJ1}(K1p8FK1 zbY4GybP>f>)ec&qI;KphC0HvqnD!oAT&@YTLoBvhMGdB3%9jizpf$KuP@Urk42N&p z{xmcFh}D&$mpV6uXH4#N71&|5ElPH?SM%0BpK} z)=we%<0f5Rvh9Cr0ltlOcN3G64ydlOwJ$k0utr`Wk<>aAz~ashels8$uP;Vy=|EZ} zC1U?Pl??(3WrN7~g^{F+Yj2vG5u0RwCiz7maVurt$_UO%_thF(rauPXFLsr_OIq`% z|2VUx6GxJR6sVj}Qt)Gtf7vqi%yf#;Lj(9SeD2|^e>MKFj<4Mdu@?r6B!Bihpn(sp z7whW#!DlC^_I1PbdX|rb=;7TSwY!Li#Cm^96l#I)ju58fncLEJ5&(e8ULHJAwg=7D z>K%=*`qzz>xL#A2{G_8DB!i^a19va%{mA{u70a0S1Lbbwr`nu)tdWLznS}36yCP9+ zITfEpBv@c{RYe*CLPWjm-k0`JVy|j?FkWqQwF~|Rj)E`{DY9Iw&+)&4^zLT8Umg7S z@5gZ&8Bo32oSDP*uNi%+Bj3Cd1!Uv73?u!i*HDSS_g9Ho&WG<8&zoQNcfaIJNMhdH z>L9Z=*|DoQIe<6MTT=GSBehnO-t{FOy zvz$zM-s>>>nxlJpeqgr+Z*G=rz+`$Z)^dD0-Ke$;8Mc#m_LIUKTu;!_+X2mHIb#-B zO5N}2i_vv%8=_Ey)2@>mRd$2UbN1xiHA|;htKavc8Szw-IJW|Kqg?st=CVgEoh7&R zVKWmZx5rG8ll+;A+IB!^_m?AH9PcIn_9g!;1plADKA!XZd-fs`OYkBBfZOLaq~D9H zYOtAPT|9|BCuR!^K-g(vCsj~6WhDC_9XSf)DYq}#pQ{+I`-6}As+J@{e8h{=sQ2hA z=WBr=7f>sQ3XkI6|Ds-e`6Q;QNau{Ji#4hv)uW=!V!Gj#LV65{LgL_3qlf1iU&R=$ z6PqGLjxA8PgO`?kb!nOTIos&rHQm^@%n(Q^t-kOS*TQU-EPF8pRGn;%v~y(TBRN4syNUzE=k88HpO6e%Gg zG1FZ$k!bH@2f76Y(S+ z{bJAoDf>9mP9@|cqSbsN%;0k*P^60_c`~3IST`hY=?($&PRtMpu{8y;%vR?yxbm&7 zUD+=vcF~x_a|w&Z6io7PBnwn5R&C5f1=n69ewow8dEGLjU;8ZCKX=%_mP1}$EKbLZ zxNKYRr#@J+Ps}tA^6Gt=-yTds%H+V)lRk{BIS2O--{E8kf)W&kKx!u2mV8#*aH#7i*?0|^`?$nVTCwvw*L96G^yPwthiPvZpXUvfM3UKx5E z)yW_*fwur?uM`9_fJ_0W_1CIuY5`zA7p#a>yAZzKOQ4)hNJugd!PGT5{D2K6iOPt@ zwX$O_IRf*x;3Zx+cG9?Ls#?(zoh*nC>tnZN-5J6UXf~cJHLlUUgZ4MlVkn(ci;FJMVeBrtGlDYZC}!c8+;MV3 zLTgRqT=43uM)rYxst{zNS%=REiEKGt{noq2ZvD+e^ZcUX`n9f5R(I>{${Z@4t}YVv z1pI>?4C0=P;Hv-8(>JkTee5$Z5%(@Ly1HZp@BU?2;k|d-S3Xh2zH2lK$X$3cH{kWz z+i5aj!s|6H7zFhHI^x)Y-<}B_{xyx!`B)F<023A+(-oFzz{to5s=V+ApQSTlOR-*! zJh7%Z%z3If-H~x48{x~$r^X?^;#d`6bFUXXRm+KaTInP1_c4MEd zP=pZNd+dFct~jGt_IdYs6Numx)b4BltGMruYbs6mKZt^g12Ps+nuDXL2ob5$!YJx0 z0!mf-zz7nW^b#Q00|<;F0@6W5YD5eH0tA$zBE5tn1VL&D#SlV5NbY->*}HppckXZZ zckh0#e@H$j=bXIfd7k&F-{(1ObeV$c4^B6?Z59>nG=DiCulH$r+W~#UZ5v@t$!$(U z+~ddJ1IaCV>miG>*$8e*-roOC;`lc+Qs}#sWF$BCrP4TDVTZfk+WwDQ*n3VvLvVIA zL=CR&e@E^wb-K4Qn1ZkAyweA2V+myDIm6-?J{*MrVoe|Ky(d8^r4@J?8ero{1rVjw zQd&*Ohxco-Wc7N*UzVKL*WYX=qXDWTd0)Lc!Mz%*{HezWrN4TZ>)iNoV3tZP^xFXj z7C@sk0>y%xl+v}tET$nlK*LQs)t-=|_^WI4L1krAP%(ufu8bc5)w(wb?MtU7_4U6> zf$|VNKxlfPERSFvG3+T;gJudqV62M+T(p}=v{zeRSbF2yt=}9g1;%bn&iv#raN}Y# z$%60deI2mqTKQXIIQ)2IhI_x3=&K>x3!z_nW6s;zNwb${4nmn>55!&#>lWFKi@FT` zc+&XOW+;^2s{a1{`??z5Q2i69+IG|)ot$h4ni&{Krww}47+kE@+zaq0?>UUbc)Oap zGOJ;v@s=&vWu|&#>EZ1AGvM)qCcj=--tvk`jy?wFU2KM)=jFYd@Tn)032y@uj8Zjj zg{`fai$??Ht#qT~Ks9p&eYMgjSCLdGXOwybv>TNAQ!OqH6536vl>xMl0&{tti#;Fx zwE{A6lL1b;Trjg?eu;(HdAiQA6bf)y(AV2~tL$isgXQAWDll^-3P1;T6jg@-k8udL z`av4+H;SvVk&#OeAAF~ls^PtfHbfAFeo0T-R^f7&dYs;HshtaDf?fgWvr~F<@;2hI zT~^-W;$qLowT|e*GlHEX?IJLy>tq`Y_ewUB3pGwXF(A}N}c)lUq>mDIm6 zFSG!k5MVC8DFJ#yxOW8;T-!?9KJF=)tL ztz|pWw!fTkd*}Qi@zYzGGpo+XBiG^wNf?X)KtdG~4L*Fj3Nm_+A3fsZkudj^+dc0( zy)90B>*aiyi$ODG4hDveY~u{1=2;2Os-}9(y^Byf<#hXartnnP#o?p5icy2auYSx3L2xKoNn8I25k(E2T64I?$^@jNbd*HV*|ee^I{F}37Hd2(6cLLJpxcB@D_+Vc{C`d3>OH&GEa zDkrEeraII8_r&^`(zch6HL9;H;4)@xeLfsITP#9lqd@o3B>C zvZk5~dr|8YJbl|%zwYikcN+8U%ufwdx~st;ou+PMq?Dztzj={ejb_07=Y7V=b-(5| z{l3$EYz8%YkUK=2uPV$@_6p@61bq|ZU}#9x!Sk^VV93yTGm`5Kzz%Z4GP<8%Gr<3n zckbNrp6f4N9lawm25PkMXZB#s+OI<%ATLqs1wfxwey(BMwG|q5fR)jiGAf%bE-f7^ zE*^QLym5N^hW>+1H&Cdd15Xk5;o2PGhdsQK0h);Fy9r!czn`6Zw55HRYQVzCFkW4z z@3y6()7DR|r9z0~s39dTqrjY@Oe&r~?;)W-zQ1s?mY>Pr2zGP3K zhl>=uycBPu4F6G&TLn78dAi%?pX3{dYq9!Cz+OZHltfdBEfF5v0x$OlbAlN@t*q1mZuaRm1S+)D@)1tu8>(5tjV03fZRUqT- z*NeA@)D*0k?whZm>v5RpOQKoysq=5R+kOK52KB3!86n5#t9*ab_haVi^=!JPPkm>H zn{C+la(A1LA#=N)(HGy@LI`J3*x4T!aIdb(QXJ(L@NEu5;J?}ML54TXshVyY9Omj? z9-^{=F>ZXSVEvjkn9;V*q}b05;^hI9Nc-rMa;G$S_5J-{Vtdr&{=lRoht@}Kxs z4hLOQ!^_ZuPG3fMUFnWV&)XSc`osykAO7pRa>LAfCC`$?SDU!&c6_UmM$1lZBQ^Y# zKaH9vntI%tIj564SH2AMBR<{jmn}0q zA3PoqjUCULGs9#=4{E1NOCCoVZ+>dybD=XTGvxKqvcF*Kt_VJj;!|j*Fc5VkiH|-* zg1Y9k$Pd2lNSR#=)!nZZjv<5ne>gl6ESHYvvKF83vTBxgfShy77fvzPDc!EkTpM(F z7GpCwW_W}@Bw1l6^y%56(DF$>aVVl_D;R!jX25LIvlvjXzpBC=XvGt+oXPn-NkTK{$IKG7 zUU3OV{*~|WW*K%FKkucgmkeArkn4-n=;XQKYRU`g3r%bZHTNTmHOpNu!$A4}1-CPw1)tTD zTtxAMO13;Qy8mj>YIyrk!#gr1)IE=bmXTYxn(z{cK&x0f1@y~-;yLkU7}(G`64!tH z8GyDYfF%+G?)^glaTHa-zP9>vzN$nrZyUf6kjkRzq%u>tzK3ARzEf>60OQt_P9E9# z3p9t;-qYvKor?l)?0NkL_&62|J_r7?ZnZkB9zHgnu;fdXp$XUH7l$gGofOix*2mB> zG(5RVlSj5gE68eU@eF_}Y-(<%$_R=`7h&FLZ6?3<8h;jpPrb0!6D6ddYjU)tYPJB2 z)$p6X{24d~jWX+TJnEWBewzMJr=%t7!0K-!!57DKn*0`p+1&I-G=J^&tpjxygaO?x?0kD`s2QQ`Qqs3 z_oi3}s53?3nl;bk#IKKISE`+Xs%r#RO`=_QZSFxyyFa&GhiRj){~2KW&gwVF@Rno< zxgz)>FB@Vv9Rt9Hj-Znc04(CgpXXW1`hzD*crn~JPwN<|BUA#ILT|+ zWqfIfs+@)~2uz*w|m)e%`)P^YQX z04@PA5iVVfG!=ht;lVLVc`%nZF_Y)y;^)G}zhdT!=wgHDw^!M`Pz6~F z%?;{|Wg)*=V)o!jOHFl8@LFoT!E5D1%=s`K*|B*cgpJSI$dp|iw!ivDC-5yEWv8tv zxl!W)+C{&?xEa|1)atqqkqk~y4-a@46VuDz4A3Kv)D$nSlYYbG*=Sv#k>IID*kt-< ztl21OX!I|0d%%r=w=4@3v?M^HfVBrXb%o$Ho0^(r9liCd$)9}kiVr!?a+m=gT+z-Y z7Wh45bsiR8#TCCBTn6KCJ7&dMD#8s>d0tWg-b6|8}+o`G4RaB+q`1ttJJaOTiq}E=5%(~&;|LV&bJiZ0C_l4m!@>mOK zOS$Hfwg(hXVhaJ68C0^Ei0-Px5J{A@+-2b1EETw0R1_Q;tphllXs!8*oS>Q9#K9Ur zeLoDBSKC6z%;x8fJ#{OI6cel2X<1??MWIwG>n^qT>C4#(;O?d5yR4xSwY>KN3wS4? zsf7_9EK0rvD+c-@im9OE7G^upq=(ak#v&^KS*R}SY6z?4M_E}}Nm_xPJHGp_ z@vNBbZVHdfw0=Da5Qh7Js(OgUg75n!mmU>+)w1G%zoew10#?83So0zvJ<`yFi)VbF zjPbk4EoHQ-=j@>)bCm01&?CGQOcDwt{`uz zAs{F?4nmlvdO?|nM+eW3fzJ%Q8>6S~et9==-JB@3VWoaET~}*D{9$PT`9^Z7@+17O zHJ}|JJAkxMMJI`48_^+DN47A5!_Z&-5|2%OvpURR)R-u!S`5_2lx#*HKMwTo{Lwd_TtuU!9P zfkUdP?S+Y@q$Ij)$ynA=7CfwzyL-_=#5BeKL4}+|hspn(3k6K3rW_M()z$%`aqkqeV?&O!-~_ zX^n!v=FYWqi^9VS-#LtP+bOIxN~Byy=t)?WmfSU>BYz;Uy!u~dy_C9?hS%klO$&h&H{OcByAY6S>mwR0`5{$3?@x;??uR!Li1GAAd8K}97FN!6N|3fYM& z%^aEzU}Tlsc@$%BP($Pj>p5}M2Q0#m097K4a;cXF4{@uhooH>&>>0_T%-G-U_+TH} z`JN+3onQ&U4qWab(l%k>cHR5`cijF3AMdwQKb`94X`DQ1QcX9VYN(W{mH>X9#Et7$ z@;96>$0{o6TLRASd8{W+1nOuJIF|6Sh}R9=!cw1!k3n9Ih=u_oH?Vr~t&r4rS;ICM zP-AKwu;eCWqPW-X6&*8w_U-HXCwu}2av z=6yO-CR_)aCty3`1UAUXDc(noKpxX6G*laS41TTAXye3=+h_%QG?z)$YAKfIa$*W6?Q86(64 zyS5Oa2A~8)frxp7w&)s^wpq8=z-V1?)qW zWMc(;Egp0XmOmiWu3xU!G{gZx?fW}+PDa#wrJt^( zre-0Mie8zEEcTM7+o+L3YwrSrz8TW3gXU-GF1O0^1fCBp>c7AviYR2Ct(-w+x_)L7p_qssoH{zNWJ*EG!)G zwbk+;C?l6&P(M|#1nW19WoV1uxUPd=s|NaBTtXrmoAk!hY0+cOKr7U><>}a>P#kcJ zi$yFXGxI6}!z#I}8g3K*OGLtOpIO}gHL1?wbj0fE%Kn~L%}pF+kvEr_CgnZa(#klJ zn~vzWQdC<%5o2Z2OQut$yIqGkq#3*Mw_=qW})R z2ao_*0xMEUK;`fkc~$(VlxQj7G%)FMjwlVU<`6tyHoKV02QB9)vrpCG%Q8ifoJGCy zsbYoVz@G5aXYw$j_hkaX3^26IZV*vsTDH#S=|PYl4n(v6qxkZlP*V}QmcLrLT_> zXnHc=?T3GU*?zm~8-ska{Ymp7eBu$cCV;Eqx|sw6|UJ8Ckz)+c4$Ow&r9!Op>YF}%)H03(qaY|XZ zE?@GY@ge*m`w*0Cat7xLZ+nQQG!D%d>9jfzlftf96r z0{un;0~&52)X6zdLTVk{D*Kn;sh}>H+qYxRgU=58@y}6R9P)X|irNn>xgPp&^6?v6 zFWg^#E?jLtSK-S)9pi@Wr@Bi+wN6jt!UaL6Bxs zJKz6WV&|XOcpEHs$p%^){`mu2Hr+f7RCUD89Z*Lj^jW-Vb6Fd(*!=L9nL|~3BP8A> zIS4>{dHtLCeoHq+NLv(J2n}6uaWNtYLC`Z(A!PaPa=SkpA-NDmh`;XWR=qN^5Z{d# zCNHzdDnn&P%Qlcegz3%*XPnrkoxyIwP%Y4qwSp71=!3$k_O7!(RXboR`~9eqEd<^E z&oou@mRO+f>H*<BcXogvy^r8zL{|JT)_X#%n$(?C$Bqjbv~Ptjl-v zXkJ_}y!qVu^R1YuM476Z{)#XaSy^r?g6G4T_aLbD<}`&PZ+73b;Up7*#pd1f@n+G_ zevf}%;LSx=xE~M>t^9!F-QD1M1t-O|=W&5u3QsTB#C3uOp1q5+d+Q(UkN>5#+&|)8 z2ce)B)k)j`r#NWGvZ^3bTi~0;u>=8afuxI&z~Px@{<9aEu2ohhFA?|l59Wd$=SRGM zE~aLFsy6ROd^0pG2X!ZcJAA1-iC*t7`+IF!lc;PHwOR zC|S3v^G6xlxy_CRY!(%n>vW}n&0Zy`rde5C&os&RBZBwAOpE{Dsl>lxIa?oS#|ML;f3j8nxR(_jMn={VB(uaoWqY zuy`Onw~OwHqqMZW2@Dyr2PEG(W#6AB972!f_x2(9jwI|4F)Y*R_RUPI-sX9~fI`fD z8NRSL<)cg1K>DFxdK&M`s-QC2z5V;yV3W8;=}u#N-qGGJ`A@qbU=*0Nu>)6?zKH!ntLw|z0kj$ED<D;eJz%5q`gjMo4iM#ot>4>jrvcGMxvZ&vAlLe`EKi1HOyd zj~;FhGroX|-0=}rAo zDku&?C^&;3VgdUn#I)rzutaBCrhc&K+Lyss629;>n_Xl5IH=452OMa4Ls*5}+n{lu zG5tZf%D8gf!u$xxm60S012I+HEtS&*?qCYx|HYv`96bXCBJReVINkjT7Y{{-m|Rgz zjK;f>n?PE?dN9$GK`hU8m>uX1Pv#X7^qzm)l2mYEeZa)?LmBf)NVdEvIm zR?P2v_<)inX6}4rJd%A?a)|k-PuJM_wJsE>u4-Ck)kP%lhKq!27X|bE-@Eq z(Tm-lBA%cf|NzD;%n( zknzpTgc^uqym_V!`-hGD0Gs~hLd!obbjn%P*GQ?#6<(b*19nL)%v-VDeB9b7b}(|`bqz`NhA1hgZkq> z@5`QX@eI}6@Vv`skh>xxc5kiAd(?HSGO_hdT>dg~h{`OCXPA@trhnvHRgp}xc6t%k z;{|07TX9Vf0QLhEL7yvS;#7R=yxdx#HNjH>96XsaVOl7+M=k|Zwn5bAZ~tbi7kVkn z#;RwVJ`?60T= zwUY9MM~;p7l(91PQ1%<%0{Ek8VM9C$iwqW9@$)#_5kNX<$I7N=XZB2HsQ>w1ee!g# zp?zQ?mf(CPes$hp&FMpR+1S`U`axO8@dXO{Rh=LFghVg`ApYwF4#SBbe6#t5a2y#loFWCp=531i(3 z3U+#^!4LtU089@4i`Bb-PN*ImLM0m_1@y_<>uq&FA?bmas2xawB)zpa2g3HVN*;{6 z1us_vR$HeS2vym@tY%(XBZ!Ht6;}Ia`>lYj8t6L$@psTeX7q;LLb3?J`nb27%mfq2 zUUIF5hXZj#}OEgR?X9+ z40@sB7?Kf2ZfHoiduQ_LRX+#MwB$DBdzJjqdNGY}_0pY(P!I5mjC}>6!B$X4|6MO9 zJoUN-oXrwa&YB?4`+%?w2rCZJfUns&fw?(mI0h2Bw&+MWkK)bp%DrMxaJZF+5E!dt z8MYy_(najci?L_zK^ShP+J+qA#E6H5KhKwj-5TlW{MjiS?@8?0{8{QauMb?W{(BfN z&+qNv8&CK0ZHFBedC=zwJ$4q_{O@GRf0qMTPDA0XQs)+6pTcOLIJ)=4e0Qpm*e0k$ z5npEt;)W_)1H?@8BDw&M`c*TN!eaYP zmyf9~KXXREn1W~rA?1U@O=WTrpWZX)b*GNnH`fh7hTR6#JD9`7E!JNq9(dxIQy_>_ z83r*LiPJ%|rLk@!p2X+FITriHdp_Md7xO{z_rlbmfE~is>H=THPm*%BY{Y~sdEoHj zRt!dHGUIal1H{nNOA5s&LE;3YEFj45q5a+8L)U+&0sm|K#dSC`9)ul9An}<){?PMm z8^u84=BoGmMlYFdY^V+$@KqgniC--BB9uO_m-@E;6o}vs;ma_8iQXVT19BUbCmyl+ zZky{IzLpq*e5Gv$wiHp3w~|KB4(oTmZUQ4u!vAQ3~LgcCJ*9D01vuE6c6u$hFR zLtY9ZbqFwi1<*f~GydAc5a|F2W Date: Thu, 18 Aug 2016 03:40:01 -0400 Subject: [PATCH 06/48] Reverts unnecessary eye-colour setting fix in preferences. Resolved by https://github.com/ParadiseSS13/Paradise/pull/5495 --- code/modules/client/preference/preferences.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index f8484065e67..fe2b5399676 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -1989,11 +1989,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts //Head-specific var/obj/item/organ/external/head/H = character.get_organ("head") - var/obj/item/organ/internal/eyes/eyes_organ = character.get_int_organ(/obj/item/organ/internal/eyes) - - eyes_organ.eye_colour[1] = r_eyes - eyes_organ.eye_colour[2] = g_eyes - eyes_organ.eye_colour[3] = b_eyes H.r_hair = r_hair H.g_hair = g_hair From 44bf2535948326499cb171866d799064af1e8541 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Fri, 19 Aug 2016 03:19:40 -0400 Subject: [PATCH 07/48] Some CMA Improvements, an Alt Head Marking Handling Tweak, some Marking Colouration Fixes and patching the last of the gorey spots. Changing your body accessory or alt head will now update the list entries since the amount of available markings will change depending on which body accessory/alt head you have. can_change_alt_head() will now check the head organ's species instead of the body's species. can_change_markings() has been updated as per the style of a recent PR (forgot the number). Resolves an oversight where the Unathi Tiger Head marking was intended to be available regardless of what alt head you had but wasn't in reality. Resolves an oversight where while the body Tiger markings were darkened, the head/face Tiger markings were forgotten. Patches the last couple gorey spots I missed. --- code/__HELPERS/mobs.dm | 4 ++-- code/modules/client/preference/preferences.dm | 6 +++--- .../mob/living/carbon/human/appearance.dm | 8 ++++---- .../mob/new_player/sprite_accessories.dm | 8 ++------ code/modules/nano/modules/human_appearance.dm | 19 +++++++++++------- icons/mob/body_accessory.dmi | Bin 57180 -> 57131 bytes icons/mob/human_races/r_def_human.dmi | Bin 8600 -> 8565 bytes icons/mob/human_races/r_grey.dmi | Bin 65182 -> 7669 bytes icons/mob/human_races/r_human.dmi | Bin 8175 -> 8156 bytes 9 files changed, 23 insertions(+), 22 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index f7a38cce758..c5d761ea421 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -153,10 +153,10 @@ proc/random_marking_style(var/location = "body", species = "Human", var/robot_he if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. continue else if(alt_head && alt_head != "None") //If the user's got an alt head, validate markings for that head. - if(!(alt_head in M.heads_allowed)) + if(!("All" in M.heads_allowed) && !(alt_head in M.heads_allowed)) continue else - if(M.heads_allowed) + if(M.heads_allowed && !("All" in M.heads_allowed)) continue valid_markings += marking diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 552de1b536a..bb690e96300 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -1406,7 +1406,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(m_styles["head"]) var/head_marking = m_styles["head"] var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] - if(!head_marking_style.heads_allowed || !(alt_head in head_marking_style.heads_allowed)) + if(!head_marking_style.heads_allowed || (!("All" in head_marking_style.heads_allowed) && !(alt_head in head_marking_style.heads_allowed))) m_styles["head"] = "None" if("m_style_head") @@ -1420,10 +1420,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(M.marking_location != "head") continue if(alt_head && alt_head != "None") - if(!(alt_head in M.heads_allowed)) + if(!("All" in M.heads_allowed) && !(alt_head in M.heads_allowed)) continue else - if(M.heads_allowed) + if(M.heads_allowed && !("All" in M.heads_allowed)) continue if(species == "Machine") //Species that can use prosthetic heads. diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 0cd9ab9e836..9757a7bfc0c 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -128,7 +128,7 @@ if(m_styles["head"]) var/head_marking = m_styles["head"] var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] - if(!head_marking_style.heads_allowed || !(H.alt_head in head_marking_style.heads_allowed)) + if(!head_marking_style.heads_allowed || (!("All" in head_marking_style.heads_allowed) && !(H.alt_head in head_marking_style.heads_allowed))) m_styles["head"] = "None" update_markings() @@ -414,7 +414,7 @@ continue if(S.marking_location != location) //If the marking isn't for the location we desire, skip. continue - if(!(species.name in S.species_allowed)) //If the user's head is not of a species the marking style allows, skip it. Otherwise, add it to the list. + if(!(species.name in S.species_allowed)) //If the user is not of a species the marking style allows, skip it. Otherwise, add it to the list. continue if(location == "tail") if(!body_accessory) @@ -430,10 +430,10 @@ if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. continue else if(H.alt_head && H.alt_head != "None") //If the user's got an alt head, validate markings for that head. - if(!(H.alt_head in M.heads_allowed)) + if(!("All" in M.heads_allowed) && !(H.alt_head in M.heads_allowed)) continue else - if(M.heads_allowed) + if(M.heads_allowed && !("All" in M.heads_allowed)) continue valid_markings += marking diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 2eab7ff9092..0bb6e7e66f0 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -2144,6 +2144,7 @@ name = "Unathi Tiger Head" species_allowed = list("Unathi") icon_state = "markings_head_tiger_una" + heads_allowed = list("All") /datum/sprite_accessory/body_markings/head/tiger_face_una name = "Unathi Tiger Head and Face" @@ -2176,12 +2177,7 @@ name = "Unathi Banded Head" species_allowed = list("Unathi") icon_state = "markings_face_banded_una" - -/datum/sprite_accessory/body_markings/head/banded_una_sharp //Companion marking for Unathi Banded. - name = "Unathi Sharp Banded Head" - species_allowed = list("Unathi") - icon_state = "markings_face_banded_una" - heads_allowed = list("Unathi Sharp Snout") + heads_allowed = list("All") /datum/sprite_accessory/body_markings/head/snout_narrow_una //Companion marking for Unathi Narrow Belly. name = "Unathi Snout 2" diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index 72d64ec3ba9..9918f6bc23c 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -198,11 +198,14 @@ if(can_change_body_accessory() && (href_list["body_accessory"] in valid_body_accessories)) if(owner.change_body_accessory(href_list["body_accessory"])) update_dna() + cut_and_generate_data() return 1 if(href_list["alt_head"]) if(can_change_alt_head() && (href_list["alt_head"] in valid_alt_head_styles)) if(owner.change_alt_head(href_list["alt_head"])) update_dna() + head_organ = owner.get_organ("head") //Update the head with the new information. + cut_and_generate_data() return 1 return 0 @@ -281,10 +284,7 @@ for(var/body_accessory_style in valid_body_accessories) body_accessory_styles[++body_accessory_styles.len] = list("bodyaccessorystyle" = body_accessory_style) data["body_accessory_styles"] = body_accessory_styles - var/datum/body_accessory/BA - if(owner.body_accessory) - BA = owner.body_accessory.name - data["body_accessory_style"] = BA + data["body_accessory_style"] = (owner.body_accessory ? owner.body_accessory.name : "None") data["change_alt_head"] = can_change_alt_head() if(data["change_alt_head"]) @@ -332,8 +332,10 @@ var/marking_flag = HAS_BODY_MARKINGS var/body_flags = owner.species.bodyflags if(location == "head") - var/obj/item/organ/external/head/H = owner.get_organ("head") - body_flags = H.species.bodyflags + if(!head_organ) + log_debug("Missing head!") + return 0 + body_flags = head_organ.species.bodyflags marking_flag = HAS_HEAD_MARKINGS if(location == "body") marking_flag = HAS_BODY_MARKINGS @@ -346,7 +348,10 @@ return owner && (flags & APPEARANCE_BODY_ACCESSORY) && (owner.species.bodyflags & HAS_TAIL) /datum/nano_module/appearance_changer/proc/can_change_alt_head() - return owner && (flags & APPEARANCE_ALT_HEAD) && (owner.species.bodyflags & HAS_ALT_HEADS) + if(!head_organ) + log_debug("Missing head!") + return 0 + return owner && (flags & APPEARANCE_ALT_HEAD) && (head_organ.species.bodyflags & HAS_ALT_HEADS) /datum/nano_module/appearance_changer/proc/cut_and_generate_data() // Making the assumption that the available species remain constant diff --git a/icons/mob/body_accessory.dmi b/icons/mob/body_accessory.dmi index e9273b898795e626e51fc6ef1137b19b6e415903..1327c8f0b7416d3efba486a2a8e3b41d6c039242 100644 GIT binary patch literal 57131 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 AJpcdz literal 57180 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 diff --git a/icons/mob/human_races/r_def_human.dmi b/icons/mob/human_races/r_def_human.dmi index 9d6af67be618da897a2603b51bf5b5b5c86b2ba7..92ee97b4aba2921aa00a7168d2f2f4dc1f9ef572 100644 GIT binary patch literal 8565 zcma)Cc|4SFyMHFjlrSVqc1lEuvZU;zq6OLaHDnFhm$8(sEG1NwwaAj4?1{1O*%|wi zW$cE*m~;D`-{(D__x-%*yyp)y?q`{~@B6u~?{ZxeuJ-6I6$LW|1VL2F_mGbv2*wHi zpwr~w2%T_F8F>5Yt*QGQ`NY-2<>|BMPn{eg$TKOjw~nHLlcsr7FL~x3u1{9aNJXJF zraFi?sR##sB2nt$w9zVnO0GBf59`|eP z8opZgag)8gyqG#=j(gns%W9{{BF{%XD?D@F&>!>o`9zvohu5o+LUFrGQ7$4@HX73*Acr%C;iiRb~S5ullnY(vI^mygjs2TnzCf*0J=TscxXrIdFjVELO z+J{Rb-5P=*PDmLkuj!eD#h~mBnge+^)-Nh4e^nNEWUgmFc;|Oyu}XFCs4y=+0%!V* zLXGjquTah(22SUOY>vYWtRpd}ZWIi+r%FyvFQ1kq&HH_y;wtAYq1Q%CN|CG#{H83F z;x*sVA0Iv8vl2{Ql2X3X9`6uNsT9sVNs#Z{zQ}Wv8*deoQOhA0v%}{c;J+lXT_hmv9t$}Qtrq$L^6GWkLR&BDlTpV5WNwNVjr=yJ?HR6Mcxt#! zDRP*!Gnl7cV^hAd3jSIpIa->NTc6%Ke=+}i^(hFqXX~RNxTgIk?BhuPezT1ckq%=5}C`LuOEs zgoTxuLEs|#$=3&Bvm`lBFikw|j8^M2I)g(wm8@0gh_&;IIe7!+miTdBYGP%9qBq{o zXnp5GJI68%vV4m^3^+<EzC2Yg3hWu@uYD(3Bz z>|bzbOJgXeyXz|9W98Sh{c}}YjJcR&bvvD7h0co&TED<%T90J6kp<{B`zw+nQp9}& z4pYlV=SB0-I1dA@2Ir%;gG#fe_52N6CuB|tZ%=qd6-w8=g1_rd_t(ok?5hfo^p=#c z^+J{!bUeEib6A}|>cS{O$OYjjDh;fh=D-%IR00)CSzRU0Lql=mb)~?rs`gqj(+q|r znDz zj4gV#DV6M%?H+?>d2!gQCc3Y%la$$&j2#coufHHqIdZg7ua&S=czr*;lD%sPaXvJt zg?CnED7Z`f8Xc`2=683)c1!ZiHtK@up`8uUO5GXy5FSSVX9SV{rPDY*0&z-h`wHiT zFEqu<)K2#&_i5C!O52{p*ejf=POFQSlfq`}$~XkMv6xDi*2T*9r(3f9aU@!4^onqT zMUK`LWzKcN&r5{h@>lix1mlz`U-0}|yfur;&$jWkK3c~X>S~@#t_CrEjEQT2Oi_rB z@Gtp9Z#&fH{F&#YEAlV%qd9)}9d~BU1owC`6)-Hs`_88d?QgeAinh`oQVp}O{z4d_ zC`^}XD-w~=NnrCN2h99dCEIKwPK6J_pgO&}a?1*PFQ)gZn5$0@@%;}4vBD+rs*QTO z{QC&A-eZp2o0VlaCvkc*wQ8TAErjD!3w^OX?TdY};QyeawM+?1p{E;pV>Nt95*dSB z6Vj#+>YUFRl>6L|UyOCWT5iCZel$KzQ}pf3c_hniyda1U6?a*sL&mM`md=UdItsiO z7CXtldg^-}ZwG$*Oz%be_w_^9?_LIdeXC+w*B%SzQ}4tUbVa^kI%QrKww0`jM8A zzXeykym)S?)4g%#tUapamG~Qd)ajJb@C3sQeE|_-A|)kf+T~ey-4+Ut02s1gvoX-T zJc^{XcIiDBy%?8d65O6D{t0p0it-}R*VvB@bUxeNJ}Q^=;=`d)x;*4G>akvznZ>?d z-xh;6wSm&p% zx^!<2Kc>OYuM9iwD@s@9$Rp`(BOp;aT7g(rv-Qxd`Ws3R3~d~XC~TiuFt>oq}qyHx7Kq7 zJ`wE(cI_kBY1C_;;U14m3at1>-T4E<95*b|6Qq6QkV16w(}PdA9A!0ilm0WLyAvYko%QsJ{rqJy^)APr#e8x9C)pWVwU%Kq(r#AoN ztoB8a`&+G&=4^+Nd)LPzAM_Ct&1Nwqclc$(G<|6RXx?$OzjycqZ^dnnmcp@!n(PIG z$#}{ZV*t!cH2UeN2*`amMVyewUoR&N^7ksJmNX^pZ`S3PZsmtG41PoB=P(b+=gnUa z$eK=~2+jNSWKt^u#mOv&#AlOCflG~G&%h|DT{Au!y@f!gH^nixE$Usfl{9bg;Gg8w z8YKJJ=00e~8(@8YV0u{;rYlHJBgSeC8R;E;zYZ-2W^+Ej?hCC2sgs<;_!n~J?ry;P z$u_R{W=$_R3X_B}pHsB{cE^wxY`d-8jNFek@BRpB&NTA$mDOaBHQ7Eh-gKDVEI7CC z^H003EF@veABU&3x5I@6GPHeqQ?p~9heWTP<+ejx$Z75^PwOXot0S8I$8$-1z_?Ad zGyyfba=fFXSG%_1JXjw&)Cr}9Xt3X@6j%AQXBIc4c=v;2t_L~IKq=f|s`A%e*7K;I zdQ-jn62sxJ!#>M*yat^x%gfw@f5+aasBZ?B&M7hWPb^7Ym=y1u`-ZjD*?D(6VRKX; zN@d7;BfjSr9Le3V9mg6Ui_m9cPc{s_7S~|&#k)$cc7M$`kN?!u3X5m+67YQOPS`uu zrc`e^7yVmp5*rGsrk}tA0B=;8>;iZUUbe{lO3oEjg?GCPKWmwBrKkG+imo9;Fi#ie z37};RuDkAMtlu52{8~jwkI(k1nCP}2^1o~@=)H+%%=4J^V}zc0ceAgOZbTad5@mG9 zArpW6lcQB@+1Nqxt}WtNz4X4Y#G0%-*-v2(p9i-1d5V`oZs3mU=bPNO*`xdRG7O$b zpxxwZep_EfW!)WV4EQj28pLF&D#f1+b91D6*?ZPr<$=b4w5mG7j8Yht>GN*(qgm}K zRMK1GlF7vHn>E%5h>r@k*d+XiGDUy6XT!R_1K9}BI4*wa%yZjM2?Br)=9)rcSXdN% z3hwLehZO-WR%Iw>v=8lt&OEC;B{ofR71MIEcrQfb?B=^w^K5DkiItuWScx{e3QkE& zF7=0>kuM}>7;2Lsr3ceiKmJm5wB`MW&p@)qTJ<4pcmsCHn}mPh_wBjOHQ0Rd+hxi+ z@0y7(#w$Dqc|)9Hz7R}}oqYG4%uj-m+R8KoMoT@7UAQtQ^sty&OM^6Kc~)ds6j1>% zItrajzw5q&)<-1k8>1TFJucQSEVmuT3?#TRUP-c)#rI2*J-nXnW^@Dn)Ki~@*-R&s zcKHwa#A_8hm2^tQ>;tB_@4eg@3O!svmYJkPNoh}e7BU@I{g=}7sQ=%^-#-B89}2N} z8M1vh&CC4dGqR)&vdt(o30jbU%2o1YKde*$RX>X5C}nz%EIs@M&TY_IhNy8#f3qj2 zNV6)>4t#;FZ?1x0(nhn1!c~YMg6<6Md@$#<&Y)K;vC6e&e9#fZStaTiV>ASW-o?a^ zQ-zng8GX$lvC*{z&fdbmo_%iW;2Cu>_rtq+ z4_rvWXS9VUz^Plk#aPQ~DL63!7M}#TuR(^Eo%MEQ?$inIT-#M{b00@>Q2mPuQA#61PMN6A=xH*ewJM zb#=BYsBcJs?nLNM3o-p)^ZiTSGOO{imL*MUNzL5G=QmnGv|=>0GB0;BY94fqJh{yMy(_rfaHPvXZcrNk zu!L0H!rhkjED;9_XmdIPcu?&0B31oJ|BISx>EV}va)7{myeWTW?`3$=CkX-t9#6^O za-k#-RWh@6K@REW*c_f7zj!mpGTlTOaMUlah5<|w8*h|8)Z@G}#?x-S?)%yeAzN$D zrp=;o`}9N2=0?og%Wd+l3cafx6QvyOi&ofV;A*&&6P2c`0~4)7jq)1yN6dWpM_EFO zhsYqoQ9!{{x7ZZ2YE&}t*KM;9^;L4YT#LGC)PdJr@pT?lY8`k#y5R&NfnJsa=nE?3iw9#(!VP$%fv_+DKG?b>~ukDLw$7o~J&Y5dW^`F-T={VEHb#HP_QWp&JN(;L>>Ph0!?7NU*-l zt-X?5cN((Ul%;gC1KSyDSBbkfDx}LL9S%~e@7&G7LKEN*;K<4oRCWH^%CX$5&qy0k z+JWR23;_8>+<>DSxxBx5RS$_3d4prMsXy&UvEzq`U(JmOjZ?)aNh!)*U}Pf5}lv zt@OT7RKq)y_q;x}C32GXWTBG^mv26Hk&cnDoGGs&3Vimh($VgP0#-uJA#=~=@f?UD z^P+yz=N7s@jV2rs({d$6i*tGf4s+GanIY^28^DZD{XZ-9kyD9V)3&>`t2RrZih5^FV(f3`x~Ia<)%-HR4oDlo#0j*H0pOCHGfH6*}!NvNEW{>)U%kmfY$Ow|RK+mnh{zugPXXpEM8KQXE zaEFg|&|mg3fDnc0f~{L`&~`(G)Q@hqQQFv(V6b(=IQ`|HIFH3r9acFj?imp}+V)u| zL1>Tn`;h!Q>}ELw!+MN%UpkQGb}KK33TGSD?Er?iIZ^s;V~u_Dp7oA8&t&bs2-yM% zG_m1UQpbk^=b;Fepf)$PiR0`gN7R)6e*fsP7UuOq2a(FhS9ND0_*PxyQlJI|b-Tv* ziFln|e5K@uq~>&+zvMD2vOYj$5^ND-H| z%^sY$EU)wQ2k$2sSVdqw#*#qGm-$vfRNfq`8@;)dL&2%;34}e)lo8xI|9kG;5Le>I zpMZb*n}E^APJSYJ`^q^G=B4;zg5xyda&@iv{wPNgM|-z*K}>s!10lUHl#iYzMRzfc zphXst6?|IG`mmif>!I&{*q)r%VdhNmY2eq(>zGar;*B*i#~@HG+Baxd?su={cpc_@ zCVT<*XLqUAW25c+&?=Sce9BxJby^3QkMYPZv*Qj&tT;jsJWYzlNFFDtO&;K#fy*|O z6)FJF=8&#V`o{=$^2jX?5~w=QAHel_IS1Dpes2UD?p~cNtNGE3qRii6D>JE*?bp~X zxfEKpfP{RtE&jf79~8`>0qADpCl2}-Dz%y`%ci6 zkuZ214U#hb*~HJz;)d^oW=E^nWPGty7GhXL3x=u+tVSNX)gG@icC5u#LI|BM-&h!{ zxfezJnyr9&$4aD{@U3DbUOS2}5sgase4QTi`GqS3=^~2^JqMCY`V0s^Y1aUQzTT`i zs!iC*?cWj+vbrz(CJQBXVl8E5_W1p)B_+)ZVWpeA3{bYZ3{OW5=4?wG}kqcmGtdCa!V7=Ozv*B(p zD0D4iV9VWJ3AdniMLHmEU)=GflSLsr&}Jv)6Y{V+vFp|x>sRtaDVv?^2-~ecFvpMZ zs}EY67TpoLVW3!vutkYz#bnH2KLjRA?b)_^J0aZbL49huAwL`1DkX!U-^tzJ0N9yu z1@CkGkAf4!!+0gcHCG)-r9=q$B%{plvWM9v_%ZY)`w!9nQ5|<>LnSQJ9A*=ysXpLD zKfukE@EcA=2^ZL#8_SL#svt-c+9Rn(f{WY#kcBUf1DIR7Aqj6=m}&FfarGRN7>>Tx zaIe1?%U+lPv%s> z4+YvxWFWzWaO&)k-k>^G+I@q@%NXwU z%gmP}!*Dv%0(rbWXH-*)=XM2dQaJ(9{*}sMzpwZ(=HbKPWEG%NB?ad4vKitwzs>~n zJh9fGJ2{!*QP+;}kB0|z1gCQkgUWWipW)R6`hXx;wsOBcmiz3C)<}%~tA{M3Q)iwF zjh%HFly^TItCEef3v65$ToG3hG-y#ZGH{p9s-)3OIzv)md6@r|QTr*PMWiqdaK%ZiJPez_!#s<|nc}NOA ztew9s=tWaS+dh=g=Yb#T|F2)>%imJU-KBON~-h$k>)I+e_Qd$KjtSSmzb;4O zIQ=+?rph`#`Kpk*zWgWZgJ%{OJP=RSQb7pR&K$($O9h05*`h^K!~b1p z<&F2EWG~~H(1yw!Ip)IuR74en$Bb>K=;(is+EP7{Ox}cmTDSG9CLU~Ag#+j1%x^Oc zI4OWsC^PnCyY+~*RJ^Vy)A!nj#N--!h=MWi#15(2@J&8Iu2Pwl1V(M4B4eQl*P)z`A5Yp}B5aTHu-yWwLuJ_{SwKw8 zBX);_AHTv^K5-y5caf^UDOusFX0PXZDSWH=TjIvS=<1mfh*LJXUO_0hY&TjZIbFFU zhJVltRA)xu0manZkevgHyk}H4fH~u`->u@l~)Oz}fLHqV~_7 z6!g1TzOSEKlXUJsZgfI8mNi)8x|$)#DTl*hg@cUKBkJqFQ6lN~`V7{f{4+)jX~bnN zX#Let(ULhc@(7ZLBrd6*)o}bWA{t#~*aZyYzVSpwMl}O!=~BQ*KPeDt-=yCtc=!4H zb$PWue@J;{`5Eg#ca*Z74*H}**K+CZYNSXkYrRKTO~m;CK+Ma*#0r&W_1jJA_f*X< z`}YYA;r%ZAp93X@+ueGSQ(L)Yz!W^|B791&RX?ide|JnR=K6xTKc2H+Xkm0KSlvpv z1wY;;+PbB%Wcxh_-yl6vl+ZP%aBR-H=lozh6*PFXEOW%u;u*b%AXtTNb;-BtY$~XxnLEL zpb*#U81OzppOr|%b?KHbas;p}O5%3Z^t+?Pcl~BOKm+*LnqL4kkp#F!`BTux!T4;1f~kR-{7Dtw7xuU+L6xgp)+fTHN3ne&#jU1K6vhcSaq7vibo5qn zaM3A+B){U7X&d5rmClrpSLQpHZ(gAB(iTZoU!Er^R+vxVnpZKjdu^!)U?9qRN*w11%LUJXeK)9WF{< zBF<5s@0JuCB5@I7MDf1r)%HDRAU152k@w7?et@QwhM(T}?OT)(O#=D5SlT85>CCJK zAPwIyw^teqiIs!SYf`g!Big3uOP|I@-qyP1X>xXX{6d^^)YY47Jhvd2-1w=&w;)~y zNczgH7JA}7lWLzvsV9Hqu?zcC&%Xu(Uih`9Zx1z_^?u6)fnT<4x|-Umq8W23NKn?z zVWb)Dq6g!X^l%=nJ&fdu2F$ZTDrJPBA1z6x`Yg9t#Brlb>e=2aey!bHrkO1tEg(|v zaI%(tmL{AoN;L*ewABevEC}p9wzya2OHi%oMV}Q!^T0vx=>xhM1Pkk$YzTmlIBkC* zKL7~WRZPJc@<~-yRVo;+NQjdBld{;NZewLshz<9jPxCK!yC<#X|i8t_XqCOzO9W$E#=VWfZsJ(p8OV| zV2<+l#;mNGJ}=vf|CcShZzLo(4mnTFe{~A)Og9Wos2wZ}vB?A+6zD|_PkAIs+VY6S z35Qs!6WCK0)HM)cS=y_xJO@^~kAJtj|Ec1cNJLm9SQb|WzE=g`2PrE(LVi~;4f-$A C-i7@D literal 8600 zcmaiaXH-*NyKO=Zy$UED6+x=-(xrodN^jDOfFf0jbV4T-Axcx}RVmVYReC4%-g_sM zgqGyQ_kQm<-#zCW_x{M(dpvuMl_ztpHRpWxlPE0>6*A&`!~g(*Oifiu2LJ%FVLt#6 z0X9M-P+W_>wEF73@=&sMf9+=P>S6EV3;=kieH@b_?_eV(Sh=ea{JCY%;ZWyck+qK-#R~M|Mb1t67l3(a@_4$6HDAPUjAmFk9^k3+ZB}C_~Xo3piAn@#`i6c#P)gE zRki37`AS_Qk1(r=QfNC~^w|?`rr(y^*C+cCC1-S`uNT@+$9>5T*(_?F*2dk^oab+m@#RHEDu>P~^=g+|poiM>YE?A2 z8f!DLhcm)n$L@B+m)=jw5#GZM!Wr9-l)YrqB(^hZ$t>P_}6$tfPf_Bw8L#uf|HIfj9=?W@9XsDup&T^i947+x`y$oFC_=~;sD@gsy zaxwWcI0l;`5h*rA!_#Pnh#7zS|-y~tv z)GqeS;%slT$XO|!Mm)1Qk2FUjh+av-fQg@qh z3ooiM3iND{!R==S(NG>Za5wn%XLH}l^O2F3M`LcGajcd5i=@Hd^f+Z$=#Ot;gLT8GZCUbhrS5Uv*R*pOQ5Zn&o~ zYqmWjlv82waui>@8oaLGgHSTgus*SjAeY@=K+m1!ph7FaD>xg*9xq|NW~<<{ZcU`R z%-5!(4*PXY9-d8%39`OQRLdz|=>9(LzIf5$HdS;L6Ji>M7WoUm7|+}Z?WQ^vAfd(n z0B9aYdPDOED=qB0VzK&ry|D}SH;8{?{{Z_Zrt=Ud>`l2V={u=bev9=+7Wov`YO=SO zl|zdvoUrbm1lXP@fZ{>Ut!hrd^H&5Z7lI?KE4z;VTb0Zq)xdt|+w-5)tp@^msJdz} zC8Ep-sGun3H1i2ep|}HM;wR0L$|RBmtmW44;9WJ(5IpA8IFh2@-2Wg@9bAlvL@AE? zeu|d?O`z>wksCTuR-+t@gJ8eNrWZaR`V$DEFRv0b$g*&)fSn;%b5X~=CEc`PAm7tWX}7Xlt98vY6?)wAv4b*sQ>N+;uv#RI)PnyS)z#v67B^?GubhlM zk(!5f$LZF`p14^e)}J@wy#ni@o4Mk+o6;>8vHO|xgg*dE1lB-_$co% zK*~=MMeShv8RO``(QJcL-R4Ze9SA`=0P5hv;_FAm98;Ui)+nmTX$f#TCU?Hqv^1VB$qj#(s^pvt2(^7sL)#3 z_q=lQ3CC}_1Bi@|Jt#GJmaU#z>I5THMB|c~?~IDpPRTi;_`MWpDuc@3i~R*giYQY+ zDBHOi*z>66Giu%ZcqB2YAM**Y`;kN|te=~154i)RQjj4JNGUaq>8@p!EC5hd0=Rpu ztIhoj2$euzMMe(y5}e@E`4^GXBR6##9+;K`O|!&WbL06zNUQr~v^xW38zscHjfSKb!l{A;7Z9--qB2iTo4${~e5f80X&)%Rezn zVl8b+0%Xzc zLLQe!#dR;W4cu=GZ9R5kV_BD3cMgrtnnS%`{_@|*rk)Gc3c>-VvuLh;k65OMbl6Gk zC7D2~PaqhIQ0WB^<(1H(r!J77ON?kM(&@POj%>MknZMtq-g7@Jl9m~Al45KRMeefH zE`+wAPEh7(&#zu{$-YZhZxVRZk@>wb{sY(k0bB~SS>Mis29b|BwFk(HH}%@(czl;C z??Wqj^40%)A^+YTsy;rgP4n}!^NeFX#ylAHwuSo*(~J)p69pimUtF$e*>sZDsw!4? zbnsrnXTQ*diuP=-|JY}Xo0m(;ALzKb|1en-$e};*Y<gJ!vefg1n{P5x$8nEuVG>+f=xF_bqE5>Cy;{~ zV%S9G4ML>*-!EZ*L&9Pti%$$K-w2Jg0dX8kJ6NNj?_@LcaI!uo`N0USo`n&~}++r5s{XA~2ZzmIx ztFANG%-OSvE=}a&)n<_pAU21%t!$U9Xx+p4G3e7isv72iS!}6eO`#` z(qYK$`zzIYg&Jf|x%q9Jj1+LT<94F2!1^Q1_ZLm^E(9{i_|{dN;W0Nw!}CvR9;rza zv~6ErA6Mxhn|Q+>jc>1iIx5-BI%lBl?K|=X7>v<+SQ{lWXRPUZ@18wd=J%!U~6bk}P<}E7}(Fi5t}VHJbA zeBSkeK4zZqg3-sIn)-RDFBkK`oo%&?2Wd8|?rb$O6O$g@`&ED8Mh7kgF_w-+Fe3Js zy3vZg%{y45I^)a12YmS(#9lL0zbWm4wST>_Gp$!jSXA){{$-^9hpgen$B~IhdURi- zp*nlEXP<)GPputl3x9cV(NIyFW(u%G#61$#OXK5`>)c}_OyZQG#C^&XD{n8%kp2ww zLB*|%kZOikMfz#w%3j)#D(OtV>5!Ebmz<43D3gltjLAb~RY82Jwe@~n;N1S{vV?v7 z$7AsPi_G-i443}07pF#L(mpe}gi3V0Nec}m`&&7swGgLdO`Z?VEE(J2pgc5HGZ_MY{1xKg#O{&#N+$8 zk51$F2W$MXx#&NTxei{@UO)3b0-B~$tnF1^RDBqFwzb;0l|wI+yq!og{d|6&SwwP~uq&IvjyoNEonQ(hH+{*KDpfp+4%oH_#@g)X?EyN04 z%Lqed&r+dz^Upd{8Iss*-m`YUl%JiG9<-bf3}A=^8~S_E3|*IP?8=wqww2JAi+ z4i~uB=Gec?E=twV+@kb^$LO)rAQDnc}v%x zA7D328mO`22N$dF?@+3fC{q81IS`^7FJ z7X=L!pRv12U00c;6>xv@P^XToiLKSnL`_@hCkT4?ucn0xx3Z_+nRRP(sS_^um3|CB zT)A%aw&N9<2p(_^n!xX!A?jm-Zr4)8K1uR?YJBDy+ntic^k^X(P}pGI*z-Kg8T2dq zcMFR(ypdc*4bGl~*A3wB%z`%_zGI)Oy_^WxLX@~(=H&iJ@R7ioDzKa>oSmFlZ@D*X zZ3}DE2v?wh=nc~H*6nJ=Xu@#BGs&P+cp#kYg&I$je)Rks^rfG@#eocs9BeIj(Iti3 z(vD;b-&8Zo!IPN4r3cS1=zNK7K94Z2@9nsaoFJwW@z;6%g_!`(-(3Pv>?J?;~gJS^jF@*;c5menzCkV*3g>;LOYRP?yNA?gBo5Uh6h2UEf1de4TSrKk>LHlrtR!~No?w8?t3q6 zx>UG}Wv|)LiIjH`f9ipz$uR|&Vfb3_knxa&Mbt06ZuM&z9Jq0IlNnn4H(hf;DwNRRh`H0egI8Bsg?hfkEa&orF;o9wi(od&1*A^~DZD${I>6O0hj3j!j zq)54K-ie@AVt$J`odFNyOkf?p6$W|~Kdr{;sr|52MRJDi9>5l<7_jDfx6S;L%guXn z{qFo`5uuRVYKDSjSS=c^$lwOy_G#VU1X6#|Xk zk8d(g_%mb=2MIF0cb$`{tXxOjhYu;(Wctw!41JPPKWO0GtS)6F`Z_mWl5L^A7GXa{3^9Ossk0B;2^YfzJ; zZfOVHPawnxtRwiZtL`QakzU(PDbCCKAEx95j&5ok#4oGZeM<^Vb-0l_3xWbyN9Hq= zdlcAxx{)%~ge%k&@+nclCl{rQr+gy`r7RVnBT0|!y4%*`N+l8~!b;;g8AwkCshj$n z_=9*}63orTxtW}0#-{}s-b*p#`_x!}{avcyrv{|?ZH4;$=0>v0#uE%mxD}aAkR<@% z&UK$d$azdHHlw7DlU%OK3~$Cc7#rqc=t|GMEP-m-)^Xg5g>jv6v>kIurR-FCYuN$V zYYENV*J9onMmsv%U?5l8qUI?BZ|3fn!#DMj7ay&^OEFVMvUi@YC=lh*7&CXq6ud?KW_@k^ zfK`mHLX8_CU{4&u!>XXosd+0;oq1h?N3<8DEWw4z^v$f*A&^AUm`ICUM#LSDScIRL z$4&^=3%%yE**-d5N|M`t!MN)(7W(MnSmhl3(%=MA;(c;5v%&mrpQ-r|YlQ>rdp5~Y zHIPS6h%&Q)S(0d%&^U@J!>cWh-zT0;9cO9>`-pxgFcXyzl`iV*LHuzKJh+R^>Fx1r zH0h25TKmnjN%~e*ew8ntz%im(W4g)0=a!NiZucTYKmlVv6t6>GzMwYLnBW^R-TtFe zYVqdK36nMhGV;~mZ!X0?97z{%e>`JW4`3tv=`>5BF#A4kSZoecU?X(&0c+k$huaL; z)dEu4#HH5m&*Ry4y7|-#GI&aNkEBng=cp-fu!MNXI&{T z=Cs|Kt+UST;T5a+_Q!;_^|8O3$6pQTih4Wj4S^u>Mk=>M8ZkF+SaH>`fXW1&vPE79f5TzoLrKqC>^DphZHO@5BfZ+ zeQHsK>QNclZeg8JTc)dvLU<&eC|M7Ov(zp!$?knc7&@)>B7B({oXBrF2r42T&K9n% zU3|cQdyWwrZ5=Ml6H7;Bd@u8r6yXc|HE9N|9=-bnKZGGf*aZ_G%PDNYD)7~Qb#{xk zoPnmWin`E2ujj4**94&?BoGe&ov!7Gj=573xx+`a*-WEbkIx~X8rWm#@ToyP>c{-) z&kwpAHfPx`TDpQYppUr%&-jt-QOk7U2(P4j#zR8q_`m40>)*qj8eR2l@|A(tD`nu% zt*4VW%}Dp}KI+KDD-E&C7C^pfcr}QYUnVzBwBOOW@#TA)yJ`>ox2VUSEGu-+*6I_0MN_N+IRx&ZZa zGe~<|)yJjqr!+gUn}e^SmyN9!-lrAH;Eo&jn#npgJ2zFcy5FdV)wb=IRBy2~U&Uc0 zh@fs5e=*bLaG|o>1|M)|IPL~d;M~GT5(DSC(ml&@)RdRG9W@{|Cf67+j@xtUprKnp zfZpC=sKtY&MeK&RUc2~b|M(u_n<#9;6-d%%G)SVr+#QH^Lm!uDf(22`5-H0hdIv4) zmTwNO`5g%diA{NfR|rP>J>uW^=KJ2J=pam`*0$hRt+A@E*Y@8xc5GpNhJlk0tB&u_^vG^+G`qttXpR$K70 z--v?GUwqo*h!_(7riFwNVHm$6-mB%?D{E-_b}k|E`_tQ5tkpuwXq6IojaJ^*y9Ds^ z$CYEsLt7!W{MF#X^|rk4tEl$LWXBe&$6QMd@YGrQR#54YPjBO87Va+?p$vTGoaQ(H z)+g~gJ_>o%VO|}0ifBTvnyg834)&#q5x}k-BlEbJ7KnBc=dT%N5p@DGbLg(U^&->- z%YCy}83HGa4)}YX$y6(johXXSC=-3i_%6Q!y!_i0a82WkN+o|N{;6$2D_*jJ%R_tx z;JC6fNkM2%xVU?gWh0bzI;of=!@o|YAA;fucAIV6kQR!vO4bs$c-F{ATYSw%((n*s9e~Yd#cZ5O2>AwKIpy zT+ar|Us++_-rXiNU7w1&GAApf#9N;9J_Fv|=djjNqf#RyhLRK1h|=E|TjhGh5C>9? zpXrdKVqRO_J9eCs&sR38d@hvPY?Pz^vvMcHX-{0pRl)h`S(q36*8WW>r9>lDf-lxO z_0#pL9qRx*IEkIWhCUS_eAVFJWi;c(uQl)-$wJyUJnV4j(n&Q@i&lPL)vDAOZXVtn zu(Jrd48qorLZjtM-^#9vNnG>zGZ;I}@`GP@zHP!ks!|`y9SD3F-j&=@Xg5IA@KEQsNuB2r%n>s(If@)lB zaPUE5=@)JjPJ-?K#1DmV_THm@VPIU)X$p)6R(a zF2g46t;4}rtlW&X6Q2i|mnu7oMl<|(kM4%gApWW^e_5g|-S=L}ln6@4vXR@}_`=ct z!-|=qAXk4><0cvKWFVsV3l5})t=VvG9h_V{^NRA<=mg;yY%UqamXZwmQ?X(VKt_|u z7tCCiP`Tr`YeiNT5)iI-=!9N4is`R@9DgFR(= z0HIAm_?zi9;r}jYCAf8cSSeXEWnI9=`HFFO7ARpR)crn>N?l2m%%T1_>(+T<4|ALc z>ZS&`<9Mvcaodd{v{b+vz@q&dU~R*$kjUg?PMNF1F9HgeQmJ8kRc)E{>5Y9OEfv6h z0>&Mtq$t8l>v%rGnR_b=v2UmY^$E3S-%m2bHg!g{l@ExaK8yw~&#H!CCqbQdS6-s{ zFs0>So?EH;9kbq)MmfuhdefCUgF)BPC;P%Hjv{drC4k>QBmG>Cx+iBc0(YeZgo%QN zy0rO%uq{`Ps9nGG6A8LPC!#C~vVjfrY4AFUvhdCqav14+FrV}GsqToV?mdCmM>(yTfr%Ms1TNM?c^tYmm=P1-S9 zN*8=N+4&HJe7#;l3XwtteI2)S0-LeklCgHNP2q#mc}Hgtcg^Z|AZ5>L#dp0Uk7fi? z&Ce|!kUjBu5Hyxb)&(DTRl;^@Fc&UbyxF!=Es|1V_(b&B<)B-5#hfje&z4M9Aj6H6Jo*Ke7*W> zKZ~`tE3~pNsDGN>$P@`w08)Qw?q^eFgrOg3{f}<>--R!K7Y5f~?g|}lF7_7tR||le MvW8Nrf@R2m0f_~XiU0rr diff --git a/icons/mob/human_races/r_grey.dmi b/icons/mob/human_races/r_grey.dmi index d270ab839343b09f70d303878963aa5a59790a94..4f603380545c04819be65507297d1647045d9121 100644 GIT binary patch literal 7669 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

3ad~B60 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 diff --git a/icons/mob/human_races/r_human.dmi b/icons/mob/human_races/r_human.dmi index 1b2ae2ccc2ca3e846b69eb650ee7afd1fc0e113f..0cbbde7fb3a29f9dd783c84d8cdf004affe6d394 100644 GIT binary patch delta 7616 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%0D(v0Q*J!|r=Tf|wb zxu&C|)<%09>XP}3gx{fMJ*M0F7Ej9G#TL()OBw&D5}DZRH9dRxSR!

EH^;o)1Ki z`y1Gfg#&hvObChzDRi0NuI!M5uV*FUQ%`ev14WS;dq8Ni1kjU!zHe}?_loc7_@24r zin<}XGS6-3wU6aXS50Rs$k_9I9%O|V+#J0EyYXT1|AX|H#O9Mz%}K~Vk>sUSmBd`X z>J&j8gxkSK2r@Q>;ORS$KJ7yckf6@mimi(_gb|j#oM^;{IP8H_<;F~%m9j)hLzj&u YFUS>?8)0SK2cVa_inemKlFjS?1B#3-KL7v# delta 7628 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 Date: Tue, 23 Aug 2016 05:46:53 -0400 Subject: [PATCH 08/48] Adds Some Markings and a Vulp F.Hair Style, Fixes Preferences Marking Randomization, Fixes Species-change thru CMA Bug, Fixes Vulp Kita F.Hair Style Colouring, Fixes Fatness and Deformation. Previously, your markings would only randomize if you clicked the randomize button and were of a species that had body markings. Fixes that and tidies up the proc calls for marking randomization a bit. Furthermore, a bug existed where if you changed a mob's species via CMA, the mob's cosmetic attributes (hair, hair colour, skin colour, skin tone, marking styles and colours, head accessory style and colour) will not have changed correctly. Delaying appearance update fixed that. Finally, a mob's body will now correctly render as fat if they become fat and skinny if they become skinny and show deformities immediately. Further explaining this fix: It required an override to be implemented in update_body that re-cached the mob's bodyparts in order to reflect changes to the limbs (i.e. fatness/slimness). As for deformation, I just needed to modify the existing update_body() proc call. --- code/modules/client/preference/preferences.dm | 14 ++--- .../mob/living/carbon/human/appearance.dm | 7 ++- .../mob/living/carbon/human/human_organs.dm | 4 +- .../mob/living/carbon/human/species/drask.dm | 2 +- .../mob/new_player/preferences_setup.dm | 18 +++--- .../mob/new_player/sprite_accessories.dm | 55 +++++++++++++----- code/modules/surgery/organs/organ_external.dm | 6 +- icons/mob/body_accessory.dmi | Bin 57131 -> 58536 bytes icons/mob/human_face.dmi | Bin 71677 -> 71795 bytes 9 files changed, 69 insertions(+), 37 deletions(-) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 5e179b84b6c..6fdf99bd37d 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -301,7 +301,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "Head Markings: " dat += "[m_styles["head"]]" dat += "Color [color_square(color2R(m_colours["head"]), color2G(m_colours["head"]), color2B(m_colours["head"]))]
" - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos. dat += "Body Markings: " dat += "[m_styles["body"]]" dat += "Color [color_square(color2R(m_colours["body"]), color2G(m_colours["body"]), color2B(m_colours["body"]))]
" @@ -1228,19 +1228,19 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts b_headacc = 0 if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. - m_styles["head"] = random_marking_style("head", species, robohead, body_accessory, alt_head) + m_styles["head"] = random_marking_style("head", species, robohead, null, alt_head) else m_styles["head"] = "None" m_colours["head"] = "#000000" - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. - m_styles["body"] = random_marking_style("body", species, robohead, body_accessory, alt_head) + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos. + m_styles["body"] = random_marking_style("body", species) else m_styles["body"] = "None" m_colours["body"] = "#000000" if(species in list("Vox", "Vulpkanin")) //Species with tail markings. - m_styles["tail"] = random_marking_style("tail", species, robohead, body_accessory, alt_head) + m_styles["tail"] = random_marking_style("tail", species, null, body_accessory) else m_styles["tail"] = "None" m_colours["tail"] = "#000000" @@ -1453,7 +1453,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts m_colours["head"] = new_markings if("m_style_body") - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos. var/list/valid_markings = list() valid_markings["None"] = marking_styles_list["None"] for(var/markingstyle in marking_styles_list) @@ -1470,7 +1470,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts m_styles["body"] = new_marking_style if("m_body_colour") - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings/tattoos. var/input = "Choose the colour of your your character's body markings:" var/new_markings = input(user, input, "Character Preference", m_colours["body"]) as color|null if(new_markings) diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 9757a7bfc0c..a5768a647da 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -7,8 +7,11 @@ if(!new_species || species == new_species || !(new_species in all_species)) return - set_species(new_species) + set_species(new_species, null, 1) reset_hair() + if(species.bodyflags & HAS_MARKINGS) + reset_markings() + return 1 /mob/living/carbon/human/proc/change_gender(var/new_gender, var/update_dna = 1) @@ -142,7 +145,7 @@ reset_facial_hair() reset_head_accessory() if(m_styles["head"] && m_styles["head"] != "None") //Resets head markings. - reset_markings() + reset_markings("head") /mob/living/carbon/human/proc/reset_head_hair() var/obj/item/organ/external/head/H = get_organ("head") diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 96a23acf5c7..ee22a60d871 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -148,7 +148,7 @@ mutations.Remove(FAT) update_mutantrace(0) update_mutations(0) - update_body(0) + update_body(0, 1) update_inv_w_uniform(0) update_inv_wear_suit() @@ -163,7 +163,7 @@ mutations.Add(FAT) update_mutantrace(0) update_mutations(0) - update_body(0) + update_body(0, 1) update_inv_w_uniform(0) update_inv_wear_suit() diff --git a/code/modules/mob/living/carbon/human/species/drask.dm b/code/modules/mob/living/carbon/human/species/drask.dm index 59789f533f6..6b3d2ec150e 100644 --- a/code/modules/mob/living/carbon/human/species/drask.dm +++ b/code/modules/mob/living/carbon/human/species/drask.dm @@ -34,7 +34,7 @@ flags = IS_WHITELISTED | HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT - bodyflags = FEET_CLAWS | HAS_SKIN_TONE + bodyflags = FEET_CLAWS | HAS_SKIN_TONE | HAS_BODY_MARKINGS dietflags = DIET_OMNI cold_level_1 = -1 //Default 260 - Lower is better diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index d91d7eb097c..f0bcbfe0312 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -30,15 +30,17 @@ g_headacc = colours["green"] b_headacc = colours["blue"] if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) - m_styles["head"] = random_marking_style("head", species, robohead, body_accessory, alt_head) - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) - m_styles["body"] = random_marking_style("body", species, robohead, body_accessory, alt_head) - var/list/colours - for(var/location in list("head", "body", "tail")) - colours = randomize_skin_color(1) - m_colours[location] = rgb(colours["red"], colours["green"], colours["blue"]) + m_styles["head"] = random_marking_style("head", species, robohead, null, alt_head) + var/list/colours = randomize_skin_color(1) + m_colours["head"] = rgb(colours["red"], colours["green"], colours["blue"]) + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) + m_styles["body"] = random_marking_style("body", species) + var/list/colours = randomize_skin_color(1) + m_colours["body"] = rgb(colours["red"], colours["green"], colours["blue"]) if(species in list("Vox", "Vulpkanin")) //Species with tail markings. - m_styles["tail"] = random_marking_style("tail", species, robohead, body_accessory, alt_head) + m_styles["tail"] = random_marking_style("tail", species, null, body_accessory) + var/list/colours = randomize_skin_color(1) + m_colours["tail"] = rgb(colours["red"], colours["green"], colours["blue"]) if(species != "Machine") randomize_eyes_color() if(species in list("Unathi", "Tajaran", "Skrell", "Vulpkanin")) diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 0bb6e7e66f0..9651c0cf894 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -1080,6 +1080,12 @@ species_allowed = list("Vulpkanin") gender = NEUTER + vulp_vulpine + name = "Vulpine and Brows" + icon_state = "vulp_facial_vulpine_brows" + species_allowed = list("Vulpkanin") + gender = NEUTER + vulp_vulpine_fluff name = "Vulpine and Earfluff" icon_state = "vulp_facial_vulpine_fluff" @@ -1874,59 +1880,58 @@ /datum/sprite_accessory/head_accessory/vulp_earfluff icon = 'icons/mob/human_face.dmi' name = "Vulpkanin Earfluff" - icon_state = "vulp_facial_earfluff" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_earfluff" /datum/sprite_accessory/head_accessory/vulp_blaze icon = 'icons/mob/human_face.dmi' name = "Blaze" - icon_state = "vulp_facial_blaze" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_blaze" /datum/sprite_accessory/head_accessory/vulp_vulpine icon = 'icons/mob/human_face.dmi' name = "Vulpine" - icon_state = "vulp_facial_vulpine" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_vulpine" /datum/sprite_accessory/head_accessory/vulp_vulpine_fluff icon = 'icons/mob/human_face.dmi' name = "Vulpine and Earfluff" - icon_state = "vulp_facial_vulpine_fluff" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_vulpine_fluff" /datum/sprite_accessory/head_accessory/vulp_mask icon = 'icons/mob/human_face.dmi' name = "Mask" - icon_state = "vulp_facial_mask" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_mask" /datum/sprite_accessory/head_accessory/vulp_patch icon = 'icons/mob/human_face.dmi' name = "Patch" - icon_state = "vulp_facial_patch" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_patch" /datum/sprite_accessory/head_accessory/vulp_ruff icon = 'icons/mob/human_face.dmi' name = "Ruff" - icon_state = "vulp_facial_ruff" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_ruff" /datum/sprite_accessory/head_accessory/vulp_kita icon = 'icons/mob/human_face.dmi' name = "Kita" - icon_state = "vulp_facial_kita" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_kita" /datum/sprite_accessory/head_accessory/vulp_swift icon = 'icons/mob/human_face.dmi' name = "Swift" - icon_state = "vulp_facial_swift" species_allowed = list("Vulpkanin") + icon_state = "vulp_facial_swift" /datum/sprite_accessory/head_accessory/vulp_nose - icon = 'icons/mob/body_accessory.dmi' name = "Vulpkanin Nose" species_allowed = list("Vulpkanin") icon_state = "markings_face_nose_vulp" @@ -1934,28 +1939,33 @@ /datum/sprite_accessory/head_accessory/taj_ears icon = 'icons/mob/human_face.dmi' name = "Tajaran Ears" - icon_state = "ears_plain" species_allowed = list("Tajaran") + icon_state = "ears_plain" + +/datum/sprite_accessory/head_accessory/taj_nose + name = "Tajaran Nose" + species_allowed = list("Tajaran") + icon_state = "markings_face_nose_taj" /datum/sprite_accessory/head_accessory/ipc_antennae name = "Antennae" - icon_state = "antennae" species_allowed = list("Machine") + icon_state = "antennae" /datum/sprite_accessory/head_accessory/ipc_tv_antennae name = "T.V. Antennae" - icon_state = "tvantennae" species_allowed = list("Machine") + icon_state = "tvantennae" /datum/sprite_accessory/head_accessory/ipc_tesla_antennae name = "Tesla Antennae" - icon_state = "tesla" species_allowed = list("Machine") + icon_state = "tesla" /datum/sprite_accessory/head_accessory/ipc_light name = "Head Light" - icon_state = "light" species_allowed = list("Machine") + icon_state = "light" /* BODY MARKINGS */ @@ -2046,11 +2056,26 @@ species_allowed = list("Vulpkanin") icon_state = "markings_points_fade_belly_vulp" +/datum/sprite_accessory/body_markings/points_fade_belly_alt_vulp + name = "Vulpkanin Points and Belly Alt." + species_allowed = list("Vulpkanin") + icon_state = "markings_points_fade_belly_alt_vulp" + /datum/sprite_accessory/body_markings/points_sharp_vulp name = "Vulpkanin Points 2" species_allowed = list("Vulpkanin") icon_state = "markings_points_sharp_vulp" +/datum/sprite_accessory/body_markings/points_crest_vulp + name = "Vulpkanin Points and Crest" + species_allowed = list("Vulpkanin") + icon_state = "markings_points_crest_vulp" + +/datum/sprite_accessory/body_markings/arm_spines_drask + name = "Drask Arm Spines" + species_allowed = list("Drask") + icon_state = "markings_armspines_drask" + /datum/sprite_accessory/body_markings/head marking_location = "head" species_allowed = list() diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index af6c3ea57ba..2997b330bfa 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -859,11 +859,13 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/mutate() src.status |= ORGAN_MUTATED - if(owner) owner.update_body(0, 1) //Forces all bodyparts to update in order to correctly render the deformed sprite. + if(owner) + owner.update_body(1, 1) //Forces all bodyparts to update in order to correctly render the deformed sprite. /obj/item/organ/external/proc/unmutate() src.status &= ~ORGAN_MUTATED - if(owner) owner.update_body(0, 1) //Forces all bodyparts to update in order to correctly return them to normal. + if(owner) + owner.update_body(1, 1) //Forces all bodyparts to update in order to correctly return them to normal. /obj/item/organ/external/proc/get_damage() //returns total damage return max(brute_dam + burn_dam - perma_injury, perma_injury) //could use health? diff --git a/icons/mob/body_accessory.dmi b/icons/mob/body_accessory.dmi index 1327c8f0b7416d3efba486a2a8e3b41d6c039242..6e94d89854d2346c39ccade2d21fd615bfccca59 100644 GIT binary patch literal 58536 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

G^e~7d7sqN%8n#+w z_A37FN>Sy17E17(?b=f+c7UB%i+<>fX8HNjV_teGD!hq_iDsNl!NI{@KYqMrG0h;t z;ytb})PSw7uVQ~Aq`cglIFwckY379;T4CoG{o4GEx(tZBjaHpZkb%VuDY>01jgBH$fN3t_rkzh z0TGNE7WU)EkFZaX#u{S6!Ue-t_eq;HDmA{jg63m%Zkb55;GA)GWx35#)cueKP_Ivh2;e%qx~K3~Pm@{Imc78ez2Mxbp5pvXG_nii$gmNpV9%fL9Ms^CH{` z4I*A9yZE(^>{szJU{VqvFu^#rkAntX-sS2hvGH*~>xLvr=Lp(p;LBW9ADYEy>~bh+ zXi#s>U$GcP=;%aLq1fCU9doPTkAv8rgbGgBRJ&sjsk{woV$f+K8V-==;;!aCuC4rm zP+6<0r%gYX(y&+pH+Qu^IZsBuvG)1WQSOT#-_;6sl4A}({BAZ+Bzk^IO3KX5b=V9rXMo+uoNqwiKcd1VEu64Ri*k)Xt-K{+yJ7TtgrDg|fD>?xmp`I_q`l=_U)y zq{Ml0xme*1akfUiYRh{-TcnT_A0)q*2?XZ8=XZtO?wKEn@-gfjoR=@`RA4Z-&&FPS zuDI614|}_tml5pGFqx*W5NBM`Dyso|e?~ulUtByyb`=BQ0@6Eu z{rx-(h@o9%Y{G4F_l!rWH}OIHjEAOAi>W4p-|^?}RfWq}k8lcKo^Tl{zpcJm65XD4 zH|dT#kIQ=o1L1%xvT6tv_zBc!aReiAtTGu#Q~vJ11wU90bB+7#7Qkm#vt_u0(Xu82 z1!|ZXrc>@b5elMz{@M-PoUm84yo3cjIO9Iq#xb^5J#%gL-cQ2o`20qU!z@Z~{ggsxWM z=J_5XTrZW)`UTLHreKa4VA-HhP~;JO8vOv|ug`02$7-AhH8hWviKd#so7X$NsJ)zI zu58xz+*IB7Bw0bNV$+O>u zShs+Z+!<6i2=2V^)9d}#vzA@+gVRZ>jy_w17=}raWiIi^A;?OCN<1JaZ1F>DtTW@W z&DdTJj+DeiL0H4y+n8m}`oVJ8pi~d21iY}^UU%NBuNChOAGF=nyAL;pQ~qK(XyoPj z`PGe03u79I9%SMhQGIr@naW=$I}cXQZ%R+ zX~Y{e<4#Dz0To2&5C7Y&d@UKLLkU+CIZjK+pt6I<_sq`FU5Rs?c_>Q z_pCiA=SQsM|DAD_^po&vv;s7PZaz>&ZV;~*-=Rys<7&FV8&p$U%gP!K)-Ammt<(tc zqvg|vVIu7B%=NYd$IBdE=oH4XLLM}F(qi0ri<~D7_!tuv#hLi=V^7iMn*gCX5~;yK zQ3$-dX{Xa{lQl{_;3B)FF+>`d9xJX#={uQlL5s>`6fUi2b2uEqC`}`R99~o>8UR-FZ=wSot>eQiK(eF`Jjhm44_E% z`^{4ouDF6=#QD^PBJv#{EVhg7))z$l4JmElq*w5t0hAzCdsY>0-2wJLqrnGXD#=n2 zUL|DM(TPi!3tM7>GQ09qbb)({MX zW{5tb2Me=nqM2zLhph%r=1`OB7|lHmRMja$-KMdamH;ygBet<^(zBGWuFpJEGXyZ_ z!s2*6zHL*g!vo;SH;_dFVfa|B51~xce~bYfkp#TEqvI+D-ZDUq2ot{iv~j-bPES~}(ouIJrp+|Tg+Z_&N#$EKkzWmrup52M2;&kZS$G>kpP9+C0Rxw02yu0L(y7Psu0;rMr%F{h5%{HX4SNmY0`LMYH!4 zWlFu)guYW@z>-vw-912S%?_zy&wZqiSl#a;B;cv%?;nCw3*B2vwTuJcm8qT#Z8|ZR zv3tV%srycg#=6~+W0lL}+cbrJgOHzfer3sO0g63%^arqd;;8O`2KFzE0Rr$zCHJJs z4iShDE&8$u6TxvrX;5)WqiPja#K4S7KX49S?cQ?O3C(6$yYNV04DZtSHy$@IQ5!W0 zdO5Pc2?;_l%^^Z`eqG#Jt-EH*P6&L5=Dq9KB_3k;77`Ush8_Hlr7XR9Rmo5}2|*iH zrxd_cVE}xsYM-+#e>{Ex$XAhd{qZfSBbxgr`2-dSEQ1Gy`jAiUqtoe8tmrG9F@U1d zdKzjOckkZq&{!v$P9R8bwzisDIU3|_2AII|`c=$fedL0SfghM41X2)8+g?tS+4VYd zzx-7&M-Zx7ci(*NSP@Gl=(JKzjs=aC1!?jlpFZtbb>0M^F{;zba{>~Sn3u}-fNdaJ z&&JCTrPbbage9HDe8zCD;!g}hiCyT{wpAc$MQEDx^iO-+MoE$2M4TI(1dRC()%>l2 z>obWziEf)Syo6naUyBKq>inutCxWie?O~BB$eOfBGoDx^5)Ur&JsMQ}#s6o3PoDx0 z8?gN3fq`ivrBO;!ayLWd1M4dY+~`;k2SCS40>a{}*TD@SrQ2FhSl?VV>m@U|fbAk# zL;?3K`S~6UAxQo8G&^dMBmBdU^$`kG!5RN!1{a@sleh8_<3d3g4%VM zbry8*pRT(C+V$d5fX1LD0*r{KEKg!2JBI56D#P}5vj7nSd0^Zt-v~yPl9DR5YmI7b zo&^fw2`oL!ZBu*o=bnwGP@6yedD|%8$a?6%rXX|XzyRG4j#V~O5(22B#lP|`#h*T1 zVRtc$=lPa>mB;tb!_F=LDHT&62x)1_duZLiaL-r+!L`s>fVP`8j%{fXWE77lTGn`- zHxRD)tKQmqfv$srEqJ4;6Ro91p(uE%Wd0+e8Edq*t>uvH=6-VMs#ur(VLKEAvM>LQ z+lvOTd4orp$N+p^&xQMYp zg3?>~HTc7wP z>#g(=)Sjde$? zC#9Rt4lvzVQ3&v9rJxw>i5yY+;i_jDb(_Y4?PxtUYspy74-ze3i}dXdTp)P zvYI4IUGa)~-@k!}Q(W;C?Vt>Qy3PA8T}L%=tGIu7_&jS~AU+z}p)0wKo@0IL>gsAF zVpDNL6YK26~Qb9MXrzmdKPQ*mw>P;pT)r*&AWxQiU#~xtzqPe zbRRbh_4i#2w@70vh&W)QvDL&i-9RJpaK~s+Gc@`T4yOBgb>l25-P*YjE9`o1FKU+? zXkV%dPYl%_u&Hp>9z{}W#cb1F=6cXJUG>~wkn;=UKGaOuuDK>gt8IRi2YoBTyXwvP zo$4#g%UK-^r*rVpxy&(uTS~bM@+;5`%ggF$a2u=f#yMMu^i3ub?j|X=x5tVr@7vo( zA4N^tL!L8}X4!&g)wjv{e5_@^yq}YUl}1A={bMb!{GH_dA7>8#@8>T6n;8&S+D=7Z zCi>N5r&aa z=76kYL~<(tqZH1h=BC;H-`bq}~|E>42S^1GVF&y-hI z>ZqhNsDrDihKN>Qi!O4g+yIo2U262I96+aOr4E+QJvvTZp0n?uBKySSpPWdV;v@rd=2+J4om_o|Bdtj~A&i z!dn+{`OsQ44AI-hTv)tCctFZ4+ndLO)c?-31Gv`r2mDILSUxc&E*B=SqTpQ&b0pfp zS_&q02vm?kne31~0rHBg@@g}Wo(A2kv*`QKT0L+NqcN}5(O-X=UoXV@Kwl~Bya_vk z_{HyC$>t*>x$3DlP%5SOI0%KHI?nolfY7-{er;0i4;cTR;G4VP3$Nv7p={dof9%By zh_!)@`3^#h>-0K@pEQnFhyVC;=j0Kb7`*}QvJUBF}7!~)BR++ zHJE|Zi4Li&UVK}ioh}OJ3PJq(lge+LnP>`T<%P~H{=zMRTb_+0Xs&+bK@;Z@2TEvz z=oR0dTr!Ov0TMT0@H2Bqx9Ui09Xew|lL|^n!u$XJX^k}tb7mP6ji>GgkYi!?MT|2!s?11tH zczFhtZ74e~z)F__)3Lo^f?Y79fee=?V;xD=lVEgV;lK9i5!aksqg5s7J1FL2xBr7+ zkaSaK#j(SvWdfFvz$yl;r=s91!D1VkjQkXt05$1o5!H%^bg7QDat7d^!7xe;@UEZA z1rnaDq*jWm&-i*7lA4Wt&&mqs8fIT9WP;Z0n#twBDIvm2IYT>I)T)HR60q{UcivTJ z#OEDo)ZCjUTMm0eU^{n9(|t#?5(c8!cb;q0xAmygz%;kAvO7CV1V&+w$V999=Ec>8 z&s<+y)o5+HigSdqhD-^ZG$q;8fq!(dke_cmMd&23&A(8?cX_ zlbxORNYUv%#nsz>dK8V;XfYo?KEBha?hcKeW{tK`jh$aJ8cOctlE4LDd)e9nb2caJ z68R3<&3v`=k|oUg=mq<|Re5?ZL_uf%GnH{?H8nL&MfWQmrMn85VA0=ovXu3^e!9u* ziiCkZgi|F*md0O@CUbR8eTzk4D?bk+>;<`2{IUVEi*w~%@C4m=bJ&613NgZ^O`~lttz*RU)Z#USJD9CWbSuQ5XouL3wNO`@JbcHvY-hKP zP2_`v53Ki~Wy_gy=)f~;qn_Q$+4oZ3yt=rXC6}zzD_{m)CJk$GVf?PZvYoGtLIseN zTPs}kMh@%H++a*9?iASR5p;z*m+`{&Agf<=y^)=(4ToiT6XGrWeueO}@U!ipOx=;T zwSL6YC5?JN)RY^OjDu0UX#sRH?i6VgwW%ERv1W(FMQ0;{JolNTNp8f>b z`EkYoQ7>SW(QiM5?3qFvG3zE;)&P_i-JT8duQab(lM4*56I;7L_mj$j0GU=;ttrGD z7Z&!asj1O=bUr6wEEO0tcCIVMJIhLhK*OCwD9y^{%@CQurtJ}2!(&T4RL3L@OC3b_ zsW0_6*#4Pfzwe^ve*f*|x{cR6Mcr&huVze^up8fn-cyu=-h{b~S9U9J+N=;^lo@dd zyR#O=`e@dXMV~Dx6FaoCSo~%L-Uz9byJS#_puyQ*Z91a<^(*0yf*dO7_3T!g{csR| zA~iF$_$1*Wo7HIhI6k94(wi`m;c9d)qI(bxKZ2NgN7AZiONRxVe=P zKmorVl=1bDTR<##!%09$Bq{0D)n?X#t2gewgs*(#(YrkC@<4s%1y@@%V&fDyx8L?m z0=$q3?3pmP8L4@w&_WH(yrbEHcCZU}!&cRw2zC&lvh<^Vz-8}N2aHkbIraT8H~029 zrNLzV{4)?;140>KQxS07w+ji>!mE1zAmsrZk{pfTMIC`ak|)aZv4g`6tw#VoJNUJ{ z{E#eqWc2UKt4P+DbqB<)8z|<&8i-LdQ`2{a7L|X&=!3BKZu)4q6f?2&G00lquKPqE zXkpD#L8zcVfW?X&&@xQzm?B7sD)SRM*vLtRT)8}b27JTqK1^fcO$M|j$1C$p;o6>*t$ z5*5D0F%~K-38Y_UZZnv~K80Epn_goN>H@wSnuerKb<&cBn7@C`AjLEgR}7lf3)_Lh z6$h>mHiZcB-P15iAy<|RHmnWJbZ6%GQ#ypSw5F#t$g~C-WDkpW+Q@jNJA+?qn&18+ zn4xMOa0NX^0Njbz{x6xnnwMo64k3Iw$ha*k!Qs6VET4MO7h3mb0$+B6{Han%9~w zHQkY#m116EUyFAjkh#3if*_?%+8+o!4=t_DCH!n1!+(iAkp?$$B7k>b0&_GIxSmA# z;Lz|PZk97^Vz?2_vvt9M! z-DAUAPl#7@_EnaE{crG?{-YVVc4>~2MOkwmqDE;~uxLv_#JYSG!#a4fRK&TM3b^Q>s&|Tf8Pc%>kBV zpUKs#sXQiO_gLi}K&HXU2nj&t8lCW`6Fcace?UOW_wP5WeODh&Pqsu<9tgQ6nbgS# z($UxK?4~HeB!cbCq#?I5J$;r<=kvC5f7@L*L zM(ft?kNR$B8pM3Y$(5K&mVvTlFeoGx0;h4iIIQjr6bE?tp)gBLMp(_?tC zRTbLOksmrAyWhy@y^&i+#U1_Q^sD?l15JsDh`@jDo#VLirSOxIPNo4jK-|x`5wKN3 zJfnB6&_$7ExE7KA<$h>vwxUn~`gs}`#C=C|w zW=0IS`~-ZowzPc9e;{OTad9!#=mMF^$8^iJAAAcV6I4}IYk^>tKQU)M0rX5)mxnaz z?jmabmqa6P3W@s9rN=mphoLormv(hdK~a(MHcVGWTDt4lfsk!LN!1zyR@CiH8~RLa zy8{r=n_7I*)^#6O^Xl((c6GTOiHX0K-Xjfl%{5w3Vkf3M>>1G;)29t#9aCm$G zrljOqO-9Bk+W30m0O3S^eLcYu2pdI2L<9}kp2Xr8SSD=Doy^S#)YKm=PM-JxRLTJe z1W=P%q-s*9X!OktRbU>OW*6f8)#n27^AMk8Q(`?nOhF9zHf=S29x@^yoXoqjwnGdOqbxIyl~_cT>@0%#(3 zyVxBEl%hoc+>b1STs+hxkI((DKNxwUpdzfz`fGFv6nZqB@%^vxHcK#H!w#i0e_pmg z^cc6pAYqq&bRV?Ol=!c!AEd2nHXJ-XJqdTu#&(?iSt_}!u0O)a;%23_mhr;kR3jdI6S zh3$ldc|}DY>v0)Y z8mg)_?H&*ipv_wGY&IVmqod*9G$LB3kSC#P{L+@D!U6(eVQrmS(ABlMxw)7$nn^gA z#rWVL`F&Vj^1W=-hfFrOc+9OYU^^0?on-yw(4j*Dy!%}7QQ+iqwjN6HaiU4=t<%Xx zMbe-?c?(}L#_ffyvoRYoVl~BKoN-^a?#M!Hl&@Tg@0hW6bakaSTS_OmgChxi*#MxM zirh1XjXQlbJleJz{5MyY}Q;#oS_Y;Ob&MM{I}E!h;*Uk%MCxfFj*UJv$}TBcby7!R-GMG&P1oN7 zsQ4y43~cHo0P&|I0WUustckXLck4723@ZotxaG$k^GI%ZWMH6NfiJ?!{mGM$hiZ^< zU@}!P9Ww>j(w}) zED@3T;?9|);d+1diP&O$$Hy6uuZS{<&bT5t*uA!a-7{8c09I1wxwkj{+vwXX2vKSRhN7cO5ebYptR${qxM8@$m+kgpRx4r&jZUjs$09WGDrb zoX>}AeU=i9)&q&<%0qt)xEzWEJpknli!ypwr+aG95DmsP!zjtr3JA}6z(+S;c$ zIE6n(wmftN^#UB+7vDsgK%fK|vRj*ji1XQ?Yi9j;H3qkW0KG4P_dGMK#D3vaT@B z1-{UAt>ZVo$j9BOXDOeYtn3l~n2P>vy#SAA)Ov^61E6@v4qZbX47sMM_4~%73Q(o$ zgTI{xacxoft+KFkAQGLxr;~xMhig5&sr3oGP}0jKTQU$aZBRM~kNm2qKfNnDd*}2~ zja~pzsE!%N7|>r~?qPAL!;R@BAb;Vel8XJ~;GiyMmo&h<%CpA(S2c!|EqoY%U z!FZoc=;+MqpT~RZ@ZC7ACNE!>o0-`H^6NfF!?pSW{#@&U7u{sJvfS0u&`N{c4<^wY zbU1i-eU%hOcu`RiR{7~fBakRQmUU$Qx*uQ+w3q1s{Ls4md}0ci#j;(=&)|ax4@!*J z6uP~zmRv0(J-I~nRZMaPiL^P?o3>G>jEA43e1n4k7I$a@D!+e$x$rd zh{(1Rn9vtc%JZmBK6YRa2#Ui1vwiY?I}A*|9Vjt%VbvYRt3786Bt;<0MnV;J8{gsA+8=DjUKw2%7Qnyjp_P?Y2rvlYKn|Bb(8gZ8cp)Zn z>;QJcj^ZSpsH>;|e!e{{i3DJg1O%iJjONHSvh5C)8y^_hfZ3IN1T0hbn$ut0*^ZnWGe!Xs)d-v{D>;frG z;B?2EO2+fW-178Xzow3Y0WL0sFG4o!>07^O`0&E^v>@cwYSXeP;?&RoL-48Z%e(0F_3}(_CAYTuYp<=j% zRlMeA097fVId^ao6U$@i$|4ahH2}1Jq+bt(&UT}aWuGX(Z3S@yAF!J>*0rD`lBVQ3 zvQcj-?SrYWSCi1;7r5>SP!uTzP4cWB-2|HC%QEZWDeW=PC_7Y3YNa370tom4e6Tus zF7A#32pQCm0GlP1)X6!szFp6yw$Y=vReGA&cP>5DTokeOD;~rVISPPXtiVe!@+K-d zC57$_+(YNF4<(T#v+nrljEjA*|uXh#sNFJO3nKgaR-f zfLr|F|JJ0B+a{~SsrOV;QUO#|d#R*=GOUvOSWTQ>rh!lAKJ)mQW9~dPz=_1)KX5J2?#`en_Au8+}yNS^}T}Y>wC`|llc4hZ{_pwCdnru z;H)le)Wy;9cI(t?64*o5zv>(40}y}#5XUW51KHpQoVxsklv}5difyjZ#~wd^OmcR0 z9b=43!Gxv&$(UOO0Weu5C8Z>QQypL#?!2A_5`F86CI9VXTIU3Po4uYRKx08~`4zSRaF^=j4+4IgMMb|gLY#nUDI-5OE;E!PM2X^ zd!kI|d2A<1{j}iZBe5C9)%Rm_XXZyQgueO|sdTmU2x+hG6AqK;Y9k@B+?n&aS()Hp zYF)1#lkexheFoEjnw@W*a`R3h%-5t4KoZ*60;K+NN*9x7kr~!#*zV%{g%6x<1#W5{ zDgP?_7KBCpr3KmtLcZpI`JmdxS;KdJhHK;Uczrz6vRT$C%hBygp-`5iXzl~BCpSUx zHCz8BWQnCT(k&Y$k;#AyymsurbhnUv>A9$EI6iA=ME34_jqD-$JGspI{?NZ>);>Fa z>Q;DbTkw?x@EHH<2IOICx(RF{^@mDlH93wwO*#{G=m|H9mx z$3xwR|H5A)DqBdBwFQGv*|KJ@$&zWYlO#JSgX|$B%iV2|y=W{6+4rS{8)eBdc1jYH zB^ui_=DFP6_j%6q`km)F=l442Ij=MSXqe{v{eC{z=epk4`+9$_k57G{!+<5>gFE%T zjmgSI6zLD#>LJ)|b}0PQX~Yx}_}2GTjVJsQcHWbRY2#9igpw{uJi_Xn{maE8KVbq6gh~$ zQ{33rQ`{=({yu=&=3Osf3AUzLxrPYHGR+8tvFZ2An41x=SC}p8Vp(2rTq)qN-clXP}YjHhu<~H2II80O1tZtPTwdD2dl}m`#?ytqg#r;M%(D@rb#fB)aCAz*v zZ|fLw9%)=Q6vy*_Yps0922OSAPDPI>e)2fp9~I18KE-+V>dQeV#%36!_9CpSR02Ba ziYVt^PE+@bC^c8pA$p_ z(J1Jg(kd}Ka|N>NDoG8tQ*+rr9+vg<5;brETQE3M2G z{^>;UaddtY?TYc~2*P1>ekpFX9r@-WXHGC%K1Z|UA|ix$;R&bdDm_+MvG2UDktdLl zITb_mf{d{bZL04F+sBY~P=kMBc#JstI5b|AjkqW>hS+LEaw7dQA4C~xHyf!hylG;O z5wI%l9+S~tb94HT1rZKVPGpI0&jW>42cX*LQrSp(Z}NH`PH}3cl;xF$WRo>|OR=0| zS`RSqX(c5xPLS~zMAJlY8{wv66Pq9Dr&aSp^9GQ`t|GKVq5gVcWZvV#(iXLS-DVQ zRtOeT0<(IXc6?AjEFyte8<0L)9p61peh?FW5!F;tR^5LfM9^WMkT6e7n-LOlDY(vp zK+$UI`bJN{%J*5lDp(Gm7T!Jz?Reyeh@`m)o6UxX$!g5PSP>=vQ=jQ@7R~uRne(|4rH2e*pk0wF5h$MCJ%|cRjilI-?-)G$qB1{xYm{dw7JN^yMJuvJu`^=a%Jt zLi}lIY4vR3Ha$5W=81y^`Z3W)1!ayYRrKo89O0jIij|Ia&fdM*<-Eeu%2bm+Tp55$ z>f#$AI(&6#b7TAo=Q`dqujst~(24<6|@8{INA z;Zt-<`KopS)ntewHF?#gcYg~K&+MTJ2WJ8wH2cus0pNfF)sNhCFlJgieQP_fI zvh~jZs+|q@B!9Tg8K#!Q5UrQht1KnB7#dkZFbgvfcN&nuq0(0w{I=PNZ2a#;hX!Rn zQ1{=UH_vd)d2p_mHdICWAl(~l8J-wxtmVdIy+A+vtA1KH54X_r=&;chcE2?!k^Jj? zk|k5i%8}EF?qN0xcjfObJeE(+*_vqtI~#w%R!Va)l_O?YLVV-)tt?SCo_00S zG~ct0eW18NQhYhMaOtK5wG{^0ct$MqGi2BqD^$orz`4qY+f*;pzs|F_qMK%g4{ad7 z^rC0u9y(Q+wu~)SRyP zoNN+!j7bx`LCt&h#Gt1?-i@5Z55#9QaIaik(Y4{;5jG6@#HQWXd^mQvwkcb5n-720 zrAOe3Id2c`_736jISH=EYWoG}$vaJpdK)ijMgy6xOieF};`dg{g}II;Szr95&~5)# z`q#8{W6r{BBXodJRMx%IiPT4;QD5t*J(bNjT7NQao}PkMfluMPlB|DxBkw#>Z$IN! zSw-4Q;jO`l^;s4M0{*WR&8_B)fLsh%{5s({@e&%0>;*qSXiM z#AqL0rt2G|)37`foBYOSO%t?F#$j(J&Fp(C?zGi(f^;i+ zn1w{2Y(;L=>a_*oHyK=JY*r}eiw$ICF46rBRL27wWc3slZT*0^HQX9g&_6W{P%qPj^XPaOs}&yA4EC?8QBrGaG^1(`5n4y+pafLw68%?AVuqQ6@A|TRl$AF zhkOk04@HK@NGzSYVDH5cJnmEmowcz9SG$Gcv~{*(q>~%s^Gys7R3%tedh+Zl$_#NHFUmOoKj=K6O3wm z>8tXg?fD$Xi~+Mu8U3?!YOItN@Q0My%xk=VS1Aky>m^8_mbMgJz>U{E*H1l5o7UM|+huB!*q-@#j4a zLfj}m>@J_kf#X6<;|fDtXvm37(hg+ISz4{_7TX}1d0u?BFYqEtfF8iNHB_7gf}-sTP$2^I7a4$h_hOB7$~(Jr_D1uiw*M&?wPlS82tO&){# z<&N8B4~Bd{NJmG!z{!i^`D2uZ(l4OShTFVyDl9&$fA$dFn;4DAs3FC232}%KaSv@A zMDfwpwtR9Ox7dq_R*eF+MX6rAbLt2Yiit!_r`lC?gIpV%w?29c1Sb3kLT=RdIq=@I z+*sZ5vXuX%U?AST8NQF>#&@5U9*CJJ#MjHqYr-QfNhb9}53LVpGx(0n{O2*9C`2Bq zmQB{11o-AB#7JA#=b%?tq|{Ftw>h^js`Vx`-u!X9kYtOP4LZp_ z$L%MZX5dzj01tO5$1xl%r!3QM@mh(=d#Az}KnUP@B$j;k!W^8)7CjTjCIT~IPli@X z3huNkHb^D}r!Im|jFX9GxXf zdzs-*U+JqxD_fSgr4jTMzJLC@T&n&Blzal_xJp-tN176iGVQakwQh#75BU7`89iW(r%GQ*0r`^YB*Sx& zfTcQTb}F&8d+hj$C7hAy@>O6AiDt_hagfnzOeYu~Pev}GI1=sDonu6!dL3lI8sz*e z^iG61(5bI%Litm>+&wszLBDc4|K7bFo?uyIM3B*dQ7BfPCq|R7C#`2rh@$bBf$Wz* zwMtBs#lkkv1V6@f-bZ@&-eCxiPqa%%?gTVgxnC<7)I3YM=A2H`dq)2(UGK1a%ZaFC zoR3?f20tG~&_vB%I@PtEHDuaI2@BBb#p5l63=#?7ic`h~{ zu69xA9l+n*7dUPF)qK`jf4b&9u*_RD7`2STG@c8B4P2(s0B83IiW1j^!XSSd^++?` zQ{9i9sA}UgFTQ}XhMJZccX-kQX&bxczjGfF%H>5}({P*eEYY_=e|m~XW!-MDYAP=& zG0M!yV0qm7`D*^vm!#}*iWt{p$g(V^pi9z04LXEBH7(8GAJE{RHryYinIbADO3g8y zGhnX;IgY~MYRrfzgux*21+LIjk-1P7?k!$%-wT{O{T(f56`Pc=Cq{e1t&|;V8gK@= z^7{RHj)fvwqKczO<|!W*Gl5|x0W-%vdn7n^rv79CT17NWI!p8=*ZzlEH5NOY>Xq}g zZf`3WFJ;W>yKGIa@wMM4fC6K#Vu%&;hxXp38@y=n0RnrZ3o9B;8I6huo%Rv1nKh)d zm9Fx-6c07jY#3$%BULH;vRM5L@*+zVy-z5X_G!(Kl!gA>w7V;LlCQ$-6e{e(UiCi) z%tUHg|70z|7pvtf36(Ue1D`QbM{{=~`78>l2qH%@hYoWk29`55%xS zf|yMBg?GM;KG`)}3PI%v-J6pw(hIOgz!@6k_Q%oW85kIZJ4_)F`ZBC%yDfZ35k}VtX=mZ}Uv^E&F(sH0m|F560dUV{J+%L!exdB!I}Qw`UgF2Y z{?aj$IdFreS)XBKc%7(*fD=rB!~x95j!`HF2IYXzM%)!eCXgi#GUyCe{{dc-H)i44pd4ITyK#p>W3(!b6*8#Kty{v^p9+8U?X1ALYy*d1J`AE9I{-_JOwrmlg+}r=ZsAJ{~9BAA#mHwL!R|~E^Q{kEXXeLi1gU2<6 ztxE*w?(snbV=kx95pnC_tFbK66gG`phzXKWImLV~cI}1s3U7P9p}ziLmgt$%kyrbs zb;>ywVc8>BS=s!0_Wif{GXEj$t#>!C{i_9-7^}@BDND^ObpM473AfplK-wR&r9w0; z#BH-SjCz4E3E%GstzNROiY*QUDEF5Q?!e^BcsA&QFU7#0VZtw?DXPI!Q#;8JT=kz> z5)u*;R2IqA#fKB^j-(q+iAEi3*`NR!x2Ival8u&N#)d(W_`wO&xF8Ncv&O9;!xBQW z%?kPJhK@@Ef;JW93@>6XJBsNvG*3MAOy!&G0m1JUaY4n_c5?rLC=1H5o?X;^ep%t5 zc3-GQVmc?QN{>D(|!S6!BV z5j6{bArfM#g|j97%AjaeBS^=ZUQ`4sGlm?u;m%3GSbx8-&2r(t$%qB->z9dFXKUV| zXpP5=SlzKC+~b}5;NTrNiPIDIqohOuS(xu4r-X(5gGW<7eLLfQ2}LrQ%e0P?{X_K$CLHKF zu=!R&MvO*evRR>5{fJ9AIzNe2<^uHD3tUy!1Xr4gsp*lIUk)SSOIk4K<4i3;KUZYo ze09f9Gl$G5G&NS-^Dbt=A*{Y9jZm`!BJmxMA+#j@4{%|>fU7)C@(lp0VcyE!0!4Cd zn7plq!t*$IcRL`NbSn`*bY!^E`Eb)g=NLmoQ$H9Wn*!wVZqn}brgo#B*+3|8EEJH} zFIyn*7~uze4MUfO@K;6g^-wS~Gb7H7xUBCjB<*ry0aI!piQ0F~!k zFtvL)6%h@vjZ;o?x_7yLp3;ci{_^G4StiZCf*7-*%?7^P0}C!GUtQJN-iO&#_Yq?w zp};)6%2Tg-TGLIW($yLmGTn8>J)%oqR`ydeN^wHM583j~3gu>NmzpO(6yUahJ?k7T z?mqS`aIRqab6`Bs%$sgVkJ?{yFwEY%M;X-7TYuP@Vhgdy8EF}XBw;>q#M&Ny6E+za zw+R3sY#O{Yy=8k3#=Mw=KRXt(Di>&@NUP$%9KKC43@7ibpGH6hTv~+t#q#nEFmV4e zV%h3!ywIumj9$OY3tSQoQ>V&;!|X%Z0U=g}2qvI~KuD+VhyC#+z@%uzWzr$#Hcv3n zJz9X;>83A~jYJ2aiK-KH(;wT~_V%{4IshaC5K?mg@GsG!Yt8`}#veFoCL-di%C43* z*OKx5XEc%VBE;A}fTS@xn$<;qn&UJvb?RS(#vl@B<_$Vg+prUJe7BUyfr5(RlhmWg zIHz`>MRs3x4b+xmI^63ex-_c#xUXy-K>#_Yf2w0?pX{d@znOAda_PLoo!>NA-E+uC zutT9wn^l*b(fL~3;okzc8sob2wyrK`^E2TG3LBRN)&kTHh1-;_4aT7z5T5BEwj(t28{<3_iw%%gOnKb}*?Xbqu0{y2lDKmLHxiws~n||-^S(>WC3}au+jCS^YwU7 z8=0q_)c|Z35+K}EE^p=x5~_En_q&MV0hr#jv9UQJa4V_f}XuNM>Qime_M{L-p0v$OSPn!Rh7Hftfu zDF?unbk~OWSZ%3OMU<~fW9v%6pi`Dr@!GbU&Rgj;fc%!CocvSU6bs3AFB<`@0PBcT zuEDp!q-BNf*)t5Ls?0G#^Q67r0iT8)U&M*L*^J6^n9go8-|*(0?T>H$A@OWEDBwwp z!B$5%F+hRiMsuZgC_st5+bQ_MS*6(ig~78$o>-W3PHoLAs$;aFhx*S>xBE{S(p-SN zrR&P`fT`t?5Qp-zMZ$o(nr;ye?P*M$nr~Pfu=bb>0!qVX&?C)#1hYe6sr?W(ci(RZ z@5av4u6zd;MY7A>qDPOWfU$?G( zXjBE4`&Ah|b|6P~1WMBK z_P7UAi0fFpa?jC@$BG9J9yF4=h+39mn(;&YgXB^J6oY|c3SA~=U|t?__w+lCuZPZ~ zY|WQw>LEKYr>U1`YVpHitfS8<^ROpz+yETI)Z#-ws-l((fkA*KZ7qOWfX)|fQ|v2`eP+e6(n0<+*g6B`lfFnj@(33879ilKJB{sA*$Pjb#Y zxiRP>N|rtS%R>zzNJhf`E`jGQlRxFLe*GDbTV20(W=oNPo!XDY&Xj`&7w~w7S>d`c z0o%mu9qk9q%xx#9g%KmphMGQydZ45`x;Li!T;zgMFG|y-qk1u&%g|xN9U}MrLy)wT zL28w*5vdDsLSPSf2c1H)o^bh4m5$L*fuk{P2P_B;N5KEwkHLMkWgq`a-T{Gc0p0Kh z<#0P+%WF~2{Zt4Z!blv=rsw#NpO@?hs2<3!#D7ULscSh}NjS^qB;J2ta4}6a03_#d z8)b;aIhci;<0Xq)=q=_%yDb~;$`HW|o{j03(StXcU9>KsPPIr|!Ke@`hI)`YCm2JV zF^cF+*88%_O|4Td5IC}Lveo%Wikl&(52-u)E9%)U;isk9>3!1=3 z!B7-f5(2Jmq!tnRJ$OYl$kWuO*ctyC5Q)-U4ZklIhQmB-cx`+;CB`lOJcpWP4!1c0WyB!{z8N>* zyddOgpazHM=fE*PCizkrpsFK>A0UOs77Ku!g!cSPvqE9kUTKw*RMv~AT#yB0a~uOf z^k_M1ZyInC&skS*wCoez+s)g4v9@T;lXnhE>6%-Nk7g7&5V~N9{)#}9;z5q$jF5Ke zD^n&+r#X#shCyxZ<1>JI#$==0QYMMl7*>jD#v#vU)6hb$<8hg^D+w(_ zpPt+>NKowDKXeijhq0u)vS6nr7aHH`CR|E>_b?-}j%UINyykALik0=tHV z0Nop+MAvqmzbf@1RK0<8%=Ei#)dRWGFCb?eyGrFk1)p+hDChP$-16G~)*PDse87^9 z*qt6I9JU!N$SAif<`)TO%}%#)`^|drztpM*x(|mj0;RC(vJxNN8`c9tjm1D|PJA-f z@uhhU*Fp=uI{?bXiH2dIucA)je;r1=foxKvUpX?hK^nRR<>vMZ}zsc1W^;42#MJc}g%Rr)FnccvI;R`bywJ_h=VMb8gM z&w+{{2dd6?D11I{;r_=tg>HRB7!EGE#Pg^%!56rm3JLKe;Wp2$ipjuVy@B*Df_!;^1nI6Z$YSl=oU-+lT@^W&MC&GMKf*(O%ed*}YqlcMVHZO38&(YM2FDdxp zFN^-NN0w<;SQ#b~aUUTGml`x{s(jDGh5GIn83rSs&MzcN>Af#qI1;HCHqUp@XD6}60EwknfjR> z5dj3(8!(mtjpF8Mxv`I--gRvGt|cK(}>C)T)4T}e2J%24(MMf5yvLVXHLD}-yhFc1%0L37~fdnB9iWekE z_--}DTcc(@)vB5-Yb+XHRAk8Luhqbu-ODX06@lWNzB6SMhQzif54V~hZZn=&5t#0n zlGJOZ=avVxKA>gwoC<-f_*DUXy7A_?IF!o|hkvSKRcs3sP3p3iqDg~eb9}5gwbj_dKRNr>1fXUY!ESSbrfr2KpD4{_4QXmui?qK{g;~J9 z;7nj>mXSNUQeBHr-17;icvn4)GIc>- z-fxx(Hg+h?%&*`dZAu;5_9(>CHhTl7B>;5-(=oM{FG-cYZ^e3*=9L**c$mTw?LH!ukTz%(N>sK~^q`0Xz`GHaQ5DoX0t!^d-8jyJ z9c1oV0p*liMn=YtPK)#;!?ZJ$Fhq0DAAa1LjqK=ihf}?v4ZaSe$MImj3N!uZ6p7*I z%CI4@9u?-pA6y0H^3OoG&W$i*I+?plcP=_pj0c?t_q>i;XY>Vy9%Q&`4k=&L&4>aZ z!lNp?G|XW-A9ag1^O+HCK@Y$iZWHMxGKED9K&b5wNzKW|Wwk3P*+cjKQUO(`o1A{x zC-M#vhoQQvjlr>$u24w-T)8}<0BbJ*UgKIjGuSU^D_*l>o?@o)l(6nr&A^j2+N$fB-0uZ0`6r?5snX<{Fyh!gWP8GpLsB zGc#0$)OnPyR8i>47J9y>p)!BjHQp%Gczy$XwWUd3g zYF}4rEt#?xaR))la|_9-;r27;iFN_n&J=qiPD%ya=TKOf*4x)617U?h{%}O-9Z|pE zzi^q{a~;j>T58bpDMh~5jTZPg%@`e9mgb+Got?dfjK-2lY6}Vmm4M8+n&VtEx9?my znI+n(W#qYMbl)XIQT(5~>;(sM7LfyP$`z^FY7CMJe(s{Y**H}yL41r90XucHMOqJ8 z~rbJ_x|!B@4f1G zg1E!un9WxYAn5!{7&NSAA{YZ8GbwuYXWD*NzhVGcXtL26k^-m>8=I<35KxjJ1jRwh zaV$9CWHaLBtMz3F#uN&;nZQrcL$!~Hl!q^lG!@;gsqdSwuA>PC1ZfV4t7m`6v%S+o zNSq5f;RzAh7lMS_crK6V`c_z?W+DC5L;@SvDza^wVy(naH$j^v$+*vGRIxD{_QD&H zbU;4WA@gC5L48HPK`&6rOE%l~sQ}-?EAq-kgaE(z=+JcB>%;{Va7tfJca^fysb69A z@GHD-4kdtM44QOmi+*&j0e6?9xoXemI1Invw&`RbSU@6fb=MDFE4;pZ8BO}WeIbHS zvK3{>EZ&2yjgQyX<7L-u4QsVf%n4tuSiz1+)cquS;9o=xZiyHV$!0zXt7%{q) zKxB&3TOt(1b0DQsg<({yn{xGZ=fQMBqgtttX2(-MXgH@sp&2TDHu$T(b$Nc5P!*E+ zSK!rN4Q-zUx*lHvYRKf30JT2iJAy~r_3^WMP$ss3I?dwE5(hv$h97RPnfkfr0b$Ak zz!D@%hmmHFw3+;?PF9RR^g%Rtq0O>=0)uWi+FVyhow^^mIE$!$Q|QjMAh=>1sm$>I z{Sb>E=Y9yuo(%KxfxuG$BAx-DqY_W{W-OkTlj!1kX>U^8Dx(i{jUIRSKRPWim-h7}H=ui(&D>%D(KI?;0leF`f3 zs^d)4Z(xh5A&t++HCOUAu>_5=%Ci}B%(L$^tjb);ial#y{{3%W1DPMjmLSbUF5NV- zrz2S_T1Wgjcc0uK^^VdO$`$+=oF-JY>!CpI-$bkxv5kG?Wdn_aW##1$JG1k6Z?(AG zI$GNT0*BnWwXNZd<7E=Wdq}r&!QhjH4>>!h_3wSl5xEisOkE~y(}haj_Pz4VzOj2l zz~IhHGfjbg?f&>e-YE;1%H&>mEH=)@p*I^dR|2T(AYhSXYB_7eow207Y7T0wK=1)O zC1!<1w41;Ks-!n6Np?sf(Ppsdp}2_n@6)W@UVR!#PTtUhh3+cDqeiS)JMdEUEY*%XTmXY+o;W)qV}j{SmFP+V7m-+P`}_?k zoKNklv6$7_{ArsTZ_|k4Glu$`!<$7#R*dfi%q6Hw#VWD!@J?;SnI>YNn-#JwihpA% zncK6O%H8EolUG|ruI09Urc&x!w>x0wwDqa0?e}jDS1xkt25&gp*gVHqgkzk9b5^Mu z&Xgv_$4R~1C9dR)e8$k-3*;gR7|ji)_X-_zYb7zwz_5vqW;YQm`Vv@loMQlTDd;>9 zfPz1$u`=LY980Z#R0PIJmN7&MqFY2I^?ju)%a5M~B8aaHK{!W;c=<b;xG*=s3^x2>Sa;R4CxuL>K|CC zfET!06{Z%E6U~*btP+lw(b}M6=4-F1uYT@2mdSHSl(zbaf z5-k2dEm0)9sSWD><~oQ9vxnXXOa*N}vpph@MmZCytiGdp7$+!`RPweb12EVN8he$$ zRvoFzJ(u2{`><&?TU=C>g~^X@y|D86^G&D;Tksz;1lf_h)^UeF3hLcJ@Ph}y{0g_N z!8?1!915T`i?M%5Gcima+1j`{`HcqLYPAhFl*z6j za_|c^=2HJ-iprH4tuPct)hh2tM7r8UB4ZFtiT zn?|4Otv-re5BcYFVD-?9)+6GyH2hdmmOALotEJ`f&n1Y^bNdmAghdo^9X3@4(9>E0 zdTu{25IERpb#hmXxA(WOEvs>c5e6=%(8HYDVSM3|r|gWEYP5O4qoT0g%lv&e&?y{l zK;ZGi2W^FoTE=JH=31%;lfF4UMK})j4J+MWy)`cMb3$R@iGy0(r*ZBGMfOFmUEv&$ zIc!_BEmOGcU6Ko15UVwXc=jt(AGP(r6Wm|oT8HH}zJB6ZR-f0>cuh&IJof1J%o+MW z7g=k0GN@WJ`O5|8rB0oy5KGt(+rL<5iS)ZFJ%v+}l9j_dg2%E7w^ivC<2wYCx)!(B zz9+!b@YJ_>Q7x^k+!pZ^buF!#=f(S8!zec>JKq@da&~iL>FVmzywAb^uF+vvSvda4 zs3{F++!D#={{5}y^eZ(MZm)Rs;QDnLT#8~1@62QR8^8aT+s=rbQ)50pN!@Ul+MtHw z`U+f0WfZkPu07i*-PGDBYq|Rg>dk#IcAQ*&+=)JZeU829e-akoSX)@Qko;QP7W)z1 z`#*4j1Uojet;mG$HL*jUhliCS)%mSGh;m$B_X1-VaKjAzK1eqAhBWt}^TZ%;n<6u9 zPf#t-BvrS^YKh8lT5OTpSWK%wlW%-+(|}Ki;@0bO>fXRnL&~d5X~l;}0xft?#I}?- z726eK`38;uV$u{5gcGE;42|ECso#!VwbaE^dj5;{Qe!IfA4TRdp1uEj)R+IC!p}C` zKTA1%q3xfWba+1uS|G6G)h`{I$#m|8V?*1g|G8-%=)YYBThgS})Z+AnIlL7D;yZ5b zzJYC}T^Fq~k4pZl1yKD*WSVu_W~>snz(v58;=(Ca_p$Z)ry2`22A194)S%n9b5iO2 z{vC$42!?5Y;rMe+jg5i)&CpKxe$QHc|BvuNrHr}sjLggpB+c5|S}n8VR(Ezfn;*xI zaGl?(($LTMC+AyRwT}ij*ln-5w;nc{`o$Goc%@ziz5r?>C2*SX?kkiKzz>|g)_4ii z+v-8@DrjP|2(9_VCQnr)jY^=NFRf z*p(+0=u>uU91eQv%J+Lj=N;j$5!DzP@^9KFLCI&hE^SSH;D)Sgh>Qo$c7gIA>d0WhCN9>qk%5 z8jJ3X)YP(>QL0Ch+S2BR$g!-09y@S0fz`PB&r7*(bH${ZmXN>y%eejS3NDng%K6c2 zYU)l@YTsK+-M}zVi#wpKhZ3{^XX|+h$Cr>f zhl(Vmq{hH=acqYip{=fUf~g#auHsLx^w<1*SR8-5YJDtB!LSb6cD>-Sa#8 zm{?iycZPq>lL?-Qr9r>}e~14yoFO}6yS2W(T{|)NN4QRIk(XN6aL>+i1~pml>%jK5 z;%6TEC7E@D;^N{l@cbLEii$E`UKKlD=5qm$IadL-6(=l~l+oR&s*<<&`>$XAJ$@6e zV>`bD|Kx<>n4O({o)XY24%4%~y1F`V<)z2eGL^5}PFGAd?pr+Z%~-jiyuRKA+9D1^ ze9ZOoqx?|ru`)Mru?eDQLDH1GyUpQ^fw-mjQd91k84(HOC6SXfkaEU7EzgWoh%`x|O& zM+sp|g5;)qJ7W-Ok!jMIqKOsd9>_R2dkwyUot{R|sr6=T!#U!2sFaON+EFae<-UnN z@)ba(3{xh4T1UUh41+bnl}wkLk4~CynBD35{Q2{k($ty`DWx}gufv}6l1X*;Fg(h^ zRv8;|Hx<-qZUA6}9y=xXYItG0a(x*biZeNv<3nkRIyEWJ^xjNlZ>2hQ#32Y{inXfZG2V2Fi1ujf{ucFh`Ki|HLid~$VvBv%`}&+S{f zu#mCVu=KOkufAd8kkeSMctX^~eSB9w8h`g0YNLL~+EO_F4RpNxzN0;Kbk_`aEsaR* zQJ5bOGNgG8ALsK{W;otDkIZJKPm(j@+Lu zAr$ic+#C(0E-1vUpLGd1C+t;ipE2cFJ1q)8A~iL&E{*Buw*PL(geIeI)9ofwW3q7D zTgyX~v3DhL8`=HywtEyHEt2=#sIu{XNM4?A@sjK%sGw-}W+=F*E{OEnygXo}7Ttdi z6#4kgpJMx(-by4k3gaW@dFSmdKYxEQ2|=0C?@b`b_?-oecjs{uOTi?Zjocb`jct@`Fz!m5|@ikVoHp0&9E#S!&pr)Z(4> zTCDs95h7sUu0ziwEY-|q3>}YCrbQG2e<@5t$FYr9Zz`tR240_&APw)^pjPlD`dV~Y zdQS|3Mh3P3XiFxw?DD303-T}brqj8rb=P@a`5pUs_D$^V`7zVprymkLDO1hz@hOjR z1fE~%(@s-m3nor{Ubt!O^ge!;P;`j5m_4y1sBkrT_sRPHswNiInL)!m21I%Fuj49) zfnH9RW6-O2dUZaDPVY38dJI#S{pXZ2|CsjHeE=KVS+6#=$T{)b2Q1YRi>~wTTN!L@ z;ye5X9ysgCogS5q^4jd6IOSDF=)D)~w^U=_ez2IrP10F5V7ZcBP2E_M9&&^=x*AlM z{YEKf|MHMQ_E%$`ivsj5mowFIRsAIsl*x)t`@d2CaU18)WwHkqBMV}`9tT^ z>zUmLs;53!zdD!x=cF5^-dKsEujA3=UUh|UZv|EN({lUYp;hNCjCty}_O(nIo@#0Y zVLiWtQr^GT$Z&*aazUEUFd|=ajIZ47Z#dv^!o`vvR$EkJR+(bJ62CIoa*k>^vF~5v`x^P!^*G`;^ z3)0u%KvW1LG{JNCZTtLW-AE^oWwqc1j+^;2cYcHEsBF2OSy+oDwiDxObtubN6XGDY zcRMD4)&&51U?4xT>pu511DN@)V7qX5tWpKZtsF|axSNQi1nST8l5}SB+MCSBsY*vl zo8AQkGS%rgK6}0Dae-v0&&Kjlsn_<76^wuVNg69_YmiFbCqvHf+Qp*GcuBs zYk+@5{$4fZ6M4c1vw1dN9~o?#$!k;5(>ZsLe|C7LnQr)Z0+yVtE^^v`9vo8r)0TzD zv$J+bo5@O#R3RF|x-zncZyW{RS~+(=7ZgMQa;kK&+naf9d=ZbT_i&$?V|4}&$G$u5 zM`BV^&mM(C-V$1#)w6fc9SwGcY=O^JOG`#fN7jRPuzKc>D6}nb9h)RBLm_7ke5uuP z_7Tb5pAa|&ym?!0skL|I5$)64e=J`#EU&J1*wg&}Jrlr7NvV48QGEi;C z&68mJ*R3^*Q|U!l#k|1XL7xn702lq_@qzro!E0acp4*+9hz5>Z9v*$r z*J6EP!KsPo=R{xK6~A-TqUw@j>mU~d=%TmKz^Gx5yN~^Z?WYXLHmkfF=VBI4_a*Oj z{ud}Ti%*m1>E=&-fQZe+)_aUwU2{P>abQhN;L!(g3?Lq}+v$9IqQ2 zW8w5Cvb35~71-V`0t4F|o+%%&RDxq}=B+Y=(pd_xOgte5#xeoxd}YFxW^so6Q&fdI zGWcjqX7tf5?@ZQTwZr${-6CXKo0}88EOwD$B+(zXi+#Fp^%;&07N`LU2tepr!uSuP z!*I7EwF``QywRhu0Chg^-G*Ms!xKS0A3n5lclbnlm`$ssuhtdcQ^fwEV`cwtp0n32 zc&swun~t916~Q{|-0hJ(HNSP2o6r%gxj(axka?=#!O(Tfv}fZ96qDVOH@AP>3FNeo z@X7Fo)#45-InUMwIvU9hQ2GonnzH4Ab<74?pWIFU)-`%ZfQ(Cqf7Bo(8CHrY*~2d{BKOw zig@$fpYQWy~l0PQI*~ z^d;tR6pBITJHdk&g8x2M;L&+nXmN-j7wFh;?EXA|?2p|xg$Tm_fbQ>Oc>iEL(Y*UU zSWA!wIw~T_iMP5fklG^Y3q^HHceS-Ld>2sS?>Eg%X5nikCE7i>C=Ye{@4q{Aum%o` zK0Y|FQ!&1{8^*_>Cm3w|Ig=c%ywbd<#M1cvMz1C-oZ&~QjEuAhAPue>2a${$2Lmh& zs%J|1t)Su89jqU;cqlQ+H5hX2DAs8Z;aC(ve)Y-FOu|V(;>V!v88qj;lDU2L)}I}_ z*Q9)K4}{Yt6VQ<5W(4hQUBES5Q`{=lW#w zdKKRhe`8rLdemzz`+GX>mv0xFR}CA>Xb>^W!V7uh;KRBChjERA8t@Xoww9;H5&Fr} z1yb+60E+>UCU_pLl+4YlzsI7%THN%yNaWadPU-dNuQ+?fAWvYgE(RHDSg{ z>`EY)Z0&e$x^s+V$kvhKk&X2CJ*D1nJMM|#Xg+08sw6w@7}(On_q{goS6fT&c~8F2 z$#Q~ZH$a@$|2m`L9qx<9{ne@XPKR{#p`yF68!;O?3~3heQ=q$T)hs;TZhxV_sz^~Y z`@9DT9b=6Ri<4mr?fh-6%1d6x^5KeX2+_so|Q3Vx~4ZkDA~N=Z6I>yYtf3NX9JnpT--_ z%@J^U3Rqqbv%^nDNT)rhQYi;YE#=vNQg%E>Ge4J0nq4Mx4xV_se7AomTik${HUA~z zglKYJP>{qn|FnYM(byJ6iLVbB_+RT8Jc_zIcW|~;s*TJhK`EYp5-aN3C7MvdH|f>g zvh;qxpTI)c$bK95J!mYXhcEldeK7H&Sa#_^Y^r|{&N@F%}Mo_)3dhSaovCR2&6<`0HNKCV9rQ20vL*uxI|J&1Mnq=z? z(JHER>!+QM3a>OxKEGZ}G-K%UNDCK$Q_oslalgE_AH3*$PzTAfBF%b%0T=P7V#6e{ z)zLELN8JuF$y`co?9{@n`@{TNR>km(flz{q|0caLpSQ?hB))vNcPEL9v>I_ygvBUR z_DB+m(afT93`2y~$(5`hqWx7(yQZI2c#?xYfb|Y?$3NCf{A)7urlP@hNOin01y2aTw{%9foQJ$x$ z(JA>|A5@m8_uG9%hMxSp4JtS;-v6%SqTRQ9RLcL9@B3f#6|d>wVZDxw9%?<~T`KC@ zBbsn1GDNf@Uo=5>e^#|hw#jWl2iW~;lSK2)WHR=h2e0`1(sHpVyS<}$+})8Tny2io zjWY1|E!)ble$T*- zk-Ie(xBk5GJLEK%LZSEdzU6$ZU1e6d-Dq*;c;`RC#}1S+pfPLp;O#256T^>t zDgq`ZXVAs}4pxbFw{E>#J-ams!6ov2tTegCqRWF%M+paS{~P0^ z>3Mel@*iW{|C;&T{qFyn2>YM8i(%w%TiU%Ovi1Zy3ViB?5E>*>dfNku6k)%yM=Sw7 ztbP6h4kIa|f8M`0CmuFS0fc+~_`x52I}d!0(X5-6n0OWpzFh8NUO-;q?nXpJ*m}Pf z;OB>4QZi;HN7dML^*MG;4i0_g5E`r8)8K1dcpYyc`FKVl(Yos@ zx(15CAur>gJ6H2f`ZtxX-ZyU^`@7tjYYN= z>ojT$s?e<)j(IP*ptDs|44-@R=FMMAd*Bpi@lmeW8IzfrnJ1}x7YQYT^Q7Xwo$QX{ z?Ks+PYFnZc>*H7iHtRi_k9UpV|1d;JR`!s?`zKEhcJ+KQ?q`?=)keK49N2ox#YN&S zU(j(h%Gppwv{=5;2Sm78BeW( zok^Pys_tfgq#1bJqUhjj`EkB{`S|-tu6{C>cP!?@PXhkn72@HDMXm^}L&7{o&}mHS z<*d~sXc3>-Wq0t0dqZ|DU$)uOY!;>G@ZjC5$2(0m*N2`v{$6C~(^mfO$^Acq*8VfL z^#20*{(t_8O#{?yxaHn3O;m*;Y-P4&2@3^*3X&d6$KBX9d-uefeFyP5s)H? zg7j*k3JOR|P%Izu-34w&<+!cTCJKuNjojY^qoB8g{ z94RQ*J@-@Kbv9%wHA2g3(QQK;h9Eg-B z-fB9k?(~pP1|UE)yuYuf zr$RD+P1FE^>#vDvO|45VkCZa>0wwnvrXutAdk;sAx*VSML1tS6qzm@*90j{~g`>>M z%lYNmYq0Cojg2wM>mmMKQEOR3PJ-YIxC-YlE9YOHJ^RHiAnO}>w+<0g;R#UNmv!S& z1#$At&*jFO>!?^GgVd2V;g)w_TUtC9=fa3PuD%~uzx8;~{lmQrlv|0<4>3taBQ!Uz zeuWIRRRMn-V4fvm#DoO|jy5Yu?c1?6gia;j`f{wQX_ckcR=z%$QVN#{)ZBY>Qs$;& zBlvG;)_c@4YOH1VftP!g!rc-e#PhDQpg;zUO;TW8MANuhyNA54dP0Q-pgzBzr>XVg z{19}xWcva!KnOwtSS8s3(bLG3&$EVsvGt~3a4cz=ve6XL^J1`_mkji}zE4Zoe)#tCglb{u{eLRzcJi1QRKKy3A*Shqz~l1o0KE;7_m}G( zK}64S?TJF^I88Sv1%}bY0Mb}PkJ~)n^yzdeMeMnHhw^6BVCyp{%%ib#g)r@Z*3NV~ zB8ZH1=4!rHt4vobir#;N{`z{KbMHzxF~PloE0$5;d#q0Mvugu0aN+ul*;};$rcN=< zsvVe3?Qe_`X2VV^{b$da?bx`DgX!V^|KYK_9$CHBomZ-qHSvspaLBg@;yT$^m1YDP zxqtD`{<9{+fEuDhpTM}qZJ>b0Dx}TXmz8NQSN^qAih)2%R-DP)dPJ zIe0svmZMgR0i{@G_!G7LtclroNnJ#l()5nUg)6BOvsR%5Q&uTFaBzkSFuq35gpBN2 zXK7uqIcPLQU7F1dm|+MAP{Z;tam!@GR)@^{k z<`JgY)lSS}Md6=j>QwVXa|+NbJcf0gd@$lTsDv6V3r$=6DG@j?PYS-whAy|*7x1-T6q!w{w>?l zAS8EOOG{{7$7S}7a=!aBt9C%Sd0o49aLup+Q5dPB$;6BsRLlH2vR7l$yv8uR-3?P8Uf>Jx)TyA`tWg;v4lOoVm9XcMg z^yv&~OO91r>oR#4s`OAlVs#9aTF-tn%a`zDn3w-D#JfwcALW8|slw31j#K__J5H%W z>pKQqEU7a%1sF=1mVgwCxEuzbDj=n%cBMCF4nq zgCd%C`#}cNtwdH?%S?XDc&Y&(ObL57x5)@~b2|Y+l|jzv+zj1Cfn~>pQyKWOoPXhY zPHzKbfCC8Co}eVVr2YPWz@LoGuP+(WQc~7BS;R4lPS>H0_1-)kNvT-`n5P#(>sAVC z+Pq1F6Q^5_Ryh-|ecCOxU+_@!+};){X?8ZyB1`8mh{Zr+VCD@Z(z)9b|EMM8DDE$E z#yP>HkOnsRR2!$zFHInx=s(vzePRkGWxNF+qs;x1pOXqhp!m{aN+RA(PvL@1O?SW;p>IZK-obn<45Ca z7wR0CE_kraHJT||_p`6hb7EZ-PsOf$SDl>6%Swetht}S3?IuyCT4axf?qUDtja<^v z1CA)>F>o(NDYka>W*4*~aKA@st$aK7v!@4|@1z20Q6)6U@`3Q+^0#B1t&m~)Cv zUrN5uB=bHirW9@_ycEU28A=mRjCfxs{Gn!x+_UmuyvfBjq9Bap)2bP%hH%8wZ6jAb zVf>q8pK5jwLR+SFmEG|$OE(xxptSMuBP#80fpm~{ox`Y-ib}PM zMxKnIici_5DMmT+mFAHnV$jd`DETJ{9CajH=*TcH?q5ul8L@2a-jkFbdy;NpVF3Y5 zs$6NKk`>vhGeBsrU9L1GuudLWLk&}%k&4AdzYRJGE840e$j|=>Sm*hhwsZGI>fz~D ze7Z$BKYUlGjeAv2Sa&oDk;NS_i8|{|-^2_cTe|(#DBa2L(OB7@_@_k_>g4IjhA*Cu zt6|`VfuR!-n*7YW(DV8!Y_%{O9nS4w3Lh?Zj9Q-4&5PeAvu7@Qt0OY)Kt6V0bF^lB zz|Y`7X~*OLY`jqc@4X)}{V3{xA@BRYc^km|R{wMMx%QMv0i&#=>+OGe&)3%d`7u9L z;;k;eMw<|n|Ie=VfBf^4A?q+}PVW-X$wU8$2BrmMe&}@$CBP7%HDCUDD>=)j7Ylj2 zHbc6!;J+skk;?O|@@e3*(>h{fKpyoeP%eHvD^!!0*FqB)4~XbhMAKnPze)*&Fz}zPzSk#2mOle;_vA}&R-+eDzbpFNJhA#hYTCqw#&M-!Lkn5-eKiLhN)B!1iskp zl;=wO;;1C8UhKJETxUL#V1N+$$t0ePP1r58_V%VgKSe?*0tjebaOvQ{UnOUkbxf$j zj>0@I@v_o04A+e6@yRqQDFSS%Q#bWgFqJ(qJ@%yZLK zx!@U!Of*PouV-CF%nS;OPKyx!m7MyqpG=~6JQM+$vvO< z29M146^{6*$N`1?V_kZWuH)a(vl$l0z*re3XTQPY3~7l{xLMq}ZbVVxA(eC1_T`)d zX$z)DJj%(E|5Tx(dsmN(f8&zjU}I=SlBcQ(rlqANG7%c+eOK{v56GpbZ)r}tXg>^cC-~e%C?-zdmk*9uE}UuZ*4)Qfo#_FW zvoBr3)?ng?CMg9pE&ht!CQmA2LnX1z=sE{;sHlpEQx>1xy2TPooym(V{smG-6o8{7 z?-o=sc*}J&gaHp)K^U}VY@r-Or{0sk?JA}B+&pTJkeV1+MHoGQ+K1h$!(tXX8*h9@ z>d%)nE}Q7?7l;94ZB^|zA`7oiJTQ*}Q8ZgZ+K((<+^>}~Li8w}tkZ?ZO9PNPNzkwM zLt5m2vQ5d3$oDQJM1+TqJr+NNFzv0>2hikLWPSwm&CSg^;;#`XSUm!PZ9{O@FnbMh z7mqh_Lg)^g*(B!6@a0@2%;}vv^qGH-10?>a&r`zY9Heo%vyu&Rkt+GSLUPDLdf^$5N4*av1jbf(uo|>hH-NU__A-eZXSc)eSsDFxT_P00~yv| z;oN@1wcP`^Zoo|k0n^{_$3g<{XPBA(LQtlmXyG2#qf`;#jk)(|lbpsrTCWy_Yug&N`_-i=TW7HUWbdOf`n zo%LVQz1S@asqYrJewpjkO}{Ch$yojMA=)riS555@b%*6^vI-XhUtl_>;NW-Wi9{p* z>JNO`{&{*jzY1I;7ssN6(VL1P+a_~`bYiL(f`N_YVuvDbUPKqu*e{U&pvnq9yQKLL zFJ;DEYR*|Ywtlhc_1=u(uZ^DeKEh+@7@l7e)!2;92j8kIj;w8b;rQBti+d(2L+~o40a~FXrHPa4Ddi0bYUWceCi-qf#m(sAkYJdIY$q#Nzb*Y z3?_{p22=81!9hdSn9DsMV)Mul4vT|k&yK~BhMYm(kA`#gLazO|Shkoo-K<4>PEnoV zzb}4T)90FlVQTDD@SB2ryS_AjOWMPD9s$9u;xCV#d!__N_4k;GCZ4*KcQr8~VOyBi z;wqG=Q+a;1h+-YUk`ngpt%M})+2k9MPoxfwCX9wZY4vwNT|6|u=Ri%^`^Y()_mZAT(n(qme$9-qGR(h0$}4^ zK4CgN=yU7TvFec7LRHLJU!?*%!n|XzPbbrd?-_KiTFfbabDR+1Dm<1@4`dN#7bf z>F&pLzxsj&@=RrTmZ|A2zKy?cbRGnaelx)r3>t;MwmjI=$oYP0OH0A35@C zTR@-#u0&3lW4Jl8VbYh7G4zA*a_)-c+|T)sCv3%|m=4VB?yhltHREhTDnsX6lA>b* z)Fg%uWyfOfuHnwoRX83m_K=%vz*q?g2`PsuoIw)90(21nrzn3y_4g*2dLG}OA7?5| zgHun8i8+*`ftgYV=RB#FAg81$)C~TQi$m(*gXB{RQ8(sQgoK5w01^4;UMP!4SeV^5 zc6M*h@$Jh|4Ux3qIk=b-=Oqe>sK|`2V09YZz&u}Mqd;ItqmVe2En(-Bzi;)*OA!Gz z@EkBoPt8Y9Q$5~xZ;d}4NWHJ}TObR-r+^cLe zJ0O6BTpL2alXa zvSK!UAOkqP0n{cA%0S4siyE<}4TJ(F1wkw=`*M0U;4ymHsq0;m!~H$NUTR-z2Rk*j zbvTYhr9#LEnU>wUh1Rk^<<+;L44#Vw(Ql2bT_v$6j87O$B-Im-?Z!5=q9PRzJZ(Cu%%MK|w(Nhz7*F85z90pP1@C}RH-c9!tFVCqZ zoR{A}Qn%B?aD472d8sL@CYpIoP!xJ)^Xs`}O8{^0zRn9btS+KHKbAxXPItYGj@Quw z)v>ry;tHX))hI0{#+R^roKQ`FMWO7{kVI3UnH|Vq76sAEJGnUA|0K(yajlbqL?AV8 zFqjyvD`zo;Dwskr<1(T8T`)9bKklgU4c8BBPDv~&vPC_1D=>&N*oAT{=yMMrrbS&g zm;g1@IxS^oYeC=9jbom|w9W*$byeePS;x3+6~m`GQ-XY215Qm4PfZm063(H2N}~D9 zK5sQh6>)_OXSwO<{ZW(6;Iy{wM}CPDsvUVKANR+d!cXi|S%+HcUe(d0eS~W4Z~C|D z1zlxolUktA6shIwR|U@9yXoE43q$o7>Sc9kS|z|hwwMVc&~((|OK4u`(d`JG`v?NB z)N$aE@dV29QBrMG>&M_?Q574cs}6z}ZkNj9vxjOew3hD3p_f1NSny+)-FTU$PVXE|?yL0KUt$mJJfnVuV2ZFlfD8lte4>HJp+01QJ~;8ykqW)z%CL#>K=8 z2X-9Z`S{l%*B#137ZlPw0|TuxZ;o+u=5y)R$b3kB{Pplp3xcw`1^cF2iLKFd`4=T6cgpn=A22ZSj zWd4b@tmMg)Cna#(9UOijsTrs_*S~2_VaD*?&NjaZ24MaYP4<9~!ilP71ig#0y6^#0m z`UJ%ncM7Dl`kO^XMJ-mZ7(B`l%MgtclgZJ^?3gU!O`^c+%H29-tJ~1Jy&LXGYU>7a8&m+w9!!+^VI)a2J6U~SCxU^<*2k_2bKO=_)W0nO=q6v@# z$o`~4v<8|1T701A|&HRvp!w! z5-1WbH2=wUP@n~$@fcVVG=eX&c0t)kWI`Wz?rx}}0)=JEkt^=Ncl98qG9}{X1W@FW z(d8;*OM)`(K5o@tX(tKQ4ZA*jwa zR4J#*s0-#NR@+VsjjO)PMvAOuzltRM^ccLQwfUwy*tZu+FT(0#JEg09 zOPS}!l^|2URgWmlkNXcSr5k-)(k;1AxpX^X6)Qas4LW1_U1;Z8kp;<#PZ(x-U;WEBJJ5l^ z+?en*FgNAxgI0}}fCwCCad&m&LNy@)w8trP44hqY=FQ)C`TU&c{Wl-_kNFSD_uK|V z4n2Kb4f$ZuxNT|bi_%3fiDd+5xHfs+qb*3SJuKOj!0UA{9>&KD5V|4mnW}|TQiCCik*HJjEhx0>DGDlilT}aYP)-T-vHW%i+dC?c&WgPrVWF-ABrb;u)h9`a z51|_3pqvzH(TpvbKxCevU7vnmtQE!z3bA+^$x1iTJ|cciR8&iU7pm(4a@v5Ac;e-w z6-F6I0PrU1awRpmi8#-3C4pG<1->13i>$m3W!D}zDR>F*+LzRK-E)RR%x8e0JHKvc zH7ClU0wt`$>V<@d4{fPB_5c^5hrSpO?_#*$25>%{Ul#3s>W#fjkcokTOw~z)lKn{? z=yLTxOI7|ctywm*PY@@CG#pSvA@+I!-oQGA1!@x_OfOI~W<->j=H6|he@ZBotYRd& zXn^J)D`B=F?DYX+^qMG-=}&1STj27kh#H=S#yhv zjKm<_IPVDGkzoj}zGZCR3SgZ`YlHsI$gPs|3!=dhhYQGwchb*P|Cw3bqd?iA$q*XC znle$FWrsRf%M)8SF`t0k-Vv<)83XxqJzXCYh^F8m!AOgpeDJS^<54mAe(c}%5lyXT zMcb-v8{mkl&&pA2q9&V{AkA$E*n%r2xRuC)JvK-JQTm{3i~k$D;s>qseTajCw24fO zt^9#RxciPx+N-V63UM;7{s>r;$8VTxV}t>pxqU%bK;6K$g>>hs zlYXMc9p=~)IgU1c;u>+~es4VUz9#A)1fFta=3Sx}-&m}r?Z9tDF%@F(%5qK{9&_6{_ zs53tU#Z~r#ZC!v%9T*V)#gvxFHD<^Tqhk8912dC}iiqY$l-oOSfycr3ju z!izyXXd~kpYXl_Nj?6|7PpBui17l{%(o%r)P8qb4j*bE_SHgC~6XJhauB5sFN06M# zFkbL6WwzkHIkelQy&LslUp&qE^($LH0<7!QeeE|^CrCQCV#B5sWG)@h0 zCv_x@KiXtv9=gA(NT$oF+82mEPC?WwnQve%;|WraAglc<&t;1~6e3&5$Z11EKh6qy zc>fUq@jdvq=WEruVsvm6A$VCT4qx}BX8xbyC9Z-NRR4kd8{ zzyJ$sglQraD#lw*`U_|npPftmL14d~AMStK9=AC9xnm-Du4P zLdRm*<+Yf8?K!GRetTKmQcf}I3$y~(;T=OVA}9^SsuZh5sFcW;HmyB(fUeZ#l`OHc&B8b+&OTS1|^J=0#BOc4o`;?xa5$qu=>e&BwVL2Vqy#g_-o_4hq?P8wwM>B%(<1O^;vw(x8ezaK7J+6CV!MaZtuG}O7&DPLjTw^= z%~y7d=DbzDSIZm8;)&b8Lg!>L2}5Z}ZJj^V>s{I;1!=bBA@9;Y^Lsej2+2+=IT9S>f;(Z%!?3SkySG%^d~|C0oU_GxTIUm5<_m zi!KIM^-f`yq;MuOHZqgY_*KmPdD=fu8i!s;3mD|MW<_dhy7v3yZOaxh!-MwP(`=E~ z-r~gevPE{gj?@R~-z|cONP6|$4rHnCgUDDQstk9pcAC8q z0(!^l)WJnk&D-w!NXV$w+|IlwuawTF`aIBYcEVH<8V5`uCI$}Aq3vaiX9epSRtWS$ zkKPW?AoE_~S=tXKict?5-xZ9h`1V?E%LQ9g$W3xrMZWh4jXp4==MHz_70=5oWOE9w zl)lb(bXnl8M&bzp8}$56vF%yoYW?u-WMREk(J;vainLp7wWo?jY|VtC2z50-1B3uX zOLM&QdBq3e85tR=vTOyEEj&P97k?j6icq;OWNhYI$+#b#gBT*VCbru-;?VyXwiR>i zs?MYP8pijIC`M&pZ-i`XRT9y?CE;QvGI@~2Prss2?z`d8X5)eJ$Y1C7Vrx>q81hBe z?x?ce#Uq|oGZJi%t$6zVu?|EEHcI_h$;6QnZT~w}*0PZu1}`r3wv;FeZk|59^Nxk? z>VvhX@)?0FZ;}m#U|XbrX0|vV^IN7X4j}o9$MFuJ8*&~uHL#4S_Ue8iU7e7B{`)KrcJ8ASfSc`|RgVQUTy-IFtB3(Te3ZrS zSrHcXzDP}Ht4cd_dD|pz6IXAf)nc|^*vl!IaDuR7UZ%_VtU{VMB?PGBLbHnPs!Sjl z++1WebQo^9kd0+e;#l=89>=JPF1_0Rl6{bW&i$DK(XgZWzr*Xif4MZP;tLkcNVg{aP^Vi*Ju^^t zhLC$}sq>Bk2J$`N1>%Bsie6uFTM}cI{wg1^-F&v%^vHEIWWf0P@+Z@%=wO0x4H-un z4R2v06+$PU*i5*K(gqgdxx2;M_Zl+83bD6OS({j0b;6ty!-Cp*{ytXTcT)NVAn>S- zr06%qkU2`YKRD$mC=xo|!XY#q=W(u`np~zDv!ZZx%zkbcF}GRb(RsY)edgP0#aR-> zNaykdBSkCS-tphuJmMDoU~zGAJT6jH`QIUy`mBw+GE$?^w#KE1xlq93XC*i=d*u;| z2D?{H%cVKd#vCGx&>QMgeeGREmaqCoMucry_XkHL4YK=(j^A}esIddL_?VtLX{Ebt z=iYr9A3)1%rw(L;KuK@}Y&h3Zn$A$!7+!9F91|f8%2C|`(aI_+Dy6$}Lu;^+jR2p( zJ6!)BkdqSgv=liqhHv=u+&h5?lUvvlf&Z8t@`TgttsY@Qkp3+VWmBD|Rnofl0fFF6 z!yDZFBO`~Id8$J>!(xjaps89iDiSt9xWOvK44EvXNkl3VLRmR-9bJGSs5|o_XYcGF1Pa!otJ7IerzK%X^3mdX=f# z9Mk&zxVOi`P}MT@ZL@P@;gJ%Q5iUT0&w&w~CUd$IS~&he%A!u0nVQOP816{kwr$%m zbsczt16QXlZ5^ue_Kb*dQ1KhK4d3T3J-x6HWc-kDlGzDU zX3E^)(&us?pX=#h-+z7PrzF!4#|x@%%Upl(P3mTWwTZ!Pi^i&RdFB_Px(jzT9W1kbDoAs}aCCj0e=$*L#5RdNGgY1>jIBY-hYa_8G@s&Qpt6KSJ;j zxXF1Ws(LtdDg!d}AUNa!juMStR>iKU#%iI6&^HRN1IbCTA@TI#JzWnpNsT>y3%Uiq zI8eM$(eAOPWxaUe!N&h`1}*`&IjI=e>VqH){#ebw_jT{8f450IF&CU^lEX^e_We$i z@2eO{QrkDS@x>0@C!9Q1b@=v!E%Nu)aF1$yw{tcqV!w3=laU+o1G+k}8jkJ26 zGGL@Igq+a#i#}2l0w-z+A&qt=Xf`!9Exv!Rm+xs*?~kPs`oW6|4y}>y7?8%k#G%nu z6BJG2hWR0aJ886O@k<<^rd#^cYU}2T7ZI&BT)(n2O$RtE^n}2zJ4cews|U~9PHT<; z%ymR}BUv{oyW={BN zjfm0W3x$TA(JO!uL6=|ckx~zwh^g|%D?l-+0*#JKEq<1II_inlqMJZ9X2+{G%Qgsj z>%o3|_jKOo=Nf^SnAVfUu!bJ+OLw(d3sV9U;n85VZxcA@a-dApYhU^MiL(LvWndyn z!yggM`tQ$9@saSIiy(T0ZlPph&0v1w9?jr+v5iyNu-FJgr388;Dx;+LI{~m1$A7QRFOh(MiWF-%g7J^DGg=?gLyR0J) zOMNUOtf-R(FtlxUnt+MD1{K)JIOok*{tFgF|2jy=4mO1NpE;Ms&dwfb@v*66|1<3$ zkTh+V*4;4XdWI7=^;Q}BR(Q?jwz+Jgkh;|wt+`NLZ&eQ8^8l!X8*Go;gt4fjRs^Tj zO@v3y@enQP?0%}Etv#}QNRQt$eeazIGv z27nQKcEgQ<;`~C4d!|C1g8jgxej^~Tj3HO1y>O8d3e3=tVBYmBXk_SOoxr0z0`F(@ zSJL8QD)^oyoyZ!-&1{~Z5H3O*9FmKro>zF!cwi9GuSZ`dC!CDQW8Ow+E9-lEK5(H5 z&)k1ZnW_E&oJg)&`b50y=%X`f3LDQ8!M6a}g83{D2`a$Mi9mHGU2X_o2y_l#s7h_; zYRl7u_DTrZ&O<(HwUTIVVl?gp$iYQGlKq>6{KXYV~Xb@JM6pv zMR&OMFNzQSqhUtZIS#4lmBmK4$LI77_AS zjqtT1huUlU3eL^)XGRL=_rdjQCb&0IXA6}esn86o7X6VYDSCNxrPCe)bHERVadBP5 zVVZ7)gh*>_>=x(JzA^m>Du#nouGZi%?4{4=nP-$kDF)uqg2ps4zX2r7U+3CV*4FCb z6sEWCkoLd?m|2_hjSf3dvWOhV5wcVnR&6;9?Q;tVTzNkX?w9Z-xgz#}na|;1t@;+Q zz~-mOQWKAv+Ld+O5lBExg>rZ=|02@o**djS z(#*O3h0nPXHoaisiZA53LX*_~XBj)_!2j@|nR0xd7LaTp9Z@p(gC+u5l`N6pKEX@I z6r^PC!CZZFqSox>;VOrWJKK&f7bH9T7nNlh?tXd}@sZ4M=ua$}%?ibKLS^8|N$Fo2 zxfCLmt+CJZvQ`;Ll>nD>Y<}Uf&(rd2B%x zb6u$AC+AbI;|0COvn2p3+|bGoZyzvoSqZ0*oBbjM2GoNq3`51Ii3(vhZEvkxKT zohgzSaae*cC|#n8$$TGfC$P)sHjD0{HLsVA-~T{hgdR}de3KFg({~b1w9JY8<*d3> z!D#Cs6S45w0XD^Ul6_u5UpPPfjI9h&wjpjA&X-S9bS`;PwJ#}RN2O62iSZ=@9ND#V z1u1}Sg+d6k7y$GehhuD_?sDyH%e9atJTtF-ft%@FCsV1^VX#WE1(S;RorvcPFSJ3@ zL-Unsj5NLSH&ipB)i#wfMQv-9B4mlseL;FHE6Q)ycslG}oS%DGuV(u9Z5pgaGwWI# z0{VY5LsU%k%wDARPld)igoG`P;f}(7!!dx z=I7#)9n7)`cdUd=({H-%4Y7(JA~>hPM&0o?dp?I-uL{IJjlPUSDnxnlM5yj7Y8R(mg-$xH%P zxGhexx%OAaC)mLTDLOX~uN`~I53QD!67yUGW#i#@pWV#V2xGr`S5nY_~!TF@qBg> zNk0T*x82Uosufz5Q=iL1HT@iT2zO+EPTqky`9}6mS`&q0`h_x1+3Y0{1Y5W00f0vE zYZxoKVxdWgqX>8WLuJ`GJ}r7JQSF>b9YD&iLpPX;f8}|kP&K zW3mfi^+Ub8{m=Jw=qA4OfyY+Sv0ehY6U!kgfJ$+5)}1x5_35hqeliSr(-w6OU;ta` z4`p`tzF-4?3QjYwMhBe4Oqre;op%CGi1(oROJmM1;4(#a9}{jNFyg+TjgLI+dEJ<% z;P@CQx@=7fLeD*d&=XK$MX*c+yxDP(T=iB)W znkX{gm=RaHfAdvk41GB|!C6#u`YHK&AN$^WM+hgRKXcke(%4Oxr5ZanB63QgCvFaC za?Ny|7nAc3Lk-Vfin;AWp`-r|{{KYl#LDqkX(k;P9YJ-@;|Pb^1#B`O8MtO4clQY{ z>9IDNLcH#{Aa{klTX%ZPt%NB@B-?q*-b)d%6_o&jt@H+nsZ}4YI4=P4VlsqbeVKc9 zRmQQ^nrU?ZOdRb;wmpkdPjH_JafJX&u8YqyE~W?)HU@um6SP|KsGE43H2pM=?YA+c z;XtA;pQ^s!ee;1oy-0*{Ay%w_i4@CJzkX?S!=L}gJags zwh?%0$t)OmNbfXqT<(gsq4$-U*JDWZSGRVygwG?pWpZ34` zL8{16d*NvQ8lFI~Pv5iAM2b}GCWxZ;%9Bo}J;v-o8T6Is>ScjNsfT+qnV`A2J<{Z( zaLDj)Cx}UJK~h?1{joeWIC%FL8Lw6f`O`R;Wrjy>Gp_AoMM<>4@{p(R3%-bww;+hW z4;c=)Pn)mk>_0$<9qHV?<2%lYHZV&fu+{71bmw{&`S;A@yzv>!UjU_jzh3l+SpWb$ z-a`iDeq1gN9bj1mTbvcSc5!YroKzfNe3-%_G9#1zqKocYqyLpw32YG#snw-+Cu%IJu>lUI%|eSbQO;tyzt{fK zW|#Rzf=QG`hK48oHz)QA&VXg(lPF_vd((TPJsF!}r=yZzu+2?S=oDfa^9pY^!f(A% zNJ80h`)G+p8Q8TMXNi_x-Jyxm&PgeB-ZDcew=uyzP%@F8)w5Ph;EAp7TeNo@5@9LH zVjYoL<()3;xOKCqC#y;Py>aF?It;Cy#=+eW%xkZbP^Q4}U}uglu;8@``&j#U9VX|| zz>h<*v6rN!|HO#kC=0=9e8HQSG_*OKe#lu7n%QkVg6jjMN4yElsgOEiJb7aC2&-0B z2%B2IOcz-2Bi~C6f+d&I(p#VNv+Qvj?C6X2JfXbtZ2GXY%uY>A#pHUG{JGWOV=7zi zCO)xMBwqipvP|`0*d3H6J zvg2CXmP={j(XQ`z{PnLd0T+GNScH%)Q5P0r(UT%+{84QxWhzvh%z1yymw<1<4I^e` zpo~A1;2x|d1mGWI-c$3#>8!GOQ9qj2+}`cAkKPy)T`ug)roEJ`JB5gF@8eu(8$Sj3wAt$$Qiwf_xW09hYX!i?a zVq-=}M>UQEh9nUZa0eaEGVmQqW4PVc#!8L?;J=AL7xa!$6r!3EAPEFL8{G{!1 zR!aZg8Z_b#7g>uxDc%L_=;&Q1eeq6rTn|l1+1k>#!r7jH98y+RAso?l5lM07e_ga2 zmE<&Z7=>byF*eY*rrU&X9S9K8H?TXM?ddzX6Ap=z&7-XQ&Sv5w3pi0n*s55|;L00D zL{2AacY=CS<^B`VVtX^EI9`z~=NE!I_5$k@D*I}xXKb6t3D1iRyHMp_(e34L+B{zQ z?7G;WMmC@0N%~2hO7RTcoTg#CgCdE1eM2Zzkd`v*LTKjpPiL?FxZ31&PVk`GcGh=J zrLot|UHL_#j~GJifyy=x{3Q899VXlwjh@&-p=tkT?&ZpOYuw57QzGMcls%y0;S3dn zWhy7iNHn*K!6QHFX01?1t|7Bp1@%L+h(OT=xiAdIFTWTEIXTfPPu=Yw;5xe`1Y{NO zc6cYMo<|)17W%RFU0R=fA=>#tzJuF018E~It;TOhMTKv&=Lj74ZkChQgo9AVr_2pX JPPp9uKLE5u@OA(I literal 57131 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 AJpcdz diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index ec25c171b98766660cb9d1b6848e9de5a217d3f8..179d418230e8243298ebcd9ecafd734abc411e39 100644 GIT binary patch delta 24920 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 delta 24761 zcmb5Wc|4TuA1^*7>4}mMAxeu%wiGFhit14kvXm`b$iDAxeIzlE~D9V*Cp(Z%uuH;oKrdcTO=#Hw?q8d$?sfukt)A`n=aP>bu>CIsc1KH%}m)y zMCGLLNb(*ZF5cQ)i%W$+55xEDUduA}$h|Vf2irkQx(gqeSlquox z_d%vr)lyKo?Cy>N=#Wxt)0_Uz)i0;@20u6Tj}2aZR^=Y;8gc%INs^VE@`2`f9nPt} zheD(FT7D7wa{kwgU9Dxej~eLz{9@H%J9NO>?OUaLU!GLOsirSmKO{e&*{kVntv&F? zLhVs($g;!-#V2u(PaJW)n_ZAi*{rI$&?Ayf9Kew>dI~TU?;?X`XcEaNN18g(_&tK% zt`>T2P3p1QGGc_}vd}C!i#ik9_4DyW%crR*o3fG40`>L6;TB=TGrPug9Of;LY0tS> zdO7B_oEqC{7&t9$d6)pRs1ZsQ)e};AFY}6@ z?P#r^RCP%rITaTS_mo#>S!Z)%+z#!R0 z(5Uz&JX)D0+%{goqdd0y1}$KBpx4&?%q9Z^GdhE*gst;uXMzN;8NiD^^N$+@;{)S< zgkFjjN#_Zc%zqZoB@ryYTuW;3-y<xh-kehzTrcHsJ|;a_!N#ReNZ|K9gIn?sGr1 z!88eFprP8Tl^@)^i~;OF8XxR(Io>51<>lH22iJL>&t@w2%=Z<=tS&t|^Y-wq+=KUW zZPksJazF39K=8vC~D;$sKVN-Q&R6%i_F;?hb2pAx4Pu# zKxUiA-@Y|JoYZj>?ojyfjzIF859QWxO$!~NkSlBTy7RGV(W@mEUQDJvk}=fznWa@M z7yO4i6LiL%&fpE1yy1cyDF5C4!n(Ng?;H{$NuN>o zqjDucWBu@RbZEzg=!?edS=2h>N9ot|Z?64(eQjSx)vNts2*lAJa=X*IDpg3lC$_v6 z8%5k4!ZUOAKCRnsHCt|JNsCKu&aW|;`A!J%d3VDoQSYZ0lsStB3g{`2SyYH+v^S`jN;w<6JU_8pj&)ROp9 z?ZpN0X^&l@%FS#QWtBLjv6@f3UNZ#l?cP9r-^6)rRnH%8F}bN&j18`{;gOEKJjNgz zj1q_V4XM?rxdl=_*3CNhtQkCj3^kY(ORyU7oM{#kf)DUbyF3;?Urhe+ot!{ynDo%! zaWC^d&N;r~!^Mz;BK=S0V};VOPH!>mj)AOnam*Y!t@w|>#R|^?=XkpU6u;p|F>f4K z%{{P_Co5*&e~0`a#S>rN0k<=VP8jFFt)cn9D_|eXV2K5C|9aiv8cpgUPM(LNAc5N& zsOA-4+EOaM7wRsqAIOsEw?U?2B-Y8d3pXGWo6K240-dIlkaBIG9c{Hu%VSbbs5y?W zai7)W7f790%Xk%kd;sJw`{{BaI&5EKRKv$Kl#q>10ut|g{C5>i^uE2hAJzjX*aWHkWKzPVIG_5|s;_&EJOE}U zK3V$+_A(~d`);v8bV7Nj7iIx&M2mKBc_0%PV0w$h#)dA`B>yCES;y_61RwcXEy)7u z52p%Qnk}A-7KMEZDB1I&SNb0zF3hegWT2nz+xx;1U1(pSXu_erSc#2G zhPjZ5L8pEi$x6(RuM|!fmP)>y*1&QFquvtbpbIBpz1#wO==}SxeR_L%=RWDJGuW{J z`K_o+n^@I@I}RWszLGgL97_csVd<%QM_`AG7wdU**PazD6Rs(%geKa=T|0u1=g|q- zv-W6QQQ~O|Vh>n(kM>WSq9pHbEg4HGZa~3t0jsqpW(cE*b%yE-BgS@z>Q zK%M9Ls@2Exiviz9{dlL#BX(ocQ7(UlffI<`JiFz>i$Wip3SKz7OM_kGCESb->bQYm zKg(V0Mu6Z;h?57D$AxDomQzoj32J}?grb;B9`1DM&VvZ{^V=2NzxJtrs5*G--`jXT zY;7X>)H&GgJQ`%QeT`V-X%s8!^UnX&C0f;(L(570ObJ{aZNhqmVeU8Dr?TnEe)wBA zDFH+W57f%|M}wy^9M_ODxPjxI{0>r#`(Lcs$KLVU*1bVYLuH>t=@c7DWH zu%5ikN6co;N3|?yf2YxKhl-3zsDDpwUx{LE*=lO4(s0~IV2;3gSE!pb;B~IIdP&>o z5{uaTh9ws?moPDkVc9w}h|fLn$jm~Rt0E6pB=x{&T&h^23*tjC2R~gx;i9rnhgK%O z^dYvLq5n~u(=f>U+K#TyoGS9GyF}!^F)Cg7?jCRE`hXB0pE4oXi|9bD_(g(QBybF| zh>&^`7P&}<9@nsPPDVfyw{r-vD}UYzdq$jGbd~#BrFnCQJ@OE~QYMy5LRA>i!1(n- zS{qw0r*_2%8*&`IbheT}%NZ1xOJj|Zp`U3Nd1I$4i%fh;2@}T9`XdBw{2CSxOLq%( zK7ls>H50i+&Z$!0UCLpkYLtnI>|3{Atf_} z1;l*KZh;MBL#TOUNiKQ;W$C#H7oKGI&<4Ku3}2d~x||}z=w1s5J40<)TYLp(8jr@D zcCB4%pYsZvgkN4JN+t(bR4(517_zI)$L)xRuMc;@k#E(P-M}^ZxBu1_ErliXEw*}G z?P!frSN`xm9rGD5Ux3<>exp7E^nsfrm)s0H{uCgYj$3O5$hg#FUAhpxCo=N*vRnB1 zEs@82)<(Q=Ith3IAw;=T8|OQOyRS;5-U13mTDs@sS{tnuBOYzZnwAVD`bGQCzK?{- zNNCIEO`g)OuU+LEGv7C1lLfqKM>p+N(I&eM{`Q6KYHN}i!BK%9iOs9eJYj}5?$74PA2Y&}b& zw39e%J5z1K2aRsxdeEnhE|}|Gp3jK6KeH)q+-xrwys#z%HFz5KfGO#$zGa(*IfQN+ zn0PZNNXTNPovEF`Cx?!ieiIIGiax&6>dDIqRkyn*lB{X^BN9&oRhEhU(baP!NWmLP z=uW1NaZ>#DN@;NKxi73YCOgvWtu^=2OZH$Y(XVBa-08m+iHb6@P{@}ULO6I8Og3A# z4RJ*tfOhV?{e-ee!>Y@x7Iu`6q3<82C!y~f<>$UTDIGTPLnp#Ds`$>|*SL)kOsapt z7S(@~&yv4PrvE;D^Dc&fT$WgtF*8|{k`jelmSoKQn@}oj$n@E`1@{ze&l#9D_RK}I zs5M&7Fg0S?WMg0U4)1%W>KqOXV`bSiR_M@kDvjq|`0&bM4bprFEs_EkFrYzy^E3X& zq(-ge>W>23N=82L#)ixzwh)O)Bi-9{eKt-f zv!EhI$#FWg(KN)KS~nkzVedsD_IkOCHqg|pQ@4ce+VAzrdnd?5E8EpsnDVr5ak!nSNaWuenqXwyD%!-qS*N;jC-=ZFN$xJIFxWy+)*)R-3y<`?zO zGU56MEF0}iuUD0(BTDzjY1!ACZN7phfN2I#=!{Ik z9wx6IZ#ZSG6{q&e3xBT<69?hF|0?+%1!)=~x?IzvKR|@XKAl?Dl##h&hnjz;dR3&( zboiA`|BjS{yL+?6R;Q679WK{7<6)KisyC!Vc6S+&GqpugZK-6Er1ht)Rj2&kp%3@z z5(yW~HGV9|M+(J_S4z{C{R+ln^y_jWJN=#?j3_L-sU@Jm$G`4e7wu9$LjCmK*yL5d ziypxYsQI&%T1{z^)?W7Wxcl3%0F9GRvwSzL2-w1oTK?Pq>IK6q8|58>T9R4-#4 zqK3C9pJ7EtMFlEZlA9FXMHjE z|6SGkM}TxyOwb0vcMeQ~;8#p|5G#U`<{YI$7|h4>LdiymWVxC&B@=9PhqSd(0J~B053pKo0uD)6m%Y|lbk@mxw+LJ zJs7;A^=;mGwAWcL3NnFB+df$KR3^^D`H|~osuSaQ{WVBilrE8ObZ1@t8f@=y9rjy% zQuEBaPer+~oe^)&M}C!Gbjv`L4v&ZPk<-3kN&9p{jko{OHiF*YXcVaULnD+)OR{Xo z<2ARJ9DM7a6}SBf_qW)(0rg=&TMP~={C3;H!3j#^gNZwSR6s=n2p{0B$|=3}Y1Wlh zor7NzuW?~jp8!ul<4at&$^NL1O>;Fd>q^K%sp##TQh|)1jO(PJn7o`@oI7NL8lDySX&|?&t-GnVrZ+?CnLn(65cONXKRIms#U`2c#=?LU2i* z7B^h*f?I8Hu%qf&z0@fwsY&v(8d(mec%Vs@AoxWQIE_%zuw zhw*+1GoX#uZy*@p`rEW0T)=ul{H=NQzS#*y9K444pAg=bMPgdgkv(JZ#WZ~BBhpxX znN{P9$jHIZR@WCtYtetAf9q{420Bt1td~z-9@;uSh+gYSL-Y;JroQyCpjig%%cWu zSm>pGFl_)MHd9+LH4D$!96OWpYS_%JZoYp`KJtuDXGHbx*JU|#I}hF`W}HwW z2#sw0$iMyW*pKX?3OfriMtRX?Ik48$^c{QFH(RP9e)3TH@hqlmlk(j-h_>XW-Vy*1rzncW}3rg`Z&8V)pWKjCmVeIM0H^m$~F9#7~sym`_T?Hbo6hnfD2O#PR)4nSsJSDi;|3}O537pxRD zLXFSDTEn-b%fyM*Hn&0-ydlp93`!n5(rSQz5mg&FV>*sCb;oHv~rs+NpET<=+m7v$&Xx~wy> z1EG<&Z`)k>cI<})0ug^B(W)yj(f!+HHlgccOG2;VEkRvXvZmfx&1jiq^0tWwq~q^) zO8Z!WzVY69VBTSe+F9%}UORvH*{OO16ag)BZ%nkjdnUMhVtuU`zk{^=o+B zTF_G`@-B1yD^%V+I?5*%aMKD%sEYT3xxrZ_*AWxEne)(>lTiWUs-zSKTflOjBme-p z;TkiyUq5nflB9YhGl36 z7+7E z3Z>5tS9WX-RyYl8S5@3R&N%cLNWr_ggRgsE$mi}$AZxNoftZ)5(#RF_n2`4&(WLsh z&q$SA9WQI7uq=fK5gt|8*kxrCg8Wpe_nN$TbwZe17RNLSw~e5-EHLhDK}t0h9oyMHGQZfZ z8@igv?&L>`q)b?1Vq%30=zGP@%utM_?nySToUpPb?A#3s-^hF*=#iE9u1^R`I*Z(D z;@1_B3z@rp#YfOfwFQffv1@w+d|CKOFeP{Eh-##$$jJN!z%kU)GBVB`k~JHosZs;$ zt!F}*p%}nl-Pik!g+!HIi|u5AtA{Em0n@Oe*}z^f&17Qc^3$WiFkDo}#ejH5B#Tr% z{f6z|9IWwaewq%se)`wJIUsZS3yfauh9e_+z7cj4$A_0_O|!Z{K>Dsm2B} z7ksHTE=vtqhQ)w9Gb&u5AZ+{*Aa8rO8w=6r3Y_pt6r0s#vlpG@J?cQe& z5*aufK6tBZ)$i3ELCxmPfY6ey0@I15&Xa=-NBe-UTQB!sDq+f>PGIR{2X{x zMUFPEv+if$pHOBxlHqJ%3;{Gd%w9&)y!u?f}QN}tK^bPjbEYvht zy70B7+`Kb#AE(M=6KiuAI0&bm_HP8YWOLD%mS7W<={bTx+0rNajFqsBnDIWY1m+j& z^nlAU+{(7iqUbu;1ldF1=Y+R2C|mj2|pp=nA=wi;aZxmX_f) z54}kb`B(+vQZSq#np*a_BW(`lR5&YKX@1eC4CCUZc@F7K#w>k0_37{H)b8uw+bdnx z;}kF5pmw_+XUYX(f(wD+p;hTB{if*a!*;l!tvR7@}#8Oy?^&Crod z;S`B6hEg_+4QwQV(Mp9_*!b{2xU@?GEN69^4|u?mU=L-rMTGdCXUum*;o@VCH?kP- z`DV*a6Rw?Mm2~!C9I4H>c#BQ5VbP*Y6)(2Ln;Y2lU-~`bJK`~@E}BO%C6@zPVl- zDB=1Ty7LYE%0BLFBY&#f=>TNS5Kam3d57$d3YYV@!N2DoQ-U{;6J4t35+b9H#daqF z8S$=3&$kFplJg&C;o;x%*Iwp_zhPHD=B^tafxk~a!W;5+qx>>f7iwBm(m0q=ot5E` zv|he3bg@cOhBF-dL!NHQdN4p~@4i#_iLgEImuRN5mb9O}oVw}8P!eXJ9CSqjRpgkF zz!Tg3GRgo&@=m$Q$ETp+5mHdQHe)^a+hN@;mzNvUAjVhFf1xWyE-sHl2qK^y-+oB- zH^dn17M~sf^WS20;-uBw%O5zTRh*XqKR@#>HI56n$mi zd!q>PwE8IA*jXEBK!p4FJao5O)|ic`Q%4ku)BcI1!9ge~pF8ZVI=wsL5FYK8K*1rA zht8QC;1-gNRm7<(TCBcKX#yrU-m#`3KX@fv;vCR%LIs(=4};e}NR-%#yH@>qF#$pr z9vOfykg?DfHm-dg7|+`r<}sejsMKs|m}TkFEZF?|i1%8d1j3gj+9t0yq(q5chMvL&v$A%ro}hYIxpFJZruOWgk`Xx&;BeZELEb%Cub znxAoUTmO1}vdn3q)TGjRXidGV*9*jcR=1#LL1TgKcDOh0Q~p{ByHv9*y+?hTjWLui zJ}PE8r87niJ@R{)C0DatBPlsiL*T@&q%q<)9I5=ymHal%%iz0sJrQHyKCDUnd>Ai zew*{P3Bgmx|5J<;Ro-7Oq!asVF_h{D`OVflSl@X}+yq`NUnX2*d6^Vxnhx!Ifiz_M zg}rsRZjA6___CK_E1SRZI?TRI!7^2&rq#&E)0l=r!We;dLrg`^=ay9|QF{|#M=#Ks znfFRJhQIzY3vs2)XDg)^;an`3J*T|Zt2>IIVcSx5bilf9dV3#H2?Zid-woBnrJoLi z8@(m3ngG8l4gwSlfc=Ta2#xhA970xl9l_4RWo{Gq|mVbsx=Hh>l>* zao!w(#()ioUUbaQ7cfK5vd8m16nJ&b(#JrC(iP-w?!i9K*F9)v={K4)@qQpHsEJ7& zrMi!Jwqz%^P1OlYaP+fq$W7sl2$2T;|-*jG~nMdhVQ6pKUdel>*wq8(%@SHzz6~zR;qN9X_reya$ehTbji)uZkTcS_ z7#}K>H?VNX$=bAdS;8S7o~+LaZpg0Yy|A8<^lY`x#Lu!N$fh~pI>2V&;ixN0xNb&t zgexuZuJ+Xci{e^2;A4oqTTtdyvU=ICGUQz$F;^go*!(G^5O5~xNz&`%N#O&OY0E0XI@n<B^XN>*hyFo!JXy_uQShp|I3};0O}OQt#5ne{az(j(UhvOj!Q8 zz?uUu3LN#(QjsvkwIvgF8kHiRw2rqXeoxi_GHM`l<3PXnpieF@fqRLcUnP_7S8b2tCySp`ZU*Nxe3EkEATvQ8%77OTAKFPjjNoC%mse zAhH;8{VAhqKGeQa2m)_VC>FXFvEK0hTZnZIA$6(Q5@>+-jD+DAhuIefK@<6%&O0=GrX70t>g@}DSj&MOc+dlhQwT)V%CWA*V>O?kUvuk$S|F_| zt<*-Tu~=q0;L+DTVc>$JdU8QSZNL?DXHS^$1O1havk>?1UiFthXwt@|=h8mfxVL|K zVHKxS+fjk4aFGZm1rgHQCv^%B9Yxk#p!|p0EZ#WN^!kmclzY`ot5_}8E{)h+3zTu) zU@$6g%)Gm`DhAxUwS)xOhv!T_KcY93cV2Gu0FKLsJ#O=ya1enpHj&}g znYvEuR3VC8-KEh245}+S1M=zj7oL6KLnwFxUeis2s8_NXBg7n#kvGhm@N!oNK~vDm z3o69vw`_gYbN7l&D6LVVWqGtVfySu8T7G_Xb#bgdh>o+0vyAuXe_-FtVlpOE?X!S! zW}h9Rv_T?Buv=AZR{fNj;;;;~VO#z0j5 z5PB@o$wsJ_0E`;xQQmK}x7BP9KMt9koCHQ=_FC}EhSnYT&;!ynllw{$v%WC^3A&f= z_H{3<1GaA(OKo|`w0;K!0ehGvIO@cxxyjZve||hC zvy<1Rrl!2j8;jrbAfZ-dgyUnH!SENm+xEbeAx{Wlsw&GYw0_1-aWRGq*RQ^D0w09TGf z&h~eXgI--z8Mq3P3U9_+5Z?mbu-4IZj-K@yxTyFi6N-#veBf_8t^^`#k+a^`24!`x zJoUR4d}F|p<#}2&Sud%i#m2^((HnGR)vA3Z37;Q@B}`=?8H?rHol&EX^rRm4kBf`j zSDVquW3x5%BinO-1Fc!kxAk7}eqe!}1=vAUywdZ%`Jn*sDb1~$VPccO&J&OZM zGkbo~fWIQiCjSDjj>wGa1vTRI*{1Kv^x^`?aLPUECbB|BuJL8kwRcu$C8+WnnOoonIcdityZQ`JY%7*rl4d-KBpOcDk!!@gJO4Hos zmu3HHbx~qYB=}N9$8CxzG~Mqd=&|9$sxX?Faew#u>AgQMGvE%l&~h?*N6K#FoLtt% z=Ng_D3Pr{!S+>CY>{1NJyFTemsQ7`_kq#qDFO~=(bc&b#PMxA>vYK?D%+T0lSf`dRis=&zDK8-#NLq`jdY%OHQ2D~_DcHEWT9Lg;f$E?f+7^PPG{*m zX)Jl#>J}*j61W~DdyZJY@ihKD&k4z4QC8A!30U3;(IMt#(uxki`LdA1_(m_^FT@65 zAZHioBjycR+-49UAIc$LAUuA|2rMf_4`QZYKWo>$c*{^4<;Qbw8&A*kz!JTb1i)iA zCR;_KaitPnUn0DPSd9Erx|eN-st_~0dLi6%$MhQGITKFJv%BSj@eRoRjH)|-RNuij zpWrtk`CSt~(GGFL8wtjn0R_`kl0WuJG%jS>s|3$Gvlsd#mc8@nBU_N6YVGXoOfPqk z%s0x}ZVpb3%A*!`1}P9^a;$0G#13#{8)2i8hlXO8+>c7`=R`JU0G2YW1tC{se-orwIB+(J5s36Zhit!6N;GSOeX}3IyUMN-07;{I0L~Sy*uep_8_GFecOc zzfm2lHXV>(d**OUgl>WSDUfaFxl7~Qt<=M`uWE=V6J&Hq=MKapfxp7SUa>P|%b)YQ zgfP0zD0*lBSHhJQULbb%L3=yl?xhO6R~Uf5#!PWycZUjaI4D8FhXI~nav#^|21YS} zMzhe(X|}?6anV<0?9q`%;h@sMG_l%3vRv)r7we_riss=8C(%MHHUXZRvQL&*Q4+A(THm|J&iCb+V3)HeCwbYCZ=e4)MX?hp2>)WkaFfD9G-}lMTqvf!D6DUL5 z)Et=Nhg)dC%S9QqNnl?x5v$l42?UQ_7U8zujTOJK&u+E{G?A@CK;^vn>K;I zITC{zY7d%rJrf4T1Qg3o%JKlTx{0vWLFiTL1TBsMuc-d>LR3=Hdc}iReWp#ewzz8Q z^=&Bnwrq87Wx#1PQux}w{(Jqt;JypL`4K-mT9c(?R+X~xOCXDRb3|OjWo#{9SwIZC(JqK(~l zpkJ;ute3bo57}oQF}4ixS+cS89kOc%N^A1ACH=RR4SUoF%k6c6>bk=A!bV2=Z?;*A zqep%5b^V@0b}1nH21!vw^0Ql@6?3S$9UJ`XWQsrx1U3m!$*Fi#0=<7?1Mem=AIuxn z{@uM6Xw3NakjzPTx*oX#6(Tc3Z|J00jV4eub4?5~**Vy>OZK6F*1<=~o# z0gB}wF?6~$xfxi3`~_KoPm&ejlMrdH0d;7Vqc0>84Wo@W74``VfDk~neSVm(} zG03lm8Yvcmb5=GtWO}oQe`9gTs|lA38Kb`^J5=z#8K;H&EDn`R zjnVtj`%B`{U?Q8d)Pi1A&X)m_1Odn`^Pc;C3ErYiwo0QiSfS3&=Su5VTPLpHKR0JzX&*s-8_aL`0`t?RlT5j?kU<{~O;0DQ9_LHov~evggWRjaMi5e>W+ z0n^FNpA3tld4tC}nt$ir{!r{B4EQG4^6(+V5}j(L3o;C$&k}yx7uoZdqZPwOxsQ`? zp0*VhWQp)89AULnTQgD{sP&}g9$jRJX4hH_h8E*-UOF5g(9c1z!y}LJtML&{QJBV# zJ+jSw`wWkkHC!)w=Q!*}vVbN(c5=ldDNZ|kTgu{e3{GBE;QQFhyH}raR_=g}hmJ=i zr0n|Y_wDFU_oLI!)`g)B;T`n+9K%=ll5gw`RP@!B+_UAd`>!)g+@*hAGsHJJ-VyoS zahc3H@v@VoMR)Fuw;w>O5ZgOLk-wh|`3w?M+fv&U?K@{lm1uO^b8aC`&8dmznBQY# zvTV1xfR(d2qJUZXV9ynZRVSwE-!=Rlnsq|eA2MqQuKvQ)I{hU>#VdcFkb#88=&Hg; zjwJ6BRr-0Yd5`H=#5!;kzt<0=1Fm6Jf><9Vg(~0O*!ug4i%UtnpQzLcdb*WxOG!zI z54`lJF@ghcBk1GpecwWz7N6bTXy=yk=g*&S>tFr+{Mu-=s*EdscY*r03k-xF-nenY zHZZVep0T{_T119dQ!qclq~+GunyNDv73Y?h-vAu^Wyx9~GsJ!6G1Mn@iys!Xyec1wAgiiCSu4vSSG6SpE`%Ueb^z~%%tCeCZo+mDOO#G8^ z+2`y!iJhOEci?L;As?~p-LX2D#n4|+LZw)Ss=V9NE4Jn<6@mn#TKu5AW!PUsQ71SYuOk(6#Lewo({yK#|}ym7;8lrd4W zP@0HCLa^B|eppj8x4uM29p3V)UanclXu^+(Ho-#B=ifFu9}PX<`4efxF{z-FU| z4DPgOjxq;$%uzxY*8fo|IozY(kHC(f(=pO)}w?B$KH zqKSmxk}ugxY3$G8m6gx2@$s!u{8G6U6^0D}flcC!-G-nyZFX|# zqndgGy|sO9Mt2=;a8>6t9mvEF3F@yw7_arFM97I!x9`7Ig9Sogn+ZJy;yM$z=`q{& z{*kS1li}XgWK*|f43kNclw3t)VDkpgg_2HdC%N>(!ZRw~v-jjLT{2n!as+vp)b;-Q z_uk(7hOS}z9+Pisej2OTW7`7({U)szXK!ym&3@z1(1Y$VBpAF35yA^Wp|DWkF>FQx zPh(ms!(4o*K}wC6S~nm<%zJ=^0>BP1n@nGGb)}i+$poau#hIsv2Ts0$Djq*zJ>2>` zXg+Cd!*)UGoQ#H#uWz&p;%j6(BbdH6cka3|So`u_b11_-UeK?)ohY?uKsu*ar`tR? zSM8k8IeAB>WbT78Gj3QFtY&WD?SRp9URl{VVDH-{?02aG=KBcoXmcUV9YsaO*TM5| zJHl6<4_7SNBtFETxLC6BadZZwULrj2uSR(QHV@mE3>KX6nOie!b11w$>uP0H zRfn^Rb7v6r4uz6aib4MUaMzbU?pc6VY>_&0C^g*_#qYT~^-J5z!P8UU zd2H_~&uL%uImk_m^Qh(XZ1#4zQfhVTkm})|jkl;^cNuOc<%F^B9ZK)6CC3U+*z5_#?Rchwf^nyeL4z z+&H;Jqu9?^xy1mM5T^Q!E%#Z3toN~9topJkb|9CiKYQonLssUa8-_6(-wswk3@)t* z{t|8MR9x`u*WU|RsfNj-`1t*D_3^)F!@88P9ML(ayUIde>uw#arVE@pBKoss10IDY zvC`SV)>90i(mdwo=3eg!|ObSL3~f2C0Xh zzF8BdJ><*=SekN|_uA`(VAo3Mrp5>QiKIk$p5N1y(rB2GH}hlFEq)sHJnQS&Nw$02 zMaZ)KT4Ln=eYcjLh>0)7O|6!Zxc~B6G4VHkqBdiOJ^s+)^US%41%8Zk%Y(B*JrXah z%$&a2$Y>6_!XlQ~aN6vLgcH#@-?W1H3eVD~{v49$Q&y3A9OjiC{;q%tRUXPRYtn6* z1zmsjijRbUD$irnp_My`52XzNur3e`coLFb0V*lKEH5wL^)&4|{pLR6yraTTA2Kj8 zEZZex_qQ*45-m{&W*UL5%)jtfBhLT8u5(($QJA82bvYY2w=5NJO)M+1`%{ZZj_vO0 zIc{KJFkwBC9k_cpw0okmQfaS-2FF9+9eWUAk8`C&;sU3+5T7pvoIzB_mYW2$aebRu z5s*h9-h3k>+7Sr!q2d18VWBCH>_lt^qW326QD9Oa5Mj?gaBb(+AT++~A=vRZ1mg6i zy&BsE1m{igboS@nI6%AYl7JZJQ3S*;f?K!k69nR(yFl3XNyOgxo&WDo`+t0xg9#VJ zD;}G!#`+%4H3<}4`RbP=J+XOY7wiQ!`s@eF#QOTWO51n8t>+W@(<#ZSI#)D(7YF}@ zj1iA;LAs5=`Ffj~(#Vsmz?cbmFc93V%q?v*xHw1W>=Gnwkx)brjb{=+W~vaLichode;SphvZP zy#Lh*nm^=Y8Fcyt5aw2b+1ialK@0%6$|G?1O^G-v@SVN&02(A0)a`GS7e9O$dUZWw z{{vGNcLxLPt>r3>)=(aCzdk)ZncEmkY6ClY4~&3>msOA%bSaYy=+y+()yVCdAKY># zriA%sX!d=?Svd*Lu=Rz3HsCxtyD)&Feqp6n&jz~-_6!6o*Hg!Wl2dru8gl`KvFI;; zFnPj4_ysv%Cmk$H=;&sBo3(Adzn%bRx{}M6F>%lVv^y`g2}gT~;ELW@XUC zPLP>Vi`yjlI-#ag0Kos88xehZdIu=*LwN~VzRQt zyTcR6WRJOpg&3DZ$k&`%wp*fZb=^j@(d@yMG~TNa5)zU;rry)j^Sh_VMy=r!q)fVa z6R!@o*S1200AgnKCE;?J5^M(uXiW{4*<6HOr6X*x@xQ?Fp=6skU~o)LO^X_wTwHvH zxjz6V0ho;~Ab8*>qgl7*R=SXEo(?)D5eAZ1JsE$+7SJM3Adr_x&&!iYQy86CnBJ7no~NlqveI@6zz}g$Ndl^@+x0GA$C+ zj1NM;IFHI~orpos16=^v^Is~SQ<2I1&{O?F0o}WITR|?vaWyry^XJb?0+*ux+2o9K z{{X{IHFWytt5)x<%Rbr`DxR9a-QXc7{j@ViDm(bRyWY#~nPr##frHA{)AP4)Ra(yJ zz3N*ljRD3@W)Co-^&pMCeO*ur8W6keeY)!hkiCT1goG=O++elXW+_oDiY3)7$j;5qz68{Zk1sVdGZ`rD>V?wU;_P4o*!^ahok;nS_mDC=6WsOerihT% zQN@Nsm)Axg2QM)Vq=mA7=i{~H-YJjyUk6+Cd;%upl$~D`idtGW%+EzcUrHkQy);Tyqm73rFAW0+z!Y%w z$u{D82m}dUUS7E%@pIJ(Z?-lE8779)h6{vq%I^cU^Ylmh`cCrm^Pg8xI0iU>+7=}n zPKt{9Yi@r2i^VQ&7Hde8#A~c|x*~|WY(jh<`7=>h-LYQ5fhVpuhzc$Luna)i0judj zF>uqjIo3^!h>9k%i-8$)bB>1(AASYa4u}#&nWf%{L)E)K`{ufLxco+pG+0U=0$SgJ z8$BFoZjT|sD=MT4`=ptfPeLz$CX35ImJ_x_|FgOAODg-4G=eT0crpel%YD?Xe*Mh} z-4PJC}6ms)#=OFcBkOcWR0sp(N&v4xpzdm3oXOGJ& zp}PVv2^%H=>SO^rAHBqVmCpF^;lt`!5a}0d0Ov482$b_edx1Qc%p>{26)$ZQbzND z5340z+3gLlI!!~#ZR{Kv!FA8NKVIUr*b=Smsak1(s;R~_k8bYMhi&qJ2){CvzWwV+ zIZg4xg$r&u>!dvWGj|z5hsfYnr|mm4Ug23($bbNj9ArXYAA-!9AngwxxAXMtz>{ep z$l{R|ff_@qn}Pk7V=Y%6f-t^EnUCG?y1tKNUk1uNou}TR1AYAbjNjb!^FsqAWf=Hl zFcyWukB*wBN|fTC9!7zW=gHw|VU4t#0OT|M#vb%>=ciV3gV88Odqj?fP|f8$Laqd? z+8XlBPW^%s@7fTPi$+)=@3_;6033H-fd}*Ps>b#1H8nLef?;4_)#UJ(6(2wR(|AMg z98cq==$xYuR=PsM9{h7=VuNswHS0}3%lar}8LTi^>0%0$IE^28a;gHGKt{IBL;$>ZLi0*Qi zVO@2O<)AB^!bNc8kY)V*U~xwx{2Id@WR0o>tmXn|MQ6aG1ZyRt8jq`KJ@a7KgV`Wc zZ^ptCOhzTCtxe`p%%nYHhf}Z@r`Udm8q7ZS$du3#I zXPL)>>)C(2B$%}oKqwUGXM^^XRXFB==;Zm6-22v9nQ>)d?KBL`Bu&4%DgJl;5!{AG zucUFbhU~<-7pdW>jJ3U=aRnZmGqpm9@n@CmUoq9f938PJ^yotE675%rWqrUO{b6tX z>FBu#4KIe_qxpypbde5{UcJes%kO0O=6a#!N z{WB4VF-Ckp9|y0q7$oDd5V@dN^P4%3E8SFJ zPPGRHo2rGKmqzr7@Sc{we*L%;1Un5$g8;@&k1@<9xTKg2htt{$n+{7Sj5_Q$!1D{VPCPglOZcHPo4yW-~S{%BOa z+ghPnY0IC~tgH&s|&w!VL)=YE}%RZaGw~~*qZ@MX!JpGGn*|<|Bqg-JF2N=-G}ZyD#$qs2vS58 zlqS+Uc%+Cx>=6h>Pz>2^{FawS0ZEx!8K0AmiQK*F! zy5T}s*yWa1Xl!cn?CQx*On}nuJ2K%)_EK|IA6Iln!OM5vSTG7yHo%VgTBN18bm?tu zk&la#BKaHFuKV5HWVHZ3QO#bT1uUMUeU6dOl7#ixG)jn@=`i{b1dLBDk3G^CPXyMj za}~U=%t#K4mJH7|$(~;5TLrbo0^ky%GbW&Td(0f+Q<_~e$Mk)%z#7qY+Ib|UrT0)h zU_6&HZ|~)I%tx&*RB41X4TaSFK=G@jGkI?nwf9e+$-(@o(cRsxGJV5o-pSGN2+hvk z-r%mOrslZ|$Y5>q(j$GXPE=>2N=d8iePvSQVit{1wjq9QqaQ;2ymqu?(l8t{e8e<@ zsU&^o;qKG&+aa8}M238cVpM@;hXxS+kSPF@W0U!ahZ)meSdRnk`S^1>L*}_6PetEB ztYpA?r9xDN@qCdso((>9esSCc8xM zg9_#OjB|rfw59nL5;gmwGNCa?gwWSPNs9Qnk{16=NiTApP(kZ`KQ*NU=i`$!+huW| zxsQt}3vW@&c8zR7~x*fd#MJFR}quYah089wIcFB&Z4 zdTSHX)EqLEoz21aHxHS};ZS{LH()zOM1;8Y{3{656(4uPy}Sym>Uj$^UB+svdDF$L z7U%Y>61$3G>UG)sHb`DMuuLZYW6gL>azM1Rf9(4LXG}2V$AeZ`%|cIKPEhi4?iV)X zEWRg?NF+bqr2ffjc(&CU zm5i=Y)++7Ok6<-75e8(E3(73cB$T{|*EXsP@1kn)cs_1>OV`?_1f?f$VcwHjzvf*<>QOl~}Q@|HW;qf06%ct1X{)qL^k<^a3D z)|*3sv`XSW-k>s$-!VFhGggyraZfURbfI{UI23*R&K>2ITp%-K<(3os+FF;}tO}I@ zU$>9HXXA_KhS9Z6Tbob;fig>0FU0L;|08eCTA)*6$^pqg7^WOlktmu!y=xx^POZUd z=v9QB`^e`C9!pA@@gETg7+K<-O&)GoO(+W~jET0D^CLhbrjNxLxy#A))DT`_@cxUs za@THJfWhX&etk7n6vBG26nbcY_q66o6T!hfn7FQHvp!E@?DtImVKY{4E+0ddd~?~< zR0y0%fB{7b6QI0Ott&iAq;HF*`$P2SQum%CMQvPtOlbORF(Qt))eM~aIkune!|`_E zUOqa_uZs8dNNNF~d7;Ia{s<(Gb=$(`hu4I)AMQ~KvUi5JC0h|%Ckd>0J61!&axR;c z*$2K|-^bp34n{Qc=_YH)pCL=}t>R7T*hsvW%(9PkU5`+>;^;3J6N}nv?yd8$e_-iF z`?s56zlQIgQ%a}}T|pM3N!@NiN=74)0T>J(hN(0do9N}-q-7DUB)J56n*LU-g*D2D z|10UpJ^0^Im&-r?|B{Zsdh|CR3jHEPy{!SaMV6s?37d?8(m%r{zaUXve$=qOhtGAM zN2|o>JCvm#<${L2F)B)DncfEIAT-p5giHr{QzccN{q|>L4G7I3Anw??Q=j}4gnLP+ z6SZw&(oQF~mPG*_s=KGB^OSnsxKX{NghYJgc;0}io*p!Hb);ew%zlBA zn@`2A8n73%8TBg-AUyy0{{11KR#+o~mS=Xa8nNf3sbQ=k&N77^S@EYUHTy~gk%Rcy z3{B8?oj5aYG-Y$J#Gu+`+q+a*#Qe2br`cCUMQxYV>wB|rDs$HZTAU!j6y#lSX5@|) z!Qrq7viXT8;+M&zDzqE%0q2q+XQYM@`|DcX5e!?Msdvy19w{$US>#Vr5hxY%O2 zgMeJ_&v6fLZ*Q0VEz8HPbAmFFPj(y>F?ujC>ptd(5AlhU%Q9?^E9f2UvAWTqlwlks zC@AReS{EQTYM|?CC`A)+qXu7mCW`L9Im?^JR1UyR)ObbPfv0W0>%%8bI~44Hty=17 zmAhfPBUKzh&2}`FbuM14SFcr5V6I(lH4+KJioOuF$4l*RPqY4l{WhZ(Z%HZ9=?v~f zAH)Ty;Tm=5r~(fdu`zndNrM>h8ItttHhP?${rYDTy2)$as*-1987M1btn{K*?_2v~CSFx?Di2d; zl}dm_mS0(^yNJ5HN}F%}5l8>TQeql+TRXD7a;yCFiPfA;g~ z^m^baJ*cO&Fpa>@iG|wHO=ZIpJCUp*x)gRzS}P-#!q-7xHp4|bbiROHS-w~55a-k_*jO-blX7o%bSAm8 zD=qrUa{?*GajMc8wXZ_x^up(YE4>FYj8Tx7`?9UCkI%ac0Xho03wUAP#fZ5=$^Gpr zQv!grnzSUn4Z!56d?;_R?ET~1E~F2=VwtlZ<|KJ_jXKKWJ-x814uZB*o^iH+yTdC_ z($dg)xNAm+2Rqz<;!y_g8!-biu|$!hv%S#(rGrB%KNUDawMdB@&f&cK0;z>VP-a;@ zEQO-#<_Pvs$x>8a5>}hN)?0Dks;-x)_4ZvFdEe}X>&-_AQOw}7ZJK&|5>-bcYJtP1 z>HBy8{Naa%=7riBMn-$c2Zs!+Yh^ZyJPrQwCbAKsoP)chd>NDTp{A~5LiMc43I{}r z4isxhF_tpQ5}OpJdgPpZ+x)hwb#1~uxwKdyME?luDa9Z%l**P{L9NvKfmt^qf{$ES{2(Xf;pHK0j@qi)i~DGS$9o0xuD+MfE|PXRz_=uJ7y-nypm8_BSKSy$-(R`5!E`2hrv|h#PpDR3?yIX zy|*T*Wps@-Snh?nXj3oA!TRE-ww4gWw&!JRkGA|55e~*(SqQ_WOpHC^Y1ICuzrBGC zRYKZlOJDx#n;f^rrCVqcvIDxLJZMegCExp{wy7N7Z4rYj%+?->9>CMLN2h%|?8a>j z0|MSZb-rJh_&>>;(7%)Z0@9e=o9IKnJ^C{nD2aB3m$#d7Q;qBOZ*h%bGO$mS3O|H@ zlu6Ln=t`7X4w@?{M#u4=*}c|t*#U^}%8IVd&CNaV+J&>xGfZZ3q-{g*F#T?2a%uo= zK5LLG7i4B;c1}_#kOK*LJuF%n=)MV4V60G8RZU|8iK7mmjCZd|LZ}P5Vpo%B-N2>i zoVfxl-uEi8xfw>1dyS)k6Elz^kOx#i(fdjXPh?kruB^0Ys5!riaH$KgSd>2vlF%m# z%?Fu2Oig8=1U@%6Q--CW(lT&_qdHI5_xP?UdRO%-Yk_vAoRtYg*e$Ng7VFh zPK$lD{%zXudLbbpzWd5T-+&k5rQ$)IG3D$i@p-b5){p#C8RMTw7&M>}y%x>JGWDzC zjll?m&b)vBUS7TK=ULzlfg~Qy#xVAUthr*y+Gz+Yt2^BE1cm{SyObTSY3*PSgd?-; z4<8=d+S%#fjRXdb%*T%(5Q#*ah#>|XXDTm`!C=tS?++Gs0gRLoU%u*teZ<6P#LNx@ zxhToX%F1HgrinWeIaqpT9w?GXNPAV=E7GnwI6cY@3JB;q8KIdBc**|hQ0+}g!@WZj z1U^`Fn$!Hb#@n}VA3;O`h+AwNTNVnOpRJzrlXKsio46LQ%|O-TpMV|o;#gLz_+ma( zz6b1kIX?@Att@=W*8!{{J6PW(V+JOo`D-IU3j^S(3fmzpET{%={5d|b@qK~cmI^g~ z`t-!s*0w{rr1p2<`crNiAAiA^111oMySf@0XEMdr63oD)1VeV#f!(RXOG-hqhme>= zFihtItjbTq8>u5BN8)6iWr#O8@zw_~qW4z$L-K^utg-1OfQGm|~H6Wlg2@K0-(C2d+NRH@2P7zZZZ)TJdzPW5)tA7A6r8yN0p zBMZ75>coP$sE?mtc~lp|7>`pofVd9SS5@nj<&EBREZu2z5QXimeuIHMfX-imzm|U^ z=HuU@o39FG&0D;>AqQj{5qj-h-Ns>F9$23Qpgix!hX5LHXj7<(*1%BQxY4Aa<>#JMef9 zj0E@@a=6ajlS29qwA&Yy*@d}LGYa)KkYUr~tgLdek{s5L8g+X^81dTg61TtItQ1$H z(~1@9zl5fGg7+OP={G3d<9cEokiN+^)zwET*;SG&`7)Xrc)S`3@WQX{IKZO@WJi%g zHXE#^+$XYQhaO7E0>f7Y~a$bDBCUJEs!H8H; znG>#o5_{qM+Er)BP#erv?d60uUq8Q8z#LuzTG?wLp}YW|$b}#7BdG*APr7?KVgz*4 z2sFjWxK;(3AA$}YD$d^Jvk~s!rdt8zWEY+70o%DZtp>uIjl#W?z! zKt_TxFxbj5RTu?Oa{KrZNvaPl1j~>9-dKv( L>`&m2yWRXRt0NBb From 1c407a36a1c907c4db867674d54fd7560e921f2c Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Fri, 26 Aug 2016 08:24:58 -0400 Subject: [PATCH 09/48] Sorts out some runtimes, adds randomization for a bunch more stuff in character preferences, adds species validation to undergarments, adds absolute pathing to sprite_accessories and repaths alot of stuff. Also corrects some oversights. --- code/__HELPERS/mobs.dm | 15 +- code/game/objects/structures/dresser.dm | 31 +- code/modules/client/preference/preferences.dm | 105 +- .../mob/living/carbon/human/appearance.dm | 61 +- code/modules/mob/living/carbon/human/death.dm | 12 +- .../mob/new_player/sprite_accessories.dm | 2634 ++++++++--------- code/modules/surgery/organs/organ_icon.dm | 12 +- .../surgery/organs/subtypes/standard.dm | 2 + 8 files changed, 1349 insertions(+), 1523 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index c5d761ea421..efd8d233f13 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -46,7 +46,7 @@ proc/pick_species_allowed_underwear(list/all_picks, species) return pick(valid_picks) -proc/random_hair_style(var/gender, species = "Human", var/robot_head) +proc/random_hair_style(var/gender, species = "Human", var/datum/robolimb/robohead) var/h_style = "Bald" var/list/valid_hairstyles = list() for(var/hairstyle in hair_styles_list) @@ -55,7 +55,8 @@ proc/random_hair_style(var/gender, species = "Human", var/robot_head) if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) continue if(species == "Machine") //If the user is a species who can have a robotic head... - var/datum/robolimb/robohead = all_robolimbs["[!robot_head ? "Morpheus Cyberkinetics" : robot_head]"] + if(!robohead) + robohead = all_robolimbs["Morpheus Cyberkinetics"] if(species in S.species_allowed) //If this is a facial hair style native to the user's species... if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. valid_hairstyles += hairstyle //Give them their hairstyles if they do. @@ -79,7 +80,7 @@ proc/random_hair_style(var/gender, species = "Human", var/robot_head) return h_style -proc/random_facial_hair_style(var/gender, species = "Human", var/robot_head) +proc/random_facial_hair_style(var/gender, species = "Human", var/datum/robolimb/robohead) var/f_style = "Shaved" var/list/valid_facial_hairstyles = list() for(var/facialhairstyle in facial_hair_styles_list) @@ -88,7 +89,8 @@ proc/random_facial_hair_style(var/gender, species = "Human", var/robot_head) if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) continue if(species == "Machine") //If the user is a species who can have a robotic head... - var/datum/robolimb/robohead = all_robolimbs["[!robot_head ? "Morpheus Cyberkinetics" : robot_head]"] + if(!robohead) + robohead = all_robolimbs["Morpheus Cyberkinetics"] if(species in S.species_allowed) //If this is a facial hair style native to the user's species... if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. valid_facial_hairstyles += facialhairstyle //Give them their facial hair styles if they do. @@ -127,7 +129,7 @@ proc/random_head_accessory(species = "Human") return ha_style -proc/random_marking_style(var/location = "body", species = "Human", var/robot_head, var/body_accessory, var/alt_head) +proc/random_marking_style(var/location = "body", species = "Human", var/datum/robolimb/robohead, var/body_accessory, var/alt_head) var/m_style = "None" var/list/valid_markings = list() for(var/marking in marking_styles_list) @@ -149,7 +151,8 @@ proc/random_marking_style(var/location = "body", species = "Human", var/robot_he if(location == "head") var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[S.name] if(species == "Machine")//If the user is a species that can have a robotic head... - var/datum/robolimb/robohead = all_robolimbs[robot_head] + if(!robohead) + robohead = all_robolimbs["Morpheus Cyberkinetics"] if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. continue else if(alt_head && alt_head != "None") //If the user's got an alt head, validate markings for that head. diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index f1eca747755..cc09bfb1f8a 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -18,20 +18,37 @@ return switch(choice) if("Underwear") - var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_list - if(new_undies) - H.underwear = new_undies + var/list/valid_underwear = list() + for(var/underwear in underwear_list) + var/datum/sprite_accessory/S = underwear_list[underwear] + if(!(H.species.name in S.species_allowed)) + continue + valid_underwear[underwear] = underwear_list[underwear] + var/new_underwear = input(user, "Choose your underwear:", "Changing") as null|anything in valid_underwear + if(new_underwear) + H.underwear = new_underwear if("Undershirt") - var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in undershirt_list + var/list/valid_undershirts = list() + for(var/undershirt in undershirt_list) + var/datum/sprite_accessory/S = undershirt_list[undershirt] + if(!(H.species.name in S.species_allowed)) + continue + valid_undershirts[undershirt] = undershirt_list[undershirt] + var/new_undershirt = input(user, "Choose your undershirt:", "Changing") as null|anything in valid_undershirts if(new_undershirt) H.undershirt = new_undershirt if("Socks") - var/new_socks = input(user, "Select your socks", "Changing") as null|anything in socks_list + var/list/valid_sockstyles = list() + for(var/sockstyle in socks_list) + var/datum/sprite_accessory/S = socks_list[sockstyle] + if(!(H.species.name in S.species_allowed)) + continue + valid_sockstyles[sockstyle] = socks_list[sockstyle] + var/new_socks = input(user, "Choose your socks:", "Changing") as null|anything in valid_sockstyles if(new_socks) - H.socks= new_socks - + H.socks = new_socks add_fingerprint(H) H.update_body() \ No newline at end of file diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 6fdf99bd37d..cbb04f7b57c 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -314,7 +314,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "[h_style]" dat += "Color [color_square(r_hair, g_hair, b_hair)]" var/datum/sprite_accessory/temp_hair_style = hair_styles_list[h_style] - if(temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour) + if(temp_hair_style && temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour) dat += " Color #2 [color_square(r_hair_sec, g_hair_sec, b_hair_sec)]" dat += "
" @@ -322,7 +322,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "[f_style ? "[f_style]" : "Shaved"]" dat += "Color [color_square(r_facial, g_facial, b_facial)]" var/datum/sprite_accessory/temp_facial_hair_style = facial_hair_styles_list[f_style] - if(temp_facial_hair_style.secondary_theme && !temp_facial_hair_style.no_sec_colour) + if(temp_facial_hair_style && temp_facial_hair_style.secondary_theme && !temp_facial_hair_style.no_sec_colour) dat += " Color #2 [color_square(r_facial_sec, g_facial_sec, b_facial_sec)]" dat += "
" @@ -1130,6 +1130,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts switch(href_list["task"]) if("random") + var/datum/robolimb/robohead + if(species == "Machine") + var/head_model = "[!rlimb_data["head"] ? "Morpheus Cyberkinetics" : rlimb_data["head"]]" + robohead = all_robolimbs[head_model] switch(href_list["preference"]) if("name") real_name = random_name(gender,species) @@ -1140,23 +1144,59 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts r_hair = rand(0,255) g_hair = rand(0,255) b_hair = rand(0,255) + if("secondary_hair") + if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox")) + r_hair_sec = rand(0,255) + g_hair_sec = rand(0,255) + b_hair_sec = rand(0,255) if("h_style") - h_style = random_hair_style(gender, species) + h_style = random_hair_style(gender, species, robohead) if("facial") if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox")) r_facial = rand(0,255) g_facial = rand(0,255) b_facial = rand(0,255) + if("secondary_facial") + if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Wryn", "Vulpkanin", "Vox")) + r_facial_sec = rand(0,255) + g_facial_sec = rand(0,255) + b_facial_sec = rand(0,255) if("f_style") - f_style = random_facial_hair_style(gender, species) + f_style = random_facial_hair_style(gender, species, robohead) + if("headaccessory") + if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species that have head accessories. + r_headacc = rand(0,255) + g_headacc = rand(0,255) + b_headacc = rand(0,255) + if("ha_style") + if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species that have head accessories. + ha_style = random_head_accessory(species) + if("m_style_head") + if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. + m_styles["head"] = random_marking_style("head", species, robohead, null, alt_head) + if("m_head_colour") + if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. + m_colours["head"] = rgb(rand(0,255), rand(0,255), rand(0,255)) + if("m_style_body") + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings. + m_styles["body"] = random_marking_style("body", species) + if("m_body_colour") + if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox", "Drask")) //Species with body markings. + m_colours["body"] = rgb(rand(0,255), rand(0,255), rand(0,255)) + if("m_style_tail") + if(species in list("Vox", "Vulpkanin")) //Species with tail markings. + m_styles["tail"] = random_marking_style("tail", species, null, body_accessory) + if("m_tail_colour") + if(species in list("Vox", "Vulpkanin")) //Species with tail markings. + m_colours["tail"] = rgb(rand(0,255), rand(0,255), rand(0,255)) if("underwear") - underwear = random_underwear(gender) + underwear = random_underwear(gender, species) ShowChoices(user) if("undershirt") - undershirt = random_undershirt(gender) + undershirt = random_undershirt(gender, species) ShowChoices(user) if("socks") - socks = random_socks(gender) + socks = random_socks(gender, species) ShowChoices(user) if("eyes") r_eyes = rand(0,255) @@ -1334,10 +1374,12 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/list/valid_hairstyles = list() for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] + if(hairstyle == "Bald") //Just in case. + valid_hairstyles[hairstyle] = S + continue + if(species == "Machine") //Species that can use prosthetic heads. var/obj/item/organ/external/head/H = new() - if(S.name == "Bald") - valid_hairstyles[hairstyle] = S if(!rlimb_data["head"]) //Handle situations where the head is default. H.model = "Morpheus Cyberkinetics" else @@ -1546,8 +1588,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/list/valid_facialhairstyles = list() for(var/facialhairstyle in facial_hair_styles_list) var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] - if(S.name == "Shaved") + if(facialhairstyle == "Shaved") //Just in case. valid_facialhairstyles[facialhairstyle] = S + continue + if(gender == MALE && S.gender == FEMALE) continue if(gender == FEMALE && S.gender == MALE) @@ -1573,33 +1617,42 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(!(species in S.species_allowed)) continue - valid_facialhairstyles[facialhairstyle] = facial_hair_styles_list[facialhairstyle] + valid_facialhairstyles[facialhairstyle] = S var/new_f_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in valid_facialhairstyles if(new_f_style) f_style = new_f_style if("underwear") - var/list/underwear_options - if(gender == MALE) - underwear_options = underwear_m - else - underwear_options = underwear_f - - var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in underwear_options + var/list/valid_underwear = list() + for(var/underwear in underwear_list) + var/datum/sprite_accessory/S = underwear_list[underwear] + if(gender == MALE && S.gender == FEMALE) + continue + if(gender == FEMALE && S.gender == MALE) + continue + if(!(species in S.species_allowed)) + continue + valid_underwear[underwear] = underwear_list[underwear] + var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in valid_underwear + ShowChoices(user) if(new_underwear) underwear = new_underwear - ShowChoices(user) - if("undershirt") - var/new_undershirt - if(gender == MALE) - new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in undershirt_m - else - new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in undershirt_f + var/list/valid_undershirts = list() + for(var/undershirt in undershirt_list) + var/datum/sprite_accessory/S = undershirt_list[undershirt] + if(gender == MALE && S.gender == FEMALE) + continue + if(gender == FEMALE && S.gender == MALE) + continue + if(!(species in S.species_allowed)) + continue + valid_undershirts[undershirt] = undershirt_list[undershirt] + var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in valid_undershirts + ShowChoices(user) if(new_undershirt) undershirt = new_undershirt - ShowChoices(user) if("socks") var/list/valid_sockstyles = list() diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index a5768a647da..7f84686c05e 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -37,7 +37,7 @@ /mob/living/carbon/human/proc/change_hair(var/hair_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!hair_style || H.h_style == hair_style || !(hair_style in hair_styles_list)) + if(!hair_style || !H || H.h_style == hair_style || !(hair_style in hair_styles_list)) return H.h_style = hair_style @@ -47,7 +47,7 @@ /mob/living/carbon/human/proc/change_facial_hair(var/facial_hair_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!facial_hair_style || H.f_style == facial_hair_style || !(facial_hair_style in facial_hair_styles_list)) + if(!facial_hair_style || !H || H.f_style == facial_hair_style || !(facial_hair_style in facial_hair_styles_list)) return H.f_style = facial_hair_style @@ -57,7 +57,7 @@ /mob/living/carbon/human/proc/change_head_accessory(var/head_accessory_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!head_accessory_style || H.ha_style == head_accessory_style || !(head_accessory_style in head_accessory_styles_list)) + if(!head_accessory_style || !H || H.ha_style == head_accessory_style || !(head_accessory_style in head_accessory_styles_list)) return H.ha_style = head_accessory_style @@ -75,6 +75,9 @@ var/obj/item/organ/external/head/head_organ = get_organ("head") if(location == "head") + if(!head_organ) + return + if(head_organ.alt_head && head_organ.alt_head != "None") var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] if(marking.name != "None" && (!H.heads_allowed || !(head_organ.alt_head in H.heads_allowed))) @@ -122,7 +125,7 @@ /mob/living/carbon/human/proc/change_alt_head(var/alternate_head) var/obj/item/organ/external/head/H = get_organ("head") - if(H.alt_head == alternate_head || (H.status & ORGAN_ROBOT) || (!(species.bodyflags & HAS_ALT_HEADS) && alternate_head != "None") || !(alternate_head in alt_heads_list)) + if(!H || H.alt_head == alternate_head || (H.status & ORGAN_ROBOT) || (!(species.bodyflags & HAS_ALT_HEADS) && alternate_head != "None") || !(alternate_head in alt_heads_list)) return H.alt_head = alternate_head @@ -149,6 +152,8 @@ /mob/living/carbon/human/proc/reset_head_hair() var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return var/list/valid_hairstyles = generate_valid_hairstyles() if(valid_hairstyles.len) H.h_style = pick(valid_hairstyles) @@ -160,6 +165,8 @@ /mob/living/carbon/human/proc/reset_facial_hair() var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return var/list/valid_facial_hairstyles = generate_valid_facial_hairstyles() if(valid_facial_hairstyles.len) H.f_style = pick(valid_facial_hairstyles) @@ -192,6 +199,8 @@ /mob/living/carbon/human/proc/reset_head_accessory() var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return var/list/valid_head_accessories = generate_valid_head_accessories() if(valid_head_accessories.len) H.ha_style = pick(valid_head_accessories) @@ -225,6 +234,9 @@ /mob/living/carbon/human/proc/change_hair_color(var/red, var/green, var/blue, var/secondary) var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return + if(!secondary) if(red == H.r_hair && green == H.g_hair && blue == H.b_hair) return @@ -245,6 +257,9 @@ /mob/living/carbon/human/proc/change_facial_hair_color(var/red, var/green, var/blue, var/secondary) var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return + if(!secondary) if(red == H.r_facial && green == H.g_facial && blue == H.b_facial) return @@ -265,6 +280,9 @@ /mob/living/carbon/human/proc/change_head_accessory_color(var/red, var/green, var/blue) var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return + if(red == H.r_headacc && green == H.g_headacc && blue == H.b_headacc) return @@ -334,15 +352,20 @@ /mob/living/carbon/human/proc/generate_valid_hairstyles() var/list/valid_hairstyles = new() var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return //No head, no hair. + for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] - if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + if(hairstyle == "Bald") //Just in case. + valid_hairstyles += hairstyle + continue + + if((H.gender == MALE && S.gender == FEMALE) || (H.gender == FEMALE && S.gender == MALE)) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] - if(!H) - return //No head, no hair. if(H.species.name in S.species_allowed) //If this is a hairstyle native to the user's species... if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. valid_hairstyles += hairstyle //Give them their hairstyles if they do. @@ -361,20 +384,27 @@ continue valid_hairstyles += hairstyle + if(!("Bald" in valid_hairstyles)) //Just in case. + valid_hairstyles += "Bald" return valid_hairstyles /mob/living/carbon/human/proc/generate_valid_facial_hairstyles() var/list/valid_facial_hairstyles = new() var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return //No head, no hair. + for(var/facialhairstyle in facial_hair_styles_list) var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] - if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + if(facialhairstyle == "Shaved") //Just in case. + valid_facial_hairstyles += facialhairstyle + continue + + if((H.gender == MALE && S.gender == FEMALE) || (H.gender == FEMALE && S.gender == MALE)) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] - if(!H) - return //No head, no hair. if(H.species.name in S.species_allowed) //If this is a facial hair style native to the user's species... if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. valid_facial_hairstyles += facialhairstyle //Give them their facial hair styles if they do. @@ -398,6 +428,9 @@ /mob/living/carbon/human/proc/generate_valid_head_accessories() var/list/valid_head_accessories = new() var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return //No head, no head accessory. + for(var/head_accessory in head_accessory_styles_list) var/datum/sprite_accessory/S = head_accessory_styles_list[head_accessory] @@ -410,6 +443,9 @@ /mob/living/carbon/human/proc/generate_valid_markings(var/location = "body") var/list/valid_markings = new() var/obj/item/organ/external/head/H = get_organ("head") + if(!H && location == "head") + return //No head, no head markings. + for(var/marking in marking_styles_list) var/datum/sprite_accessory/body_markings/S = marking_styles_list[marking] if(S.name == "None") @@ -459,10 +495,13 @@ /mob/living/carbon/human/proc/generate_valid_alt_heads() var/list/valid_alt_heads = list() + var/obj/item/organ/external/head/H = get_organ("head") + if(!H) + return //No head, no alt heads. valid_alt_heads["None"] = alt_heads_list["None"] //The only null entry should be the "None" option, and there should always be a "None" option. for(var/alternate_head in alt_heads_list) var/datum/sprite_accessory/alt_heads/head = alt_heads_list[alternate_head] - if(!(species.name in head.species_allowed)) + if(!(H.species.name in head.species_allowed)) continue valid_alt_heads[alternate_head] = alt_heads_list[alternate_head] diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index c1d8ec9a187..c19694c0a9e 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -148,11 +148,19 @@ if(istype(H)) if(H.f_style) - H.f_style = "Shaved" + H.f_style = initial(H.f_style) if(H.h_style) - H.h_style = "Bald" + H.h_style = initial(H.h_style) + if(H.ha_style) + H.ha_style = initial(H.ha_style) + if(H.alt_head) + H.alt_head = initial(H.alt_head) + H.handle_alt_icon() + m_styles = DEFAULT_MARKING_STYLES update_fhair(0) update_hair(0) + update_head_accessory(0) + update_markings(0) mutations.Add(SKELETON) mutations.Add(NOCLONE) diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 9651c0cf894..813cea67f99 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -25,14 +25,15 @@ for(var/path in subtypesof(prototype)) var/datum/sprite_accessory/D = new path() - L[D.name] = D + if(D.name) + L[D.name] = D - switch(D.gender) - if(MALE) male[D.name] = D - if(FEMALE) female[D.name] = D - else - male[D.name] = D - female[D.name] = D + switch(D.gender) + if(MALE) male[D.name] = D + if(FEMALE) female[D.name] = D + else + male[D.name] = D + female[D.name] = D return L /datum/sprite_accessory @@ -65,503 +66,762 @@ /datum/sprite_accessory/hair icon = 'icons/mob/human_face.dmi' // default icon for all hairs - bald - name = "Bald" - icon_state = "bald" - species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran") +/datum/sprite_accessory/hair/bald + name = "Bald" + icon_state = "bald" + species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran") - short - name = "Short Hair" // try to capatilize the names please~ - icon_state = "hair_a" // you do not need to define _s or _l sub-states, game automatically does this for you +/datum/sprite_accessory/hair/short + name = "Short Hair" // try to capatilize the names please~ + icon_state = "hair_a" // you do not need to define _s or _l sub-states, game automatically does this for you - cut - name = "Cut Hair" - icon_state = "hair_c" +/datum/sprite_accessory/hair/cut + name = "Cut Hair" + icon_state = "hair_c" - long - name = "Shoulder-length Hair" - icon_state = "hair_b" +/datum/sprite_accessory/hair/long + name = "Shoulder-length Hair" + icon_state = "hair_b" - longalt - name = "Shoulder-length Hair Alt" - icon_state = "hair_longfringe" +/datum/sprite_accessory/hair/longalt + name = "Shoulder-length Hair Alt" + icon_state = "hair_longfringe" - /*longish - name = "Longer Hair" - icon_state = "hair_b2"*/ +/*/datum/sprite_accessory/hair/longish + name = "Longer Hair" + icon_state = "hair_b2"*/ - longer - name = "Long Hair" - icon_state = "hair_vlong" +/datum/sprite_accessory/hair/longer + name = "Long Hair" + icon_state = "hair_vlong" - longeralt - name = "Long Hair Alt" - icon_state = "hair_vlongfringe" +/datum/sprite_accessory/hair/longeralt + name = "Long Hair Alt" + icon_state = "hair_vlongfringe" - longest - name = "Very Long Hair" - icon_state = "hair_longest" +/datum/sprite_accessory/hair/longest + name = "Very Long Hair" + icon_state = "hair_longest" - longfringe - name = "Long Fringe" - icon_state = "hair_longfringe" +/datum/sprite_accessory/hair/longfringe + name = "Long Fringe" + icon_state = "hair_longfringe" - longestalt - name = "Longer Fringe" - icon_state = "hair_vlongfringe" +/datum/sprite_accessory/hair/longestalt + name = "Longer Fringe" + icon_state = "hair_vlongfringe" - halfbang - name = "Half-banged Hair" - icon_state = "hair_halfbang" +/datum/sprite_accessory/hair/halfbang + name = "Half-banged Hair" + icon_state = "hair_halfbang" - halfbangalt - name = "Half-banged Hair Alt" - icon_state = "hair_halfbang_alt" +/datum/sprite_accessory/hair/halfbangalt + name = "Half-banged Hair Alt" + icon_state = "hair_halfbang_alt" - ponytail1 - name = "Ponytail male" - icon_state = "hair_ponytailm" - gender = MALE +/datum/sprite_accessory/hair/ponytail1 + name = "Ponytail male" + icon_state = "hair_ponytailm" + gender = MALE - ponytail2 - name = "Ponytail female" - icon_state = "hair_ponytailf" - gender = FEMALE +/datum/sprite_accessory/hair/ponytail2 + name = "Ponytail female" + icon_state = "hair_ponytailf" + gender = FEMALE - ponytail3 - name = "Ponytail alt" - icon_state = "hair_ponytail3" +/datum/sprite_accessory/hair/ponytail3 + name = "Ponytail alt" + icon_state = "hair_ponytail3" - sideponytail - name = "Side Ponytail" - icon_state = "hair_stail" - gender = FEMALE +/datum/sprite_accessory/hair/sideponytail + name = "Side Ponytail" + icon_state = "hair_stail" + gender = FEMALE - highponytail - name = "High Ponytail" - icon_state = "hair_highponytail" - gender = FEMALE +/datum/sprite_accessory/hair/highponytail + name = "High Ponytail" + icon_state = "hair_highponytail" + gender = FEMALE +/datum/sprite_accessory/hair/wisp + name = "Wisp" + icon_state = "hair_wisp" + gender = FEMALE - wisp - name = "Wisp" - icon_state = "hair_wisp" - gender = FEMALE +/datum/sprite_accessory/hair/parted + name = "Parted" + icon_state = "hair_parted" - parted - name = "Parted" - icon_state = "hair_parted" +/datum/sprite_accessory/hair/pompadour + name = "Pompadour" + icon_state = "hair_pompadour" + gender = MALE + species_allowed = list("Human", "Slime People", "Unathi") - pompadour - name = "Pompadour" - icon_state = "hair_pompadour" - gender = MALE - species_allowed = list("Human", "Unathi") +/datum/sprite_accessory/hair/quiff + name = "Quiff" + icon_state = "hair_quiff" + gender = MALE - quiff - name = "Quiff" - icon_state = "hair_quiff" - gender = MALE +/datum/sprite_accessory/hair/bedhead + name = "Bedhead" + icon_state = "hair_bedhead" - bedhead - name = "Bedhead" - icon_state = "hair_bedhead" +/datum/sprite_accessory/hair/bedhead2 + name = "Bedhead 2" + icon_state = "hair_bedheadv2" - bedhead2 - name = "Bedhead 2" - icon_state = "hair_bedheadv2" +/datum/sprite_accessory/hair/bedhead3 + name = "Bedhead 3" + icon_state = "hair_bedheadv3" - bedhead3 - name = "Bedhead 3" - icon_state = "hair_bedheadv3" +/datum/sprite_accessory/hair/beehive + name = "Beehive" + icon_state = "hair_beehive" + gender = FEMALE + species_allowed = list("Human", "Slime People", "Unathi") - beehive - name = "Beehive" - icon_state = "hair_beehive" - gender = FEMALE - species_allowed = list("Human", "Unathi") +/datum/sprite_accessory/hair/bobcurl + name = "Bobcurl" + icon_state = "hair_bobcurl" + gender = FEMALE + species_allowed = list("Human", "Slime People", "Unathi") - bobcurl - name = "Bobcurl" - icon_state = "hair_bobcurl" - gender = FEMALE - species_allowed = list("Human", "Unathi") +/datum/sprite_accessory/hair/bob + name = "Bob" + icon_state = "hair_bobcut" + gender = FEMALE + species_allowed = list("Human", "Slime People", "Unathi") - bob - name = "Bob" - icon_state = "hair_bobcut" - gender = FEMALE - species_allowed = list("Human", "Unathi") +/datum/sprite_accessory/hair/bowl + name = "Bowl" + icon_state = "hair_bowlcut" + gender = MALE - bowl - name = "Bowl" - icon_state = "hair_bowlcut" - gender = MALE +/datum/sprite_accessory/hair/braid2 + name = "Long Braid" + icon_state = "hair_hbraid" + gender = FEMALE - braid2 - name = "Long Braid" - icon_state = "hair_hbraid" - gender = FEMALE +/datum/sprite_accessory/hair/braid_hip + name = "Hippie Braid" + icon_state = "hair_hipbraid" + secondary_theme = "beads" - braid_hip - name = "Hippie Braid" - icon_state = "hair_hipbraid" - species_allowed = list("Human") - secondary_theme = "beads" +/datum/sprite_accessory/hair/braid_hip_una + name = "Unathi Hippie Braid" + icon_state = "hair_ubraid" + species_allowed = list("Unathi") + secondary_theme = "beads" - braid_hip_una - name = "Unathi Hippie Braid" - icon_state = "hair_ubraid" - species_allowed = list("Unathi") - secondary_theme = "beads" +/datum/sprite_accessory/hair/buzz + name = "Buzzcut" + icon_state = "hair_buzzcut" + gender = MALE + species_allowed = list("Human", "Slime People", "Unathi") - buzz - name = "Buzzcut" - icon_state = "hair_buzzcut" - gender = MALE - species_allowed = list("Human", "Unathi") +/datum/sprite_accessory/hair/crew + name = "Crewcut" + icon_state = "hair_crewcut" + gender = MALE - crew - name = "Crewcut" - icon_state = "hair_crewcut" - gender = MALE +/datum/sprite_accessory/hair/combover + name = "Combover" + icon_state = "hair_combover" + gender = MALE - combover - name = "Combover" - icon_state = "hair_combover" - gender = MALE +/datum/sprite_accessory/hair/devillock + name = "Devil Lock" + icon_state = "hair_devilock" - devillock - name = "Devil Lock" - icon_state = "hair_devilock" +/datum/sprite_accessory/hair/dreadlocks + name = "Dreadlocks" + icon_state = "hair_dreads" - dreadlocks - name = "Dreadlocks" - icon_state = "hair_dreads" +/datum/sprite_accessory/hair/curls + name = "Curls" + icon_state = "hair_curls" - curls - name = "Curls" - icon_state = "hair_curls" +/datum/sprite_accessory/hair/afro + name = "Afro" + icon_state = "hair_afro" - afro - name = "Afro" - icon_state = "hair_afro" +/datum/sprite_accessory/hair/afro2 + name = "Afro 2" + icon_state = "hair_afro2" - afro2 - name = "Afro 2" - icon_state = "hair_afro2" +/datum/sprite_accessory/hair/afro_large + name = "Big Afro" + icon_state = "hair_bigafro" + gender = MALE - afro_large - name = "Big Afro" - icon_state = "hair_bigafro" - gender = MALE +/datum/sprite_accessory/hair/sergeant + name = "Flat Top" + icon_state = "hair_sergeant" + gender = MALE - sergeant - name = "Flat Top" - icon_state = "hair_sergeant" - gender = MALE +/datum/sprite_accessory/hair/emo + name = "Emo" + icon_state = "hair_emo" - emo - name = "Emo" - icon_state = "hair_emo" +/datum/sprite_accessory/hair/fag + name = "Flow Hair" + icon_state = "hair_f" - fag - name = "Flow Hair" - icon_state = "hair_f" +/datum/sprite_accessory/hair/feather + name = "Feather" + icon_state = "hair_feather" - feather - name = "Feather" - icon_state = "hair_feather" +/datum/sprite_accessory/hair/hitop + name = "Hitop" + icon_state = "hair_hitop" + gender = MALE - hitop - name = "Hitop" - icon_state = "hair_hitop" - gender = MALE +/datum/sprite_accessory/hair/mohawk + name = "Mohawk" + icon_state = "hair_d" + species_allowed = list("Human", "Slime People", "Unathi") - mohawk - name = "Mohawk" - icon_state = "hair_d" - species_allowed = list("Human", "Unathi") +/datum/sprite_accessory/hair/jensen + name = "Adam Jensen Hair" + icon_state = "hair_jensen" + gender = MALE - jensen - name = "Adam Jensen Hair" - icon_state = "hair_jensen" - gender = MALE +/datum/sprite_accessory/hair/cia + name = "CIA" + icon_state = "hair_cia" + gender = MALE - cia - name = "CIA" - icon_state = "hair_cia" - gender = MALE +/datum/sprite_accessory/hair/mulder + name = "Mulder" + icon_state = "hair_mulder" + gender = MALE - mulder - name = "Mulder" - icon_state = "hair_mulder" - gender = MALE +/datum/sprite_accessory/hair/gelled + name = "Gelled Back" + icon_state = "hair_gelled" + gender = FEMALE - gelled - name = "Gelled Back" - icon_state = "hair_gelled" - gender = FEMALE +/datum/sprite_accessory/hair/gentle + name = "Gentle" + icon_state = "hair_gentle" + gender = FEMALE - gentle - name = "Gentle" - icon_state = "hair_gentle" - gender = FEMALE +/datum/sprite_accessory/hair/spiky + name = "Spiky" + icon_state = "hair_spikey" + species_allowed = list("Human", "Slime People", "Unathi") - spiky - name = "Spiky" - icon_state = "hair_spikey" - species_allowed = list("Human", "Unathi") +/datum/sprite_accessory/hair/kusanagi + name = "Kusanagi Hair" + icon_state = "hair_kusanagi" - kusanagi - name = "Kusanagi Hair" - icon_state = "hair_kusanagi" +/datum/sprite_accessory/hair/kagami + name = "Pigtails" + icon_state = "hair_kagami" + gender = FEMALE - kagami - name = "Pigtails" - icon_state = "hair_kagami" - gender = FEMALE +/datum/sprite_accessory/hair/himecut + name = "Hime Cut" + icon_state = "hair_himecut" + gender = FEMALE - himecut - name = "Hime Cut" - icon_state = "hair_himecut" - gender = FEMALE +/datum/sprite_accessory/hair/braid + name = "Floorlength Braid" + icon_state = "hair_braid" + gender = FEMALE - braid - name = "Floorlength Braid" - icon_state = "hair_braid" - gender = FEMALE +/datum/sprite_accessory/hair/odango + name = "Odango" + icon_state = "hair_odango" + gender = FEMALE - odango - name = "Odango" - icon_state = "hair_odango" - gender = FEMALE +/datum/sprite_accessory/hair/ombre + name = "Ombre" + icon_state = "hair_ombre" + gender = FEMALE - ombre - name = "Ombre" - icon_state = "hair_ombre" - gender = FEMALE +/datum/sprite_accessory/hair/updo + name = "Updo" + icon_state = "hair_updo" + gender = FEMALE - updo - name = "Updo" - icon_state = "hair_updo" - gender = FEMALE +/datum/sprite_accessory/hair/skinhead + name = "Skinhead" + icon_state = "hair_skinhead" - skinhead - name = "Skinhead" - icon_state = "hair_skinhead" +/datum/sprite_accessory/hair/balding + name = "Balding Hair" + icon_state = "hair_e" + gender = MALE // turnoff! - balding - name = "Balding Hair" - icon_state = "hair_e" - gender = MALE // turnoff! - - longemo - name = "Long Emo" - icon_state = "hair_emolong" - gender = FEMALE +/datum/sprite_accessory/hair/longemo + name = "Long Emo" + icon_state = "hair_emolong" + gender = FEMALE ////////////////////////////// //////START VG HAIRSTYLES///// ////////////////////////////// - birdnest - name = "Bird Nest" - icon_state = "hair_birdnest" +/datum/sprite_accessory/hair/birdnest + name = "Bird Nest" + icon_state = "hair_birdnest" - unkept - name = "Unkempt" - icon_state = "hair_unkept" +/datum/sprite_accessory/hair/unkept + name = "Unkempt" + icon_state = "hair_unkept" - duelist - name = "Duelist" - icon_state = "hair_duelist" - gender = MALE +/datum/sprite_accessory/hair/duelist + name = "Duelist" + icon_state = "hair_duelist" + gender = MALE - modern - name = "Modern" - icon_state = "hair_modern" - gender = FEMALE +/datum/sprite_accessory/hair/modern + name = "Modern" + icon_state = "hair_modern" + gender = FEMALE - unshavenmohawk - name = "Unshaven Mohawk" - icon_state = "hair_unshavenmohawk" - gender = MALE +/datum/sprite_accessory/hair/unshavenmohawk + name = "Unshaven Mohawk" + icon_state = "hair_unshavenmohawk" + gender = MALE - drills - name = "Twincurls" - icon_state = "hair_twincurl" - gender = FEMALE +/datum/sprite_accessory/hair/drills + name = "Twincurls" + icon_state = "hair_twincurl" + gender = FEMALE - minidrills - name = "Twincurls 2" - icon_state = "hair_twincurl2" - gender = FEMALE +/datum/sprite_accessory/hair/minidrills + name = "Twincurls 2" + icon_state = "hair_twincurl2" + gender = FEMALE ////////////////////////////// //////END VG HAIRSTYLES/////// ////////////////////////////// +/datum/sprite_accessory/hair/ipc + species_allowed = list("Machine") - ipc_screen_pink - name = "Pink IPC Screen" - icon_state = "ipc_pink" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_pink + name = "Pink IPC Screen" + icon_state = "ipc_pink" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_red - name = "Red IPC Screen" - icon_state = "ipc_red" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_red + name = "Red IPC Screen" + icon_state = "ipc_red" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_green - name = "Green IPC Screen" - icon_state = "ipc_green" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_green + name = "Green IPC Screen" + icon_state = "ipc_green" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_blue - name = "Blue IPC Screen" - icon_state = "ipc_blue" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_blue + name = "Blue IPC Screen" + icon_state = "ipc_blue" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_breakout - name = "Breakout IPC Screen" - icon_state = "ipc_breakout" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_breakout + name = "Breakout IPC Screen" + icon_state = "ipc_breakout" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_eight - name = "Eight IPC Screen" - icon_state = "ipc_eight" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_eight + name = "Eight IPC Screen" + icon_state = "ipc_eight" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_rainbow - name = "Rainbow IPC Screen" - icon_state = "ipc_rainbow" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_rainbow + name = "Rainbow IPC Screen" + icon_state = "ipc_rainbow" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_goggles - name = "Goggles IPC Screen" - icon_state = "ipc_goggles" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_goggles + name = "Goggles IPC Screen" + icon_state = "ipc_goggles" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_heart - name = "Heart IPC Screen" - icon_state = "ipc_heart" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_heart + name = "Heart IPC Screen" + icon_state = "ipc_heart" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_monoeye - name = "Monoeye IPC Screen" - icon_state = "ipc_monoeye" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_monoeye + name = "Monoeye IPC Screen" + icon_state = "ipc_monoeye" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_nature - name = "Nature IPC Screen" - icon_state = "ipc_nature" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_nature + name = "Nature IPC Screen" + icon_state = "ipc_nature" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_orange - name = "Orange IPC Screen" - icon_state = "ipc_orange" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_orange + name = "Orange IPC Screen" + icon_state = "ipc_orange" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_purple - name = "Purple IPC Screen" - icon_state = "ipc_purple" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_purple + name = "Purple IPC Screen" + icon_state = "ipc_purple" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_shower - name = "Shower IPC Screen" - icon_state = "ipc_shower" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_shower + name = "Shower IPC Screen" + icon_state = "ipc_shower" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_static - name = "Static IPC Screen" - icon_state = "ipc_static" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_static + name = "Static IPC Screen" + icon_state = "ipc_static" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_yellow - name = "Yellow IPC Screen" - icon_state = "ipc_yellow" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_yellow + name = "Yellow IPC Screen" + icon_state = "ipc_yellow" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_scrolling - name = "Scanline IPC Screen" - icon_state = "ipc_scroll" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_scrolling + name = "Scanline IPC Screen" + icon_state = "ipc_scroll" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_console - name = "Console IPC Screen" - icon_state = "ipc_console" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_console + name = "Console IPC Screen" + icon_state = "ipc_console" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_rgb - name = "RGB IPC Screen" - icon_state = "ipc_rgb" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_rgb + name = "RGB IPC Screen" + icon_state = "ipc_rgb" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - ipc_screen_glider - name = "Glider IPC Screen" - icon_state = "ipc_gol_glider" - species_allowed = list("Machine") - models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") +/datum/sprite_accessory/hair/ipc/ipc_screen_glider + name = "Glider IPC Screen" + icon_state = "ipc_gol_glider" + models_allowed = list("Bishop Cybernetics mtr.", "Hesphiastos Industries mtr.", "Morpheus Cyberkinetics", "Ward-Takahashi mtr.", "Xion Manufacturing Group mtr.") - hesphiastos_alt_off - name = "Dark Hesphiastos Screen" - icon_state = "hesphiastos_alt_off" - species_allowed = list("Machine") - models_allowed = list("Hesphiastos Industries alt.") +/datum/sprite_accessory/hair/ipc/hesphiastos_alt_off + name = "Dark Hesphiastos Screen" + icon_state = "hesphiastos_alt_off" + models_allowed = list("Hesphiastos Industries alt.") - hesphiastos_alt_pink - name = "Pink Hesphiastos Screen" - icon_state = "hesphiastos_alt_pink" - species_allowed = list("Machine") - models_allowed = list("Hesphiastos Industries alt.") +/datum/sprite_accessory/hair/ipc/hesphiastos_alt_pink + name = "Pink Hesphiastos Screen" + icon_state = "hesphiastos_alt_pink" + models_allowed = list("Hesphiastos Industries alt.") - hesphiastos_alt_orange - name = "Orange Hesphiastos Screen" - icon_state = "hesphiastos_alt_orange" - species_allowed = list("Machine") - models_allowed = list("Hesphiastos Industries alt.") +/datum/sprite_accessory/hair/ipc/hesphiastos_alt_orange + name = "Orange Hesphiastos Screen" + icon_state = "hesphiastos_alt_orange" + models_allowed = list("Hesphiastos Industries alt.") - hesphiastos_alt_goggle - name = "Goggles Hesphiastos Screen" - icon_state = "hesphiastos_alt_goggles" - species_allowed = list("Machine") - models_allowed = list("Hesphiastos Industries alt.") +/datum/sprite_accessory/hair/ipc/hesphiastos_alt_goggle + name = "Goggles Hesphiastos Screen" + icon_state = "hesphiastos_alt_goggles" + models_allowed = list("Hesphiastos Industries alt.") - hesphiastos_alt_scroll - name = "Scrolling Hesphiastos Screen" - icon_state = "hesphiastos_alt_scroll" - species_allowed = list("Machine") - models_allowed = list("Hesphiastos Industries alt.") +/datum/sprite_accessory/hair/ipc/hesphiastos_alt_scroll + name = "Scrolling Hesphiastos Screen" + icon_state = "hesphiastos_alt_scroll" + models_allowed = list("Hesphiastos Industries alt.") - hesphiastos_alt_rgb - name = "RGB Hesphiastos Screen" - icon_state = "hesphiastos_alt_rgb" - species_allowed = list("Machine") - models_allowed = list("Hesphiastos Industries alt.") +/datum/sprite_accessory/hair/ipc/hesphiastos_alt_rgb + name = "RGB Hesphiastos Screen" + icon_state = "hesphiastos_alt_rgb" + models_allowed = list("Hesphiastos Industries alt.") - hesphiastos_alt_rainbow - name = "Rainbow Hesphiastos Screen" - icon_state = "hesphiastos_alt_rainbow" - species_allowed = list("Machine") - models_allowed = list("Hesphiastos Industries alt.") +/datum/sprite_accessory/hair/ipc/hesphiastos_alt_rainbow + name = "Rainbow Hesphiastos Screen" + icon_state = "hesphiastos_alt_rainbow" + models_allowed = list("Hesphiastos Industries alt.") + +/* +/////////////////////////////////// +/ =---------------------------= / +/ == Alien Style Definitions == / +/ =---------------------------= / +/////////////////////////////////// +*/ + +/datum/sprite_accessory/hair/unathi + species_allowed = list("Unathi") + +/datum/sprite_accessory/hair/unathi/una_horns + name = "Unathi Horns" + icon_state = "soghun_horns" + +/datum/sprite_accessory/hair/skrell + species_allowed = list("Skrell") + +/datum/sprite_accessory/hair/skrell/skr_tentacle_m + name = "Skrell Male Tentacles" + icon_state = "skrell_hair_m" + gender = MALE + +/datum/sprite_accessory/hair/skrell/skr_tentacle_f + name = "Skrell Female Tentacles" + icon_state = "skrell_hair_f" + gender = FEMALE + +/datum/sprite_accessory/hair/skrell/skr_gold_m + name = "Gold plated Skrell Male Tentacles" + icon_state = "skrell_hair_m" + gender = MALE + secondary_theme = "gold" + no_sec_colour = 1 + +/datum/sprite_accessory/hair/skrell/skr_gold_f + name = "Gold chained Skrell Female Tentacles" + icon_state = "skrell_hair_f" + gender = FEMALE + secondary_theme = "gold" + no_sec_colour = 1 + +/datum/sprite_accessory/hair/skrell/skr_clothtentacle_m + name = "Cloth draped Skrell Male Tentacles" + icon_state = "skrell_hair_m" + gender = MALE + secondary_theme = "cloth" + +/datum/sprite_accessory/hair/skrell/skr_clothtentacle_f + name = "Cloth draped Skrell Female Tentacles" + icon_state = "skrell_hair_f" + gender = FEMALE + secondary_theme = "cloth" + +/datum/sprite_accessory/hair/tajara + species_allowed = list("Tajaran") + +/datum/sprite_accessory/hair/tajara/taj_hair_clean + name = "Tajara Clean" + icon_state = "hair_clean" + +/datum/sprite_accessory/hair/tajara/taj_hair_bangs + name = "Tajara Bangs" + icon_state = "hair_bangs" + +/datum/sprite_accessory/hair/tajara/taj_hair_braid + name = "Tajara Braid" + icon_state = "hair_tbraid" + secondary_theme = "beads" + +/datum/sprite_accessory/hair/tajara/taj_hair_shaggy + name = "Tajara Shaggy" + icon_state = "hair_shaggy" + +/datum/sprite_accessory/hair/tajara/taj_hair_mohawk + name = "Tajaran Mohawk" + icon_state = "hair_mohawk" + +/datum/sprite_accessory/hair/tajara/taj_hair_plait + name = "Tajara Plait" + icon_state = "hair_plait" + +/datum/sprite_accessory/hair/tajara/taj_hair_straight + name = "Tajara Straight" + icon_state = "hair_straight" + +/datum/sprite_accessory/hair/tajara/taj_hair_long + name = "Tajara Long" + icon_state = "hair_long" + +/datum/sprite_accessory/hair/tajara/taj_hair_rattail + name = "Tajara Rat Tail" + icon_state = "hair_rattail" + +/datum/sprite_accessory/hair/tajara/taj_hair_spiky + name = "Tajara Spikey" + icon_state = "hair_tajspikey" + +/datum/sprite_accessory/hair/tajara/taj_hair_messy + name = "Tajara Messy" + icon_state = "hair_messy" + +/datum/sprite_accessory/hair/tajara/taj_hair_curls + name = "Tajara Curly" + icon_state = "hair_curly" + +/datum/sprite_accessory/hair/tajara/taj_hair_retro + name = "Tajaran Ladies' Retro" + icon_state = "hair_ladies_retro" + +/datum/sprite_accessory/hair/tajara/taj_hair_victory + name = "Tajara Victory Curls" + icon_state = "hair_victory" + +/datum/sprite_accessory/hair/tajara/taj_hair_bob + name = "Tajara Bob" + icon_state = "hair_tbob" + +/datum/sprite_accessory/hair/tajara/taj_hair_fingercurl + name = "Tajara Finger Curls" + icon_state = "hair_fingerwave" + +/datum/sprite_accessory/hair/vulpkanin + species_allowed = list("Vulpkanin") + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_kajam + name = "Kajam" + icon_state = "kajam" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_keid + name = "Keid" + icon_state = "keid" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_adhara + name = "Adhara" + icon_state = "adhara" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_kleeia + name = "Kleeia" + icon_state = "kleeia" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_mizar + name = "Mizar" + icon_state = "mizar" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_apollo + name = "Apollo" + icon_state = "apollo" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_belle + name = "Belle" + icon_state = "belle" + secondary_theme = "bands" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_bun + name = "Bun" + icon_state = "bun" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_jagged + name = "Jagged" + icon_state = "jagged" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_curl + name = "Curl" + icon_state = "curl" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_hawk + name = "Hawk" + icon_state = "hawk" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_anita + name = "Anita" + icon_state = "anita" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_short + name = "Short" + icon_state = "short" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_spike + name = "Spike" + icon_state = "spike" + +/datum/sprite_accessory/hair/vulpkanin/vulp_hair_braided + name = "Braided" + icon_state = "braided" + secondary_theme = "beads" + +/datum/sprite_accessory/hair/vox + species_allowed = list("Vox") + +/datum/sprite_accessory/hair/vox/vox_quills_short + name = "Short Vox Quills" + icon_state = "vox_shortquills" + +/datum/sprite_accessory/hair/vox/vox_crestedquills + name = "Crested Vox Quills" + icon_state = "vox_crestedquills" + +/datum/sprite_accessory/hair/vox/vox_tielquills + name = "Vox Tiel Quills" + icon_state = "vox_tielquills" + +/datum/sprite_accessory/hair/vox/vox_emperorquills + name = "Vox Emperor Quills" + icon_state = "vox_emperorquills" + +/datum/sprite_accessory/hair/vox/vox_keelquills + name = "Vox Keel Quills" + icon_state = "vox_keelquills" + +/datum/sprite_accessory/hair/vox/vox_keetquills + name = "Vox Keet Quills" + icon_state = "vox_keetquills" + +/datum/sprite_accessory/hair/vox/vox_quills_kingly + name = "Kingly Vox Quills" + icon_state = "vox_kingly" + +/datum/sprite_accessory/hair/vox/vox_quills_fluff + name = "Fluffy Vox Quills" + icon_state = "vox_afro" + +/datum/sprite_accessory/hair/vox/vox_quills_mohawk + name = "Vox Quill Mohawk" + icon_state = "vox_mohawk" + +/datum/sprite_accessory/hair/vox/vox_quills_long + name = "Long Vox Quills" + icon_state = "vox_yasu" + +/datum/sprite_accessory/hair/vox/vox_horns + name = "Vox Spikes" + icon_state = "vox_horns" + +/datum/sprite_accessory/hair/vox/vox_nights + name = "Vox Pigtails" + icon_state = "vox_nights" + +/datum/sprite_accessory/hair/vox/vox_razor + name = "Vox Razorback" + icon_state = "vox_razor" + +/datum/sprite_accessory/hair/vox/vox_razor_clipped + name = "Clipped Vox Razorback" + icon_state = "vox_razor_clipped" + +// Apollo-specific + +/datum/sprite_accessory/hair/wryn + species_allowed = list("Wryn") + +/datum/sprite_accessory/hair/wryn/wry_antennae_default + name = "Antennae" + icon_state = "wryn_antennae" + +/datum/sprite_accessory/hair/nucleation + species_allowed = list("Nucleation") + +/datum/sprite_accessory/hair/nucleation/nuc_crystals + name = "Nucleation Crystals" + icon_state = "nuc_crystal" + +/datum/sprite_accessory/hair/nucleation/nuc_betaburns + name = "Nucleation Beta Burns" + icon_state = "nuc_betaburns" + +/datum/sprite_accessory/hair/nucleation/nuc_fallout + name = "Nucleation Fallout" + icon_state = "nuc_fallout" + +/datum/sprite_accessory/hair/nucleation/nuc_frission + name = "Nucleation Frission" + icon_state = "nuc_frission" + +/datum/sprite_accessory/hair/nucleation/nuc_radical + name = "Nucleation Free Radical" + icon_state = "nuc_radical" + +/datum/sprite_accessory/hair/nucleation/nuc_gammaray + name = "Nucleation Gamma Ray" + icon_state = "nuc_gammaray" + +/datum/sprite_accessory/hair/nucleation/nuc_neutron + name = "Nucleation Neutron Bomb" + icon_state = "nuc_neutron" /* @@ -573,608 +833,232 @@ */ /datum/sprite_accessory/facial_hair - icon = 'icons/mob/human_face.dmi' gender = MALE // barf (unless you're a dorf, dorfs dig chix /w beards :P) - shaved - name = "Shaved" - icon_state = "bald" - gender = NEUTER - species_allowed = list("Human", "Unathi", "Tajaran", "Skrell", "Vox", "Diona", "Kidan", "Greys", "Vulpkanin", "Slime People") +/datum/sprite_accessory/facial_hair/shaved + name = "Shaved" + icon_state = "bald" + gender = NEUTER + species_allowed = list("Human", "Unathi", "Tajaran", "Skrell", "Vox", "Diona", "Kidan", "Greys", "Vulpkanin", "Slime People") - watson - name = "Watson Mustache" - icon_state = "facial_watson" +/datum/sprite_accessory/facial_hair/watson + name = "Watson Mustache" + icon_state = "facial_watson" - hogan - name = "Hulk Hogan Mustache" - icon_state = "facial_hogan" //-Neek +/datum/sprite_accessory/facial_hair/hogan + name = "Hulk Hogan Mustache" + icon_state = "facial_hogan" //-Neek - vandyke - name = "Van Dyke Mustache" - icon_state = "facial_vandyke" +/datum/sprite_accessory/facial_hair/vandyke + name = "Van Dyke Mustache" + icon_state = "facial_vandyke" - chaplin - name = "Square Mustache" - icon_state = "facial_chaplin" +/datum/sprite_accessory/facial_hair/chaplin + name = "Square Mustache" + icon_state = "facial_chaplin" - selleck - name = "Selleck Mustache" - icon_state = "facial_selleck" +/datum/sprite_accessory/facial_hair/selleck + name = "Selleck Mustache" + icon_state = "facial_selleck" - neckbeard - name = "Neckbeard" - icon_state = "facial_neckbeard" +/datum/sprite_accessory/facial_hair/neckbeard + name = "Neckbeard" + icon_state = "facial_neckbeard" - fullbeard - name = "Full Beard" - icon_state = "facial_fullbeard" +/datum/sprite_accessory/facial_hair/fullbeard + name = "Full Beard" + icon_state = "facial_fullbeard" - longbeard - name = "Long Beard" - icon_state = "facial_longbeard" +/datum/sprite_accessory/facial_hair/longbeard + name = "Long Beard" + icon_state = "facial_longbeard" - vlongbeard - name = "Very Long Beard" - icon_state = "facial_wise" +/datum/sprite_accessory/facial_hair/vlongbeard + name = "Very Long Beard" + icon_state = "facial_wise" - elvis - name = "Elvis Sideburns" - icon_state = "facial_elvis" - species_allowed = list("Human","Unathi") +/datum/sprite_accessory/facial_hair/elvis + name = "Elvis Sideburns" + icon_state = "facial_elvis" + species_allowed = list("Human", "Slime People", "Unathi") - abe - name = "Abraham Lincoln Beard" - icon_state = "facial_abe" +/datum/sprite_accessory/facial_hair/abe + name = "Abraham Lincoln Beard" + icon_state = "facial_abe" - chinstrap - name = "Chinstrap" - icon_state = "facial_chin" +/datum/sprite_accessory/facial_hair/chinstrap + name = "Chinstrap" + icon_state = "facial_chin" - hip - name = "Hipster Beard" - icon_state = "facial_hip" +/datum/sprite_accessory/facial_hair/hip + name = "Hipster Beard" + icon_state = "facial_hip" - gt - name = "Goatee" - icon_state = "facial_gt" +/datum/sprite_accessory/facial_hair/gt + name = "Goatee" + icon_state = "facial_gt" - jensen - name = "Adam Jensen Beard" - icon_state = "facial_jensen" +/datum/sprite_accessory/facial_hair/jensen + name = "Adam Jensen Beard" + icon_state = "facial_jensen" - dwarf - name = "Dwarf Beard" - icon_state = "facial_dwarf" +/datum/sprite_accessory/facial_hair/dwarf + name = "Dwarf Beard" + icon_state = "facial_dwarf" ////////////////////////////// //////START VG HAIRSTYLES///// ////////////////////////////// - britstache - name = "Brit Stache" - icon_state = "facial_britstache" +/datum/sprite_accessory/facial_hair/britstache + name = "Brit Stache" + icon_state = "facial_britstache" - martialartist - name = "Martial Artist" - icon_state = "facial_martialartist" +/datum/sprite_accessory/facial_hair/martialartist + name = "Martial Artist" + icon_state = "facial_martialartist" - moonshiner - name = "Moonshiner" - icon_state = "facial_moonshiner" +/datum/sprite_accessory/facial_hair/moonshiner + name = "Moonshiner" + icon_state = "facial_moonshiner" - tribeard - name = "Tri-beard" - icon_state = "facial_tribeard" +/datum/sprite_accessory/facial_hair/tribeard + name = "Tri-beard" + icon_state = "facial_tribeard" - unshaven - name = "Unshaven" - icon_state = "facial_unshaven" +/datum/sprite_accessory/facial_hair/unshaven + name = "Unshaven" + icon_state = "facial_unshaven" ////////////////////////////// //////END VG HAIRSTYLES/////// ////////////////////////////// -/* -/////////////////////////////////// -/ =---------------------------= / -/ == Alien Style Definitions == / -/ =---------------------------= / -/////////////////////////////////// -*/ +/datum/sprite_accessory/facial_hair/tajara + species_allowed = list("Tajaran") -/datum/sprite_accessory/hair +/datum/sprite_accessory/facial_hair/tajara/taj_sideburns + name = "Tajara Sideburns" + icon_state = "facial_sideburns" - una_horns - name = "Unathi Horns" - icon_state = "soghun_horns" - species_allowed = list("Unathi") +/datum/sprite_accessory/facial_hair/tajara/taj_mutton + name = "Tajara Mutton" + icon_state = "facial_mutton" - skr_tentacle_m - name = "Skrell Male Tentacles" - icon_state = "skrell_hair_m" - species_allowed = list("Skrell") - gender = MALE +/datum/sprite_accessory/facial_hair/tajara/taj_pencilstache + name = "Tajara Pencilstache" + icon_state = "facial_pencilstache" - skr_tentacle_f - name = "Skrell Female Tentacles" - icon_state = "skrell_hair_f" - species_allowed = list("Skrell") - gender = FEMALE +/datum/sprite_accessory/facial_hair/tajara/taj_moustache + name = "Tajara Moustache" + icon_state = "facial_moustache" - skr_gold_m - name = "Gold plated Skrell Male Tentacles" - icon_state = "skrell_hair_m" - species_allowed = list("Skrell") - gender = MALE - secondary_theme = "gold" - no_sec_colour = 1 +/datum/sprite_accessory/facial_hair/tajara/taj_goatee + name = "Tajara Goatee" + icon_state = "facial_goatee" - skr_gold_f - name = "Gold chained Skrell Female Tentacles" - icon_state = "skrell_hair_f" - species_allowed = list("Skrell") - gender = FEMALE - secondary_theme = "gold" - no_sec_colour = 1 +/datum/sprite_accessory/facial_hair/tajara/taj_smallstache + name = "Tajara Smallstache" + icon_state = "facial_smallstache" + +/datum/sprite_accessory/facial_hair/vox + species_allowed = list("Vox") + gender = NEUTER + +/datum/sprite_accessory/facial_hair/vox/vox_colonel + name = "Vox Colonel Beard" + icon_state = "vox_colonel" + +/datum/sprite_accessory/facial_hair/vox/vox_long + name = "Long Mustache" + icon_state = "vox_fu" + +/datum/sprite_accessory/facial_hair/vox/vox_neck + name = "Neck Quills" + icon_state = "vox_neck" + +/datum/sprite_accessory/facial_hair/vox/vox_beard + name = "Vox Quill Beard" + icon_state = "vox_beard" + +/datum/sprite_accessory/facial_hair/vulpkanin + species_allowed = list("Vulpkanin") + gender = NEUTER + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_blaze + name = "Blaze" + icon_state = "vulp_facial_blaze" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_vulpine + name = "Vulpine" + icon_state = "vulp_facial_vulpine" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_vulpine + name = "Vulpine and Brows" + icon_state = "vulp_facial_vulpine_brows" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_vulpine_fluff + name = "Vulpine and Earfluff" + icon_state = "vulp_facial_vulpine_fluff" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_mask + name = "Mask" + icon_state = "vulp_facial_mask" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_patch + name = "Patch" + icon_state = "vulp_facial_patch" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_ruff + name = "Ruff" + icon_state = "vulp_facial_ruff" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_kita + name = "Kita" + icon_state = "vulp_facial_kita" + +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_swift + name = "Swift" + icon_state = "vulp_facial_swift" + +/datum/sprite_accessory/facial_hair/unathi + species_allowed = list("Unathi") + gender = NEUTER + +/datum/sprite_accessory/facial_hair/unathi/una_spines_long + name = "Long Spines" + icon_state = "soghun_longspines" + +/datum/sprite_accessory/facial_hair/unathi/una_spines_short + name = "Short Spines" + icon_state = "soghun_shortspines" + +/datum/sprite_accessory/facial_hair/unathi/una_frills_aquatic + name = "Aquatic Frills" + icon_state = "soghun_aquaticfrills" +/datum/sprite_accessory/facial_hair/unathi/una_frills_long + name = "Long Frills" + icon_state = "soghun_longfrills" - skr_clothtentacle_m - name = "Cloth draped Skrell Male Tentacles" - icon_state = "skrell_hair_m" - species_allowed = list("Skrell") - gender = MALE - secondary_theme = "cloth" - - skr_clothtentacle_f - name = "Cloth draped Skrell Female Tentacles" - icon_state = "skrell_hair_f" - species_allowed = list("Skrell") - gender = FEMALE - secondary_theme = "cloth" - - taj_hair_clean - name = "Tajara Clean" - icon_state = "hair_clean" - species_allowed = list("Tajaran") - - taj_hair_bangs - name = "Tajara Bangs" - icon_state = "hair_bangs" - species_allowed = list("Tajaran") - - taj_hair_braid - name = "Tajara Braid" - icon_state = "hair_tbraid" - species_allowed = list("Tajaran") - secondary_theme = "beads" - - taj_hair_shaggy - name = "Tajara Shaggy" - icon_state = "hair_shaggy" - species_allowed = list("Tajaran") - - taj_hair_mohawk - name = "Tajaran Mohawk" - icon_state = "hair_mohawk" - species_allowed = list("Tajaran") - - taj_hair_plait - name = "Tajara Plait" - icon_state = "hair_plait" - species_allowed = list("Tajaran") - - taj_hair_straight - name = "Tajara Straight" - icon_state = "hair_straight" - species_allowed = list("Tajaran") - - taj_hair_long - name = "Tajara Long" - icon_state = "hair_long" - species_allowed = list("Tajaran") - - taj_hair_rattail - name = "Tajara Rat Tail" - icon_state = "hair_rattail" - species_allowed = list("Tajaran") - - taj_hair_spiky - name = "Tajara Spikey" - icon_state = "hair_tajspikey" - species_allowed = list("Tajaran") - - taj_hair_messy - name = "Tajara Messy" - icon_state = "hair_messy" - species_allowed = list("Tajaran") - - taj_hair_curls - name = "Tajara Curly" - icon_state = "hair_curly" - species_allowed = list("Tajaran") - - taj_hair_retro - name = "Tajaran Ladies' Retro" - icon_state = "hair_ladies_retro" - species_allowed = list("Tajaran") - - taj_hair_victory - name = "Tajara Victory Curls" - icon_state = "hair_victory" - species_allowed = list("Tajaran") - - taj_hair_bob - name = "Tajara Bob" - icon_state = "hair_tbob" - species_allowed = list("Tajaran") - - taj_hair_fingercurl - name = "Tajara Finger Curls" - icon_state = "hair_fingerwave" - species_allowed = list("Tajaran") - -//Vulpkanin - vulp_hair_kajam - name = "Kajam" - icon_state = "kajam" - species_allowed = list("Vulpkanin") - - vulp_hair_keid - name = "Keid" - icon_state = "keid" - species_allowed = list("Vulpkanin") - - vulp_hair_adhara - name = "Adhara" - icon_state = "adhara" - species_allowed = list("Vulpkanin") - - vulp_hair_kleeia - name = "Kleeia" - icon_state = "kleeia" - species_allowed = list("Vulpkanin") - - vulp_hair_mizar - name = "Mizar" - icon_state = "mizar" - species_allowed = list("Vulpkanin") - - vulp_hair_apollo - name = "Apollo" - icon_state = "apollo" - species_allowed = list("Vulpkanin") - - vulp_hair_belle - name = "Belle" - icon_state = "belle" - species_allowed = list("Vulpkanin") - secondary_theme = "bands" - - vulp_hair_bun - name = "Bun" - icon_state = "bun" - species_allowed = list("Vulpkanin") - - vulp_hair_jagged - name = "Jagged" - icon_state = "jagged" - species_allowed = list("Vulpkanin") - - vulp_hair_curl - name = "Curl" - icon_state = "curl" - species_allowed = list("Vulpkanin") - - vulp_hair_hawk - name = "Hawk" - icon_state = "hawk" - species_allowed = list("Vulpkanin") - - vulp_hair_anita - name = "Anita" - icon_state = "anita" - species_allowed = list("Vulpkanin") - - vulp_hair_short - name = "Short" - icon_state = "short" - species_allowed = list("Vulpkanin") - - vulp_hair_spike - name = "Spike" - icon_state = "spike" - species_allowed = list("Vulpkanin") - - vulp_hair_braided - name = "Braided" - icon_state = "braided" - species_allowed = list("Vulpkanin") - secondary_theme = "beads" - -//Vox - - vox_quills_short - name = "Short Vox Quills" - icon_state = "vox_shortquills" - species_allowed = list("Vox") - - vox_crestedquills - name = "Crested Vox Quills" - icon_state = "vox_crestedquills" - species_allowed = list("Vox") - - vox_tielquills - name = "Vox Tiel Quills" - icon_state = "vox_tielquills" - species_allowed = list("Vox") - - vox_emperorquills - name = "Vox Emperor Quills" - icon_state = "vox_emperorquills" - species_allowed = list("Vox") - - vox_keelquills - name = "Vox Keel Quills" - icon_state = "vox_keelquills" - species_allowed = list("Vox") - - vox_keetquills - name = "Vox Keet Quills" - icon_state = "vox_keetquills" - species_allowed = list("Vox") - - vox_quills_kingly - name = "Kingly Vox Quills" - icon_state = "vox_kingly" - species_allowed = list("Vox") - - vox_quills_fluff - name = "Fluffy Vox Quills" - icon_state = "vox_afro" - species_allowed = list("Vox") - - vox_quills_mohawk - name = "Vox Quill Mohawk" - icon_state = "vox_mohawk" - species_allowed = list("Vox") - - vox_quills_long - name = "Long Vox Quills" - icon_state = "vox_yasu" - species_allowed = list("Vox") - - vox_horns - name = "Vox Spikes" - icon_state = "vox_horns" - species_allowed = list("Vox") - - vox_nights - name = "Vox Pigtails" - icon_state = "vox_nights" - species_allowed = list("Vox") - - vox_razor - name = "Vox Razorback" - icon_state = "vox_razor" - species_allowed = list("Vox") - - vox_razor_clipped - name = "Clipped Vox Razorback" - icon_state = "vox_razor_clipped" - species_allowed = list("Vox") - -// Apollo-specific - - //Wryn antennae - - wry_antennae_default - name = "Antennae" - icon_state = "wryn_antennae" - species_allowed = list("Wryn") - - //Nucleation "hairstyles" - - nuc_crystals - name = "Nucleation Crystals" - icon_state = "nuc_crystal" - species_allowed = list("Nucleation") - - nuc_betaburns - name = "Nucleation Beta Burns" - icon_state = "nuc_betaburns" - species_allowed = list("Nucleation") - - nuc_fallout - name = "Nucleation Fallout" - icon_state = "nuc_fallout" - species_allowed = list("Nucleation") - - nuc_frission - name = "Nucleation Frission" - icon_state = "nuc_frission" - species_allowed = list("Nucleation") - - nuc_radical - name = "Nucleation Free Radical" - icon_state = "nuc_radical" - species_allowed = list("Nucleation") - - nuc_gammaray - name = "Nucleation Gamma Ray" - icon_state = "nuc_gammaray" - species_allowed = list("Nucleation") - - nuc_neutron - name = "Nucleation Neutron Bomb" - icon_state = "nuc_neutron" - species_allowed = list("Nucleation") - -/datum/sprite_accessory/facial_hair - -//Tajara - - taj_sideburns - name = "Tajara Sideburns" - icon_state = "facial_sideburns" - species_allowed = list("Tajaran") - - taj_mutton - name = "Tajara Mutton" - icon_state = "facial_mutton" - species_allowed = list("Tajaran") - - taj_pencilstache - name = "Tajara Pencilstache" - icon_state = "facial_pencilstache" - species_allowed = list("Tajaran") - - taj_moustache - name = "Tajara Moustache" - icon_state = "facial_moustache" - species_allowed = list("Tajaran") - - taj_goatee - name = "Tajara Goatee" - icon_state = "facial_goatee" - species_allowed = list("Tajaran") - - taj_smallstache - name = "Tajara Smallstache" - icon_state = "facial_smallstache" - species_allowed = list("Tajaran") - -//Vox - - vox_colonel - name = "Vox Colonel Beard" - icon_state = "vox_colonel" - species_allowed = list("Vox") - - vox_long - name = "Long Mustache" - icon_state = "vox_fu" - species_allowed = list("Vox") - - vox_neck - name = "Neck Quills" - icon_state = "vox_neck" - species_allowed = list("Vox") - - vox_beard - name = "Vox Quill Beard" - icon_state = "vox_beard" - species_allowed = list("Vox") - -//Vulpkanin - - vulp_blaze - name = "Blaze" - icon_state = "vulp_facial_blaze" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_vulpine - name = "Vulpine" - icon_state = "vulp_facial_vulpine" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_vulpine - name = "Vulpine and Brows" - icon_state = "vulp_facial_vulpine_brows" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_vulpine_fluff - name = "Vulpine and Earfluff" - icon_state = "vulp_facial_vulpine_fluff" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_mask - name = "Mask" - icon_state = "vulp_facial_mask" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_patch - name = "Patch" - icon_state = "vulp_facial_patch" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_ruff - name = "Ruff" - icon_state = "vulp_facial_ruff" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_kita - name = "Kita" - icon_state = "vulp_facial_kita" - species_allowed = list("Vulpkanin") - gender = NEUTER - - vulp_swift - name = "Swift" - icon_state = "vulp_facial_swift" - species_allowed = list("Vulpkanin") - gender = NEUTER - -//Unathi - - una_spines_long - name = "Long Spines" - icon_state = "soghun_longspines" - species_allowed = list("Unathi") - gender = NEUTER - - una_spines_short - name = "Short Spines" - icon_state = "soghun_shortspines" - species_allowed = list("Unathi") - gender = NEUTER - - una_frills_aquatic - name = "Aquatic Frills" - icon_state = "soghun_aquaticfrills" - species_allowed = list("Unathi") - gender = NEUTER - - una_frills_long - name = "Long Frills" - icon_state = "soghun_longfrills" - species_allowed = list("Unathi") - gender = NEUTER - - una_frills_short - name = "Short Frills" - icon_state = "soghun_shortfrills" - species_allowed = list("Unathi") - gender = NEUTER - - una_frills_webbed_aquatic - name = "Aquatic Webbed Frills" - icon_state = "soghun_aquaticfrills" - species_allowed = list("Unathi") - secondary_theme = "webbing" - gender = NEUTER - - una_frills_webbed_long - name = "Long Webbed Frills" - icon_state = "soghun_longfrills" - species_allowed = list("Unathi") - secondary_theme = "webbing" - gender = NEUTER - - una_frills_webbed_short - name = "Short Webbed Frills" - icon_state = "soghun_shortfrills" - species_allowed = list("Unathi") - secondary_theme = "webbing" - gender = NEUTER +/datum/sprite_accessory/facial_hair/unathi/una_frills_short + name = "Short Frills" + icon_state = "soghun_shortfrills" +/datum/sprite_accessory/facial_hair/unathi/una_frills_webbed_aquatic + name = "Aquatic Webbed Frills" + icon_state = "soghun_aquaticfrills" + secondary_theme = "webbing" + +/datum/sprite_accessory/facial_hair/unathi/una_frills_webbed_long + name = "Long Webbed Frills" + icon_state = "soghun_longfrills" + secondary_theme = "webbing" + +/datum/sprite_accessory/facial_hair/unathi/una_frills_webbed_short + name = "Short Webbed Frills" + icon_state = "soghun_shortfrills" + secondary_theme = "webbing" //skin styles - WIP //going to have to re-integrate this with surgery @@ -1182,420 +1066,355 @@ /datum/sprite_accessory/skin icon = 'icons/mob/human_races/r_human.dmi' - human - name = "Default human skin" - icon_state = "default" - species_allowed = list("Human") +/datum/sprite_accessory/skin/human + name = "Default human skin" + icon_state = "default" + species_allowed = list("Human") - human_tatt01 - name = "Tatt01 human skin" - icon_state = "tatt1" - species_allowed = list("Human") +/datum/sprite_accessory/skin/human/human_tatt01 + name = "Tatt01 human skin" + icon_state = "tatt1" - tajaran - name = "Default tajaran skin" - icon_state = "default" - icon = 'icons/mob/human_races/r_tajaran.dmi' - species_allowed = list("Tajaran") +/datum/sprite_accessory/skin/tajaran + name = "Default tajaran skin" + icon_state = "default" + icon = 'icons/mob/human_races/r_tajaran.dmi' + species_allowed = list("Tajaran") - vulpkanin - name = "Default Vulpkanin skin" - icon_state = "default" - icon = 'icons/mob/human_races/r_vulpkanin.dmi' - species_allowed = list("Vulpkanin") +/datum/sprite_accessory/skin/vulpkanin + name = "Default Vulpkanin skin" + icon_state = "default" + icon = 'icons/mob/human_races/r_vulpkanin.dmi' + species_allowed = list("Vulpkanin") - unathi - name = "Default Unathi skin" - icon_state = "default" - icon = 'icons/mob/human_races/r_lizard.dmi' - species_allowed = list("Unathi") +/datum/sprite_accessory/skin/unathi + name = "Default Unathi skin" + icon_state = "default" + icon = 'icons/mob/human_races/r_lizard.dmi' + species_allowed = list("Unathi") - skrell - name = "Default skrell skin" - icon_state = "default" - icon = 'icons/mob/human_races/r_skrell.dmi' - species_allowed = list("Skrell") +/datum/sprite_accessory/skin/skrell + name = "Default skrell skin" + icon_state = "default" + icon = 'icons/mob/human_races/r_skrell.dmi' + species_allowed = list("Skrell") /////////////////////////// // Underwear Definitions // /////////////////////////// /datum/sprite_accessory/underwear icon = 'icons/mob/underwear.dmi' + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Drask", "Skeleton") + gender = NEUTER - species_allowed = list("Human", "Unathi", "Vox", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine") +/datum/sprite_accessory/underwear/nude + name = "Nude" + icon_state = null + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Vox", "Drask", "Skeleton") - nude - name = "Nude" - icon_state = null - gender = NEUTER +/datum/sprite_accessory/underwear/male + gender = MALE - male_white - name = "Mens White" - icon_state = "male_white" - gender = MALE +/datum/sprite_accessory/underwear/male/male_white + name = "Mens White" + icon_state = "male_white" - male_grey - name = "Mens Grey" - icon_state = "male_grey" - gender = MALE +/datum/sprite_accessory/underwear/male/male_grey + name = "Mens Grey" + icon_state = "male_grey" - male_grey - name = "Mens Grey Alt" - icon_state = "male_greyalt" - gender = MALE +/datum/sprite_accessory/underwear/male/male_grey + name = "Mens Grey Alt" + icon_state = "male_greyalt" - male_green - name = "Mens Green" - icon_state = "male_green" - gender = MALE +/datum/sprite_accessory/underwear/male/male_green + name = "Mens Green" + icon_state = "male_green" - male_blue - name = "Mens Blue" - icon_state = "male_blue" - gender = MALE +/datum/sprite_accessory/underwear/male/male_blue + name = "Mens Blue" + icon_state = "male_blue" - male_red - name = "Mens Red" - icon_state = "male_red" - gender = MALE +/datum/sprite_accessory/underwear/male/male_red + name = "Mens Red" + icon_state = "male_red" - male_black - name = "Mens Black" - icon_state = "male_black" - gender = MALE +/datum/sprite_accessory/underwear/male/male_black + name = "Mens Black" + icon_state = "male_black" - male_black_alt - name = "Mens Black Alt" - icon_state = "male_blackalt" - gender = MALE +/datum/sprite_accessory/underwear/male/male_black_alt + name = "Mens Black Alt" + icon_state = "male_blackalt" - male_striped - name = "Mens Striped" - icon_state = "male_stripe" - gender = MALE +/datum/sprite_accessory/underwear/male/male_striped + name = "Mens Striped" + icon_state = "male_stripe" - male_heart - name = "Mens Hearts" - icon_state = "male_hearts" - gender = MALE +/datum/sprite_accessory/underwear/male/male_heart + name = "Mens Hearts" + icon_state = "male_hearts" - male_kinky - name = "Mens Kinky" - icon_state = "male_kinky" - gender = MALE +/datum/sprite_accessory/underwear/male/male_kinky + name = "Mens Kinky" + icon_state = "male_kinky" - male_mankini - name = "Mankini" - icon_state = "male_mankini" - gender = MALE +/datum/sprite_accessory/underwear/male/male_mankini + name = "Mankini" + icon_state = "male_mankini" - female_red - name = "Ladies Red" - icon_state = "female_red" - gender = FEMALE +/datum/sprite_accessory/underwear/female + gender = FEMALE - female_green - name = "Ladies Green" - icon_state = "female_green" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_red + name = "Ladies Red" + icon_state = "female_red" - female_white - name = "Ladies White" - icon_state = "female_white" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_green + name = "Ladies Green" + icon_state = "female_green" - female_whiter - name = "Ladies Whiter" - icon_state = "female_whiter" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_white + name = "Ladies White" + icon_state = "female_white" - female_whitealt - name = "Ladies White Alt" - icon_state = "female_whitealt" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_whiter + name = "Ladies Whiter" + icon_state = "female_whiter" - female_yellow - name = "Ladies Yellow" - icon_state = "female_yellow" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_whitealt + name = "Ladies White Alt" + icon_state = "female_whitealt" - female_blue - name = "Ladies Blue" - icon_state = "female_blue" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_yellow + name = "Ladies Yellow" + icon_state = "female_yellow" - female_babyblue - name = "Ladies Baby Blue" - icon_state = "female_babyblue" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_blue + name = "Ladies Blue" + icon_state = "female_blue" +/datum/sprite_accessory/underwear/female/female_babyblue + name = "Ladies Baby Blue" + icon_state = "female_babyblue" - female_black - name = "Ladies Black" - icon_state = "female_black" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_black + name = "Ladies Black" + icon_state = "female_black" - female_blacker - name = "Ladies Blacker" - icon_state = "female_blacker" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_blacker + name = "Ladies Blacker" + icon_state = "female_blacker" - female_blackalt - name = "Ladies Black Alt" - icon_state = "female_blackalt" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_blackalt + name = "Ladies Black Alt" + icon_state = "female_blackalt" - female_kinky - name = "Ladies Kinky" - icon_state = "female_kinky" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_kinky + name = "Ladies Kinky" + icon_state = "female_kinky" - female_babydoll - name = "Ladies Full Grey" - icon_state = "female_babydoll" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_babydoll + name = "Ladies Full Grey" + icon_state = "female_babydoll" - female_pink - name = "Ladies Pink" - icon_state = "female_pink" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_pink + name = "Ladies Pink" + icon_state = "female_pink" - female_thong - name = "Ladies Thong" - icon_state = "female_thong" - gender = FEMALE +/datum/sprite_accessory/underwear/female/female_thong + name = "Ladies Thong" + icon_state = "female_thong" //////////////////////////// // Undershirt Definitions // //////////////////////////// /datum/sprite_accessory/undershirt icon = 'icons/mob/underwear.dmi' - - species_allowed = list("Human", "Unathi", "Vox", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Skeleton", "Drask") + gender = NEUTER /datum/sprite_accessory/undershirt/nude name = "Nude" icon_state = null - gender = NEUTER + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Vox", "Drask", "Skeleton") //plain color shirts /datum/sprite_accessory/undershirt/shirt_white name = "White Shirt" icon_state = "shirt_white" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_black name = "Black Shirt" icon_state = "shirt_black" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_blacker name = "Blacker Shirt" icon_state = "shirt_blacker" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_grey name = "Grey Shirt" icon_state = "shirt_grey" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_red name = "Red Shirt" icon_state = "shirt_red" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_blue name = "Blue Shirt" icon_state = "shirt_blue" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_yellow name = "Yellow Shirt" icon_state = "shirt_yellow" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_green name = "Green Shirt" icon_state = "shirt_green" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_darkblue name = "Dark Blue Shirt" icon_state = "shirt_darkblue" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_darkred name = "Dark Red Shirt" icon_state = "shirt_darkred" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_darkgreen name = "Dark Green Shirt" icon_state = "shirt_darkgreen" - gender = NEUTER //end plain color shirts +//graphic shirts /datum/sprite_accessory/undershirt/shirt_heart name = "Heart Shirt" icon_state = "shirt_heart" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_corgi name = "Corgi Shirt" icon_state = "shirt_corgi" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_clown name = "Clown Shirt" icon_state = "shirt_clown" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_alien name = "Alien Shirt" icon_state = "shirt_alien" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_jack name = "Union Jack Shirt" icon_state = "shirt_jack" - gender = NEUTER /datum/sprite_accessory/undershirt/love_nt name = "I Love NT Shirt" icon_state = "shirt_lovent" - gender = NEUTER /datum/sprite_accessory/undershirt/peace name = "Peace Shirt" icon_state = "shirt_peace" - gender = NEUTER /datum/sprite_accessory/undershirt/mondmondjaja name = "Band Shirt" icon_state = "shirt_band" - gender = NEUTER /datum/sprite_accessory/undershirt/pacman name = "Pogoman Shirt" icon_state = "shirt_pogoman" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_ss13 name = "SS13 Shirt" icon_state = "shirt_ss13" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_question name = "Question Mark Shirt" icon_state = "shirt_question" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_skull name = "Skull Shirt" icon_state = "shirt_skull" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_commie name = "Communist Shirt" icon_state = "shirt_commie" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_nano name = "Nanotrasen Shirt" icon_state = "shirt_nano" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_meat name = "Meat Shirt" icon_state = "shirt_meat" - gender = NEUTER /datum/sprite_accessory/undershirt/shirt_tiedie name = "Tiedie Shirt" icon_state = "shirt_tiedie" - gender = NEUTER /datum/sprite_accessory/undershirt/blue_striped name = "Striped Blue Shirt" icon_state = "shirt_bluestripe" - gender = NEUTER /datum/sprite_accessory/undershirt/brightblue_striped name = "Striped Bright Blue Shirt" icon_state = "shirt_brightbluestripe" - gender = NEUTER - +//end graphic shirts //short sleeved /datum/sprite_accessory/undershirt/short_white name = "White Short-sleeved Shirt" icon_state = "short_white" - gender = NEUTER /datum/sprite_accessory/undershirt/short_purple name = "Purple Short-sleeved Shirt" icon_state = "short_purple" - gender = NEUTER /datum/sprite_accessory/undershirt/short_blue name = "Blue Short-sleeved Shirt" icon_state = "short_blue" - gender = NEUTER /datum/sprite_accessory/undershirt/short_green name = "Green Short-sleeved Shirt" icon_state = "short_green" - gender = NEUTER /datum/sprite_accessory/undershirt/short_black name = "Black Short-sleeved Shirt" icon_state = "short_black" - gender = NEUTER //end short sleeved //polo shirts /datum/sprite_accessory/undershirt/polo_blue name = "Blue Polo Shirt" icon_state = "polo_blue" - gender = NEUTER /datum/sprite_accessory/undershirt/polo_red name = "Red Polo Shirt" icon_state = "polo_red" - gender = NEUTER /datum/sprite_accessory/undershirt/polo_greyelllow name = "Grey-Yellow Polo Shirt" icon_state = "polo_greyellow" - gender = NEUTER //end polo shirts //sport shirts /datum/sprite_accessory/undershirt/sport_green name = "Green Sports Shirt" icon_state = "sport_green" - gender = NEUTER /datum/sprite_accessory/undershirt/sport_red name = "Red Sports Shirt" icon_state = "sport_red" - gender = NEUTER /datum/sprite_accessory/undershirt/sport_blue name = "Blue Sports Shirt" icon_state = "sport_blue" - gender = NEUTER -//end sport shirts /datum/sprite_accessory/undershirt/jersey_red name = "Red Jersey" icon_state = "jersey_red" - gender = NEUTER /datum/sprite_accessory/undershirt/jersey_blue name = "Blue Jersey" icon_state = "jersey_blue" - gender = NEUTER - +//end sport shirts //tanktops /datum/sprite_accessory/undershirt/tank_redtop @@ -1616,39 +1435,30 @@ /datum/sprite_accessory/undershirt/tank_white name = "White Tank-Top" icon_state = "tank_white" - gender = NEUTER /datum/sprite_accessory/undershirt/tank_black name = "Black Tank-Top" icon_state = "tank_black" - gender = NEUTER /datum/sprite_accessory/undershirt/tank_blacker name = "Blacker Tank-Top" icon_state = "tank_blacker" - gender = NEUTER /datum/sprite_accessory/undershirt/tank_grey name = "Grey Tank-Top" icon_state = "tank_grey" - gender = NEUTER /datum/sprite_accessory/undershirt/tank_red name = "Red Tank-Top" icon_state = "tank_red" - gender = NEUTER /datum/sprite_accessory/undershirt/tank_fire name = "Fire Tank-Top" icon_state = "tank_fire" - gender = NEUTER /datum/sprite_accessory/undershirt/tank_stripes name = "Striped Tank-Top" icon_state = "tank_stripes" - gender = NEUTER - - //end tanktops /////////////////////// @@ -1657,173 +1467,126 @@ /datum/sprite_accessory/socks icon = 'icons/mob/underwear.dmi' species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton") + gender = NEUTER /datum/sprite_accessory/socks/nude name = "Nude" icon_state = null - gender = NEUTER - species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton", "Vox") - + species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton", "Vox", "Drask") /datum/sprite_accessory/socks/white_norm name = "Normal White" icon_state = "white_norm" - gender = NEUTER - /datum/sprite_accessory/socks/black_norm name = "Normal Black" icon_state = "black_norm" - gender = NEUTER - /datum/sprite_accessory/socks/white_short name = "Short White" icon_state = "white_short" - gender = NEUTER - /datum/sprite_accessory/socks/black_short name = "Short Black" icon_state = "black_short" - gender = NEUTER - /datum/sprite_accessory/socks/white_knee name = "Knee-high White" icon_state = "white_knee" - gender = NEUTER - /datum/sprite_accessory/socks/black_knee name = "Knee-high Black" icon_state = "black_knee" - gender = NEUTER - /datum/sprite_accessory/socks/thin_knee name = "Knee-high Thin" icon_state = "thin_knee" gender = FEMALE - /datum/sprite_accessory/socks/striped_knee name = "Knee-high Striped" icon_state = "striped_knee" - gender = NEUTER - /datum/sprite_accessory/socks/rainbow_knee name = "Knee-high Rainbow" icon_state = "rainbow_knee" - gender = NEUTER - /datum/sprite_accessory/socks/white_thigh name = "Thigh-high White" icon_state = "white_thigh" - gender = NEUTER /datum/sprite_accessory/socks/black_thigh name = "Thigh-high Black" icon_state = "black_thigh" - gender = NEUTER - /datum/sprite_accessory/socks/thin_thigh name = "Thigh-high Thin" icon_state = "thin_thigh" gender = FEMALE - /datum/sprite_accessory/socks/striped_thigh name = "Thigh-high Striped" icon_state = "striped_thigh" - gender = NEUTER - /datum/sprite_accessory/socks/rainbow_thigh name = "Thigh-high Rainbow" icon_state = "rainbow_thigh" - gender = NEUTER - /datum/sprite_accessory/socks/pantyhose name = "Pantyhose" icon_state = "pantyhose" gender = FEMALE - /datum/sprite_accessory/socks/black_fishnet name = "Black Fishnet" icon_state = "black_fishnet" - gender = NEUTER -/datum/sprite_accessory/socks/vox_white +/datum/sprite_accessory/socks/vox + species_allowed = list("Vox") + +/datum/sprite_accessory/socks/vox/vox_white name = "Vox White" icon_state = "vox_white" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_black +/datum/sprite_accessory/socks/vox/vox_black name = "Vox Black" icon_state = "vox_black" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_thin +/datum/sprite_accessory/socks/vox/vox_thin name = "Vox Black Thin" icon_state = "vox_blackthin" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_rainbow +/datum/sprite_accessory/socks/vox/vox_rainbow name = "Vox Rainbow" icon_state = "vox_rainbow" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_stripped +/datum/sprite_accessory/socks/vox/vox_stripped name = "Vox Striped" icon_state = "vox_white" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_white_thigh +/datum/sprite_accessory/socks/vox/vox_white_thigh name = "Vox Thigh-high White" icon_state = "vox_whiteTH" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_black_thigh +/datum/sprite_accessory/socks/vox/vox_black_thigh name = "Vox Thigh-high Black" icon_state = "vox_blackTH" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_thin_thigh +/datum/sprite_accessory/socks/vox/vox_thin_thigh name = "Vox Thigh-high Thin" icon_state = "vox_blackthinTH" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_rainbow_thigh +/datum/sprite_accessory/socks/vox/vox_rainbow_thigh name = "Vox Thigh-high Rainbow" icon_state = "vox_rainbowTH" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_striped_thigh +/datum/sprite_accessory/socks/vox/vox_striped_thigh name = "Vox Thigh-high Striped" icon_state = "vox_stripedTH" - gender = NEUTER - species_allowed = list("Vox") -/datum/sprite_accessory/socks/vox_fishnet +/datum/sprite_accessory/socks/vox/vox_fishnet name = "Vox Fishnets" icon_state = "vox_fishnet" - gender = NEUTER - species_allowed = list("Vox") /* HEAD ACCESSORY */ @@ -1837,134 +1600,122 @@ species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton", "Vox") icon_state = "accessory_none" -/datum/sprite_accessory/head_accessory/simple - name = "Simple" +/datum/sprite_accessory/head_accessory/unathi species_allowed = list("Unathi") + +/datum/sprite_accessory/head_accessory/unathi/simple + name = "Simple" icon_state = "horns_simple" -/datum/sprite_accessory/head_accessory/short +/datum/sprite_accessory/head_accessory/unathi/short name = "Short" - species_allowed = list("Unathi") icon_state = "horns_short" -/datum/sprite_accessory/head_accessory/curled +/datum/sprite_accessory/head_accessory/unathi/curled name = "Curled" - species_allowed = list("Unathi") icon_state = "horns_curled" -/datum/sprite_accessory/head_accessory/ram +/datum/sprite_accessory/head_accessory/unathi/ram name = "Ram" - species_allowed = list("Unathi") icon_state = "horns_ram" -/datum/sprite_accessory/head_accessory/outears_taj - name = "Tajaran Outer Ears" +/datum/sprite_accessory/head_accessory/tajara species_allowed = list("Tajaran") + +/datum/sprite_accessory/head_accessory/tajara/outears_taj + name = "Tajaran Outer Ears" icon_state = "markings_face_outears_taj" -/datum/sprite_accessory/head_accessory/inears_taj +/datum/sprite_accessory/head_accessory/tajara/inears_taj name = "Tajaran Inner Ears" - species_allowed = list("Tajaran") icon_state = "markings_face_inears_taj" -/datum/sprite_accessory/head_accessory/muzzle_taj +/datum/sprite_accessory/head_accessory/tajara/muzzle_taj name = "Tajaran Muzzle" - species_allowed = list("Tajaran") icon_state = "markings_face_muzzle_taj" -/datum/sprite_accessory/head_accessory/muzzle_and_inears_taj +/datum/sprite_accessory/head_accessory/tajara/muzzle_and_inears_taj name = "Tajaran Muzzle and Inner Ears" - species_allowed = list("Tajaran") icon_state = "markings_face_muzzle_and_inears_taj" -/datum/sprite_accessory/head_accessory/vulp_earfluff - icon = 'icons/mob/human_face.dmi' - name = "Vulpkanin Earfluff" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_earfluff" - -/datum/sprite_accessory/head_accessory/vulp_blaze - icon = 'icons/mob/human_face.dmi' - name = "Blaze" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_blaze" - -/datum/sprite_accessory/head_accessory/vulp_vulpine - icon = 'icons/mob/human_face.dmi' - name = "Vulpine" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_vulpine" - -/datum/sprite_accessory/head_accessory/vulp_vulpine_fluff - icon = 'icons/mob/human_face.dmi' - name = "Vulpine and Earfluff" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_vulpine_fluff" - -/datum/sprite_accessory/head_accessory/vulp_mask - icon = 'icons/mob/human_face.dmi' - name = "Mask" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_mask" - -/datum/sprite_accessory/head_accessory/vulp_patch - icon = 'icons/mob/human_face.dmi' - name = "Patch" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_patch" - -/datum/sprite_accessory/head_accessory/vulp_ruff - icon = 'icons/mob/human_face.dmi' - name = "Ruff" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_ruff" - -/datum/sprite_accessory/head_accessory/vulp_kita - icon = 'icons/mob/human_face.dmi' - name = "Kita" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_kita" - -/datum/sprite_accessory/head_accessory/vulp_swift - icon = 'icons/mob/human_face.dmi' - name = "Swift" - species_allowed = list("Vulpkanin") - icon_state = "vulp_facial_swift" - -/datum/sprite_accessory/head_accessory/vulp_nose - name = "Vulpkanin Nose" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_nose_vulp" - -/datum/sprite_accessory/head_accessory/taj_ears +/datum/sprite_accessory/head_accessory/tajara/taj_ears icon = 'icons/mob/human_face.dmi' name = "Tajaran Ears" - species_allowed = list("Tajaran") icon_state = "ears_plain" -/datum/sprite_accessory/head_accessory/taj_nose +/datum/sprite_accessory/head_accessory/tajara/taj_nose name = "Tajaran Nose" - species_allowed = list("Tajaran") icon_state = "markings_face_nose_taj" -/datum/sprite_accessory/head_accessory/ipc_antennae - name = "Antennae" +/datum/sprite_accessory/head_accessory/vulpkanin + species_allowed = list("Vulpkanin") + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_earfluff + icon = 'icons/mob/human_face.dmi' + name = "Vulpkanin Earfluff" + icon_state = "vulp_facial_earfluff" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_blaze + icon = 'icons/mob/human_face.dmi' + name = "Blaze" + icon_state = "vulp_facial_blaze" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_vulpine + icon = 'icons/mob/human_face.dmi' + name = "Vulpine" + icon_state = "vulp_facial_vulpine" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_vulpine_fluff + icon = 'icons/mob/human_face.dmi' + name = "Vulpine and Earfluff" + icon_state = "vulp_facial_vulpine_fluff" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_mask + icon = 'icons/mob/human_face.dmi' + name = "Mask" + icon_state = "vulp_facial_mask" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_patch + icon = 'icons/mob/human_face.dmi' + name = "Patch" + icon_state = "vulp_facial_patch" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_ruff + icon = 'icons/mob/human_face.dmi' + name = "Ruff" + icon_state = "vulp_facial_ruff" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_kita + icon = 'icons/mob/human_face.dmi' + name = "Kita" + icon_state = "vulp_facial_kita" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_swift + icon = 'icons/mob/human_face.dmi' + name = "Swift" + icon_state = "vulp_facial_swift" + +/datum/sprite_accessory/head_accessory/vulpkanin/vulp_nose + name = "Vulpkanin Nose" + icon_state = "markings_face_nose_vulp" + +/datum/sprite_accessory/head_accessory/ipc species_allowed = list("Machine") + +/datum/sprite_accessory/head_accessory/ipc/ipc_antennae + name = "Antennae" icon_state = "antennae" -/datum/sprite_accessory/head_accessory/ipc_tv_antennae +/datum/sprite_accessory/head_accessory/ipc/ipc_tv_antennae name = "T.V. Antennae" - species_allowed = list("Machine") icon_state = "tvantennae" -/datum/sprite_accessory/head_accessory/ipc_tesla_antennae +/datum/sprite_accessory/head_accessory/ipc/ipc_tesla_antennae name = "Tesla Antennae" - species_allowed = list("Machine") icon_state = "tesla" -/datum/sprite_accessory/head_accessory/ipc_light +/datum/sprite_accessory/head_accessory/ipc/ipc_light name = "Head Light" - species_allowed = list("Machine") icon_state = "light" @@ -1986,246 +1737,220 @@ species_allowed = list("Unathi", "Tajaran", "Vulpkanin") icon_state = "markings_tiger" -/datum/sprite_accessory/body_markings/stripe_una - name = "Unathi Stripe" +/datum/sprite_accessory/body_markings/unathi species_allowed = list("Unathi") + +/datum/sprite_accessory/body_markings/unathi/stripe_una + name = "Unathi Stripe" icon_state = "markings_stripe_una" -/datum/sprite_accessory/body_markings/belly_narrow_una +/datum/sprite_accessory/body_markings/unathi/belly_narrow_una name = "Unathi Belly" - species_allowed = list("Unathi") icon_state = "markings_belly_narrow_una" -/datum/sprite_accessory/body_markings/banded_una +/datum/sprite_accessory/body_markings/unathi/banded_una name = "Unathi Banded" - species_allowed = list("Unathi") icon_state = "markings_banded_una" -/datum/sprite_accessory/body_markings/points_una +/datum/sprite_accessory/body_markings/unathi/points_una name = "Unathi Points" - species_allowed = list("Unathi") icon_state = "markings_points_una" -/datum/sprite_accessory/body_markings/belly_flat_taj - name = "Tajaran Belly" +/datum/sprite_accessory/body_markings/tajara species_allowed = list("Tajaran") + +/datum/sprite_accessory/body_markings/tajara/belly_flat_taj + name = "Tajaran Belly" icon_state = "markings_belly_flat_taj" -/datum/sprite_accessory/body_markings/belly_crest_taj +/datum/sprite_accessory/body_markings/tajara/belly_crest_taj name = "Tajaran Chest Crest" - species_allowed = list("Tajaran") icon_state = "markings_belly_crest_taj" -/datum/sprite_accessory/body_markings/belly_full_taj +/datum/sprite_accessory/body_markings/tajara/belly_full_taj name = "Tajaran Belly 2" - species_allowed = list("Tajaran") icon_state = "markings_belly_full_taj" -/datum/sprite_accessory/body_markings/points_taj +/datum/sprite_accessory/body_markings/tajara/points_taj name = "Tajaran Points" - species_allowed = list("Tajaran") icon_state = "markings_points_taj" -/datum/sprite_accessory/body_markings/patchy_taj +/datum/sprite_accessory/body_markings/tajara/patchy_taj name = "Tajaran Patches" - species_allowed = list("Tajaran") icon_state = "markings_patch_taj" -/datum/sprite_accessory/body_markings/belly_fox_vulp - name = "Vulpkanin Belly" +/datum/sprite_accessory/body_markings/vulpkanin species_allowed = list("Vulpkanin") + +/datum/sprite_accessory/body_markings/vulpkanin/belly_fox_vulp + name = "Vulpkanin Belly" icon_state = "markings_belly_fox_vulp" -/datum/sprite_accessory/body_markings/belly_full_vulp +/datum/sprite_accessory/body_markings/vulpkanin/belly_full_vulp name = "Vulpkanin Belly 2" - species_allowed = list("Vulpkanin") icon_state = "markings_belly_full_vulp" -/datum/sprite_accessory/body_markings/belly_crest_vulp +/datum/sprite_accessory/body_markings/vulpkanin/belly_crest_vulp name = "Vulpkanin Belly Crest" - species_allowed = list("Vulpkanin") icon_state = "markings_belly_crest_vulp" -/datum/sprite_accessory/body_markings/points_fade_vulp +/datum/sprite_accessory/body_markings/vulpkanin/points_fade_vulp name = "Vulpkanin Points" - species_allowed = list("Vulpkanin") icon_state = "markings_points_fade_vulp" -/datum/sprite_accessory/body_markings/points_fade_belly_vulp +/datum/sprite_accessory/body_markings/vulpkanin/points_fade_belly_vulp name = "Vulpkanin Points and Belly" - species_allowed = list("Vulpkanin") icon_state = "markings_points_fade_belly_vulp" -/datum/sprite_accessory/body_markings/points_fade_belly_alt_vulp +/datum/sprite_accessory/body_markings/vulpkanin/points_fade_belly_alt_vulp name = "Vulpkanin Points and Belly Alt." - species_allowed = list("Vulpkanin") icon_state = "markings_points_fade_belly_alt_vulp" -/datum/sprite_accessory/body_markings/points_sharp_vulp +/datum/sprite_accessory/body_markings/vulpkanin/points_sharp_vulp name = "Vulpkanin Points 2" - species_allowed = list("Vulpkanin") icon_state = "markings_points_sharp_vulp" -/datum/sprite_accessory/body_markings/points_crest_vulp +/datum/sprite_accessory/body_markings/vulpkanin/points_crest_vulp name = "Vulpkanin Points and Crest" - species_allowed = list("Vulpkanin") icon_state = "markings_points_crest_vulp" -/datum/sprite_accessory/body_markings/arm_spines_drask - name = "Drask Arm Spines" +/datum/sprite_accessory/body_markings/drask species_allowed = list("Drask") + +/datum/sprite_accessory/body_markings/drask/arm_spines_drask + name = "Drask Arm Spines" icon_state = "markings_armspines_drask" /datum/sprite_accessory/body_markings/head marking_location = "head" species_allowed = list() -/datum/sprite_accessory/body_markings/head/tiger_head_taj - name = "Tajaran Tiger Head" +/datum/sprite_accessory/body_markings/head/tajara species_allowed = list("Tajaran") + +/datum/sprite_accessory/body_markings/head/tajara/tiger_head_taj + name = "Tajaran Tiger Head" icon_state = "markings_head_tiger_taj" -/datum/sprite_accessory/body_markings/head/tiger_face_taj +/datum/sprite_accessory/body_markings/head/tajara/tiger_face_taj name = "Tajaran Tiger Head and Face" - species_allowed = list("Tajaran") icon_state = "markings_face_tiger_taj" -/datum/sprite_accessory/body_markings/head/outears_taj +/datum/sprite_accessory/body_markings/head/tajara/outears_taj name = "Tajaran Outer Ears" - species_allowed = list("Tajaran") icon_state = "markings_face_outears_taj" -/datum/sprite_accessory/body_markings/head/inears_taj +/datum/sprite_accessory/body_markings/head/tajara/inears_taj name = "Tajaran Inner Ears" - species_allowed = list("Tajaran") icon_state = "markings_face_inears_taj" -/datum/sprite_accessory/body_markings/head/nose_taj +/datum/sprite_accessory/body_markings/head/tajara/nose_taj name = "Tajaran Nose" - species_allowed = list("Tajaran") icon_state = "markings_face_nose_taj" -/datum/sprite_accessory/body_markings/head/muzzle_taj +/datum/sprite_accessory/body_markings/head/tajara/muzzle_taj name = "Tajaran Muzzle" - species_allowed = list("Tajaran") icon_state = "markings_face_muzzle_taj" -/datum/sprite_accessory/body_markings/head/muzzle_and_inears_taj +/datum/sprite_accessory/body_markings/head/tajara/muzzle_and_inears_taj name = "Tajaran Muzzle and Inner Ears" - species_allowed = list("Tajaran") icon_state = "markings_face_muzzle_and_inears_taj" -/datum/sprite_accessory/body_markings/head/muzzle_alt_taj //Companion marking for Tajaran Belly 2. +/datum/sprite_accessory/body_markings/head/tajara/muzzle_alt_taj //Companion marking for Tajaran Belly 2. name = "Tajaran Muzzle 2" - species_allowed = list("Tajaran") icon_state = "markings_face_full_taj" -/datum/sprite_accessory/body_markings/head/points_taj //Companion marking for Tajaran Points. +/datum/sprite_accessory/body_markings/head/tajara/points_taj //Companion marking for Tajaran Points. name = "Tajaran Points Head" - species_allowed = list("Tajaran") icon_state = "markings_face_points_taj" -/datum/sprite_accessory/body_markings/head/patchy_taj //Companion marking for Tajaran Patches. +/datum/sprite_accessory/body_markings/head/tajara/patchy_taj //Companion marking for Tajaran Patches. name = "Tajaran Patches Head" - species_allowed = list("Tajaran") icon_state = "markings_face_patch_taj" -/datum/sprite_accessory/body_markings/head/tiger_head_vulp - name = "Vulpkanin Tiger Head" +/datum/sprite_accessory/body_markings/head/vulpkanin species_allowed = list("Vulpkanin") + +/datum/sprite_accessory/body_markings/head/vulpkanin/tiger_head_vulp + name = "Vulpkanin Tiger Head" icon_state = "markings_head_tiger_vulp" -/datum/sprite_accessory/body_markings/head/tiger_face_vulp +/datum/sprite_accessory/body_markings/head/vulpkanin/tiger_face_vulp name = "Vulpkanin Tiger Head and Face" - species_allowed = list("Vulpkanin") icon_state = "markings_face_tiger_vulp" -/datum/sprite_accessory/body_markings/head/nose_default_vulp +/datum/sprite_accessory/body_markings/head/vulpkanin/nose_default_vulp name = "Vulpkanin Nose" - species_allowed = list("Vulpkanin") icon_state = "markings_face_nose_vulp" -/datum/sprite_accessory/body_markings/head/muzzle_vulp //Companion marking for Vulpkanin Belly Alt.. +/datum/sprite_accessory/body_markings/head/vulpkanin/muzzle_vulp //Companion marking for Vulpkanin Belly Alt.. name = "Vulpkanin Muzzle" - species_allowed = list("Vulpkanin") icon_state = "markings_face_full_vulp" -/datum/sprite_accessory/body_markings/head/muzzle_ears_vulp //Companion marking for Vulpkanin Belly Alt.. +/datum/sprite_accessory/body_markings/head/vulpkanin/muzzle_ears_vulp //Companion marking for Vulpkanin Belly Alt.. name = "Vulpkanin Muzzle and Ears" - species_allowed = list("Vulpkanin") icon_state = "markings_face_full_ears_vulp" -/datum/sprite_accessory/body_markings/head/points_fade_vulp //Companion marking for Vulpkanin Points Fade. +/datum/sprite_accessory/body_markings/head/vulpkanin/points_fade_vulp //Companion marking for Vulpkanin Points Fade. name = "Vulpkanin Points Head" - species_allowed = list("Vulpkanin") icon_state = "markings_face_points_fade_vulp" -/datum/sprite_accessory/body_markings/head/points_sharp_vulp //Companion marking for Vulpkanin Points Sharp. +/datum/sprite_accessory/body_markings/head/vulpkanin/points_sharp_vulp //Companion marking for Vulpkanin Points Sharp. name = "Vulpkanin Points Head 2" - species_allowed = list("Vulpkanin") icon_state = "markings_face_points_sharp_vulp" -/datum/sprite_accessory/body_markings/head/tiger_head_una - name = "Unathi Tiger Head" +/datum/sprite_accessory/body_markings/head/unathi species_allowed = list("Unathi") + +/datum/sprite_accessory/body_markings/head/unathi/tiger_head_una + name = "Unathi Tiger Head" icon_state = "markings_head_tiger_una" heads_allowed = list("All") -/datum/sprite_accessory/body_markings/head/tiger_face_una +/datum/sprite_accessory/body_markings/head/unathi/tiger_face_una name = "Unathi Tiger Head and Face" - species_allowed = list("Unathi") icon_state = "markings_face_tiger_una" -/datum/sprite_accessory/body_markings/head/tiger_face_una_sharp - name = "Unathi Sharp Tiger Head and Face" - species_allowed = list("Unathi") - icon_state = "markings_face_tiger_una_sharp" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/snout_una_round +/datum/sprite_accessory/body_markings/head/unathi/snout_una_round name = "Unathi Round Snout" - species_allowed = list("Unathi") icon_state = "markings_face_snout_una_round" -/datum/sprite_accessory/body_markings/head/snout_lower_una_round +/datum/sprite_accessory/body_markings/head/unathi/snout_lower_una_round name = "Unathi Lower Round Snout" - species_allowed = list("Unathi") icon_state = "markings_face_snout_lower_una" -/datum/sprite_accessory/body_markings/head/snout_una_sharp - name = "Unathi Sharp Snout" - species_allowed = list("Unathi") - icon_state = "markings_face_snout_una_sharp" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/banded_una //Companion marking for Unathi Banded. +/datum/sprite_accessory/body_markings/head/unathi/banded_una //Companion marking for Unathi Banded. name = "Unathi Banded Head" - species_allowed = list("Unathi") icon_state = "markings_face_banded_una" heads_allowed = list("All") -/datum/sprite_accessory/body_markings/head/snout_narrow_una //Companion marking for Unathi Narrow Belly. +/datum/sprite_accessory/body_markings/head/unathi/snout_narrow_una //Companion marking for Unathi Narrow Belly. name = "Unathi Snout 2" - species_allowed = list("Unathi") icon_state = "markings_face_narrow_una" -/datum/sprite_accessory/body_markings/head/snout_narrow_una_sharp //Companion marking for Unathi Narrow Belly. - name = "Unathi Sharp Snout 2" - species_allowed = list("Unathi") - icon_state = "markings_face_narrow_una_sharp" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/points_una //Companion marking for Unathi Points. +/datum/sprite_accessory/body_markings/head/unathi/points_una //Companion marking for Unathi Points. name = "Unathi Points Head" - species_allowed = list("Unathi") icon_state = "markings_face_points_una" -/datum/sprite_accessory/body_markings/head/points_una_sharp //Companion marking for Unathi Points. - name = "Unathi Sharp Points Head" - species_allowed = list("Unathi") - icon_state = "markings_face_points_una" +/datum/sprite_accessory/body_markings/head/unathi/sharp heads_allowed = list("Unathi Sharp Snout") +/datum/sprite_accessory/body_markings/head/unathi/sharp/tiger_face_una_sharp + name = "Unathi Sharp Tiger Head and Face" + icon_state = "markings_face_tiger_una_sharp" + +/datum/sprite_accessory/body_markings/head/unathi/sharp/snout_una_sharp + name = "Unathi Sharp Snout" + icon_state = "markings_face_snout_una_sharp" + +/datum/sprite_accessory/body_markings/head/unathi/sharp/snout_narrow_una_sharp //Companion marking for Unathi Narrow Belly. + name = "Unathi Sharp Snout 2" + icon_state = "markings_face_narrow_una_sharp" + +/datum/sprite_accessory/body_markings/head/unathi/sharp/points_una_sharp //Companion marking for Unathi Points. + name = "Unathi Sharp Points Head" + icon_state = "markings_face_points_una" + /datum/sprite_accessory/body_markings/head/optics name = "Humanoid Optics" species_allowed = list("Machine") @@ -2234,37 +1959,32 @@ /datum/sprite_accessory/body_markings/head/optics/bishop_alt name = "Bishop Alt. Optics" - species_allowed = list("Machine") icon_state = "bishop_alt_optics" models_allowed = list("Bishop Cybernetics alt.") /datum/sprite_accessory/body_markings/head/optics/morpheus_alt name = "Morpheus Alt. Optics" - species_allowed = list("Machine") icon_state = "morpheus_alt_optics" models_allowed = list("Morpheus Cyberkinetics alt.") /datum/sprite_accessory/body_markings/head/optics/wardtakahashi_alt name = "Ward-Takahashi Alt. Optics" - species_allowed = list("Machine") icon_state = "wardtakahashi_alt_optics" models_allowed = list("Ward-Takahashi alt.") /datum/sprite_accessory/body_markings/head/optics/xion_alt name = "Xion Alt. Optics" - species_allowed = list("Machine") icon_state = "xion_alt_optics" models_allowed = list("Xion Manufacturing Group alt.") /datum/sprite_accessory/body_markings/tattoo // Tattoos applied post-round startup with tattoo guns in item_defines.dm - name = "base tattoo" - species_allowed = list() + species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") icon_state = "accessory_none" /datum/sprite_accessory/body_markings/tattoo/elliot name = "Elliot Circuit Tattoo" - species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") icon_state = "campbell_tattoo" + species_allowed = null /datum/sprite_accessory/body_markings/tattoo/tiger_body name = "Tiger-stripe Tattoo" @@ -2273,100 +1993,91 @@ /datum/sprite_accessory/body_markings/tattoo/heart name = "Heart Tattoo" - species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") icon_state = "markings_tattoo_heart" -/datum/sprite_accessory/body_markings/tattoo/heart_vox - name = "Vox Heart Tattoo" - species_allowed = list("Vox") - icon_state = "markings_tattoo_heart_vox" - /datum/sprite_accessory/body_markings/tattoo/hive name = "Hive Tattoo" - species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") icon_state = "markings_tattoo_hive" -/datum/sprite_accessory/body_markings/tattoo/hive_vox - name = "Vox Hive Tattoo" - species_allowed = list("Vox") - icon_state = "markings_tattoo_hive_vox" - /datum/sprite_accessory/body_markings/tattoo/nightling name = "Nightling Tattoo" - species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") icon_state = "markings_tattoo_nightling" -/datum/sprite_accessory/body_markings/tattoo/nightling_vox - name = "Vox Nightling Tattoo" +/datum/sprite_accessory/body_markings/tattoo/vox species_allowed = list("Vox") + +/datum/sprite_accessory/body_markings/tattoo/vox/heart_vox + name = "Vox Heart Tattoo" + icon_state = "markings_tattoo_heart_vox" + +/datum/sprite_accessory/body_markings/tattoo/vox/hive_vox + name = "Vox Hive Tattoo" + icon_state = "markings_tattoo_hive_vox" + +/datum/sprite_accessory/body_markings/tattoo/vox/nightling_vox + name = "Vox Nightling Tattoo" icon_state = "markings_tattoo_nightling_vox" /datum/sprite_accessory/body_markings/tail - name = "Tail Markings" species_allowed = list() icon_state = "accessory_none" marking_location = "tail" tails_allowed = null -/datum/sprite_accessory/body_markings/tail/vox_band - name = "Vox Tail Band" +/datum/sprite_accessory/body_markings/tail/vox species_allowed = list("Vox") + +/datum/sprite_accessory/body_markings/tail/vox/vox_band + name = "Vox Tail Band" icon_state = "markings_voxtail_band" -/datum/sprite_accessory/body_markings/tail/vox_tip +/datum/sprite_accessory/body_markings/tail/vox/vox_tip name = "Vox Tail Tip" - species_allowed = list("Vox") icon_state = "markings_voxtail_tip" -/datum/sprite_accessory/body_markings/tail/vox_stripe +/datum/sprite_accessory/body_markings/tail/vox/vox_stripe name = "Vox Tail Stripe" - species_allowed = list("Vox") icon_state = "markings_voxtail_stripe" -/datum/sprite_accessory/body_markings/tail/vulp_default_tip - name = "Vulpkanin Default Tail Tip" +/datum/sprite_accessory/body_markings/tail/vulpkanin species_allowed = list("Vulpkanin") + +/datum/sprite_accessory/body_markings/tail/vulpkanin/vulp_default_tip + name = "Vulpkanin Default Tail Tip" icon_state = "markings_vulptail_tip" -/datum/sprite_accessory/body_markings/tail/vulp_default_fade +/datum/sprite_accessory/body_markings/tail/vulpkanin/vulp_default_fade name = "Vulpkanin Default Tail Fade" - species_allowed = list("Vulpkanin") icon_state = "markings_vulptail_fade" -/datum/sprite_accessory/body_markings/tail/vulp_bushy_fluff +/datum/sprite_accessory/body_markings/tail/vulpkanin/vulp_bushy_fluff name = "Vulpkanin Bushy Tail Fluff" - species_allowed = list("Vulpkanin") tails_allowed = list("Vulpkanin Alt 1 (Bushy)") icon_state = "markings_vulptail2_fluff" -/datum/sprite_accessory/body_markings/tail/vulp_short_tip +/datum/sprite_accessory/body_markings/tail/vulpkanin/vulp_short_tip name = "Vulpkanin Short Tail Tip" - species_allowed = list("Vulpkanin") tails_allowed = list("Vulpkanin Alt 4 (Short)") icon_state = "markings_vulptail5_tip" -/datum/sprite_accessory/body_markings/tail/vulp_hybrid_tip +/datum/sprite_accessory/body_markings/tail/vulpkanin/vulp_hybrid_tip name = "Vulpkanin Bushy Straight Tail Tip" - species_allowed = list("Vulpkanin") tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") icon_state = "markings_vulptail6_tip" -/datum/sprite_accessory/body_markings/tail/vulp_hybrid_fade +/datum/sprite_accessory/body_markings/tail/vulpkanin/vulp_hybrid_fade name = "Vulpkanin Bushy Straight Tail Fade" - species_allowed = list("Vulpkanin") tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") icon_state = "markings_vulptail6_fade" -/datum/sprite_accessory/body_markings/tail/vulp_hybrid_silverf +/datum/sprite_accessory/body_markings/tail/vulpkanin/vulp_hybrid_silverf name = "Vulpkanin Bushy Straight Tail Black Fade White Tip" - species_allowed = list("Vulpkanin") tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") icon_state = "markings_vulptail6_silverf" /* ALT HEADS */ /datum/sprite_accessory/alt_heads - name = "Alternate Head" icon = null icon_state = null species_allowed = null @@ -2374,9 +2085,6 @@ /datum/sprite_accessory/alt_heads/none name = "None" - icon = null - icon_state = null - species_allowed = null /datum/sprite_accessory/alt_heads/una_sharp_snout name = "Unathi Sharp Snout" diff --git a/code/modules/surgery/organs/organ_icon.dm b/code/modules/surgery/organs/organ_icon.dm index a3b11ad4595..5e8c675bb18 100644 --- a/code/modules/surgery/organs/organ_icon.dm +++ b/code/modules/surgery/organs/organ_icon.dm @@ -158,17 +158,13 @@ var/global/list/limb_icon_cache = list() if(dna.GetUIState(DNA_UI_GENDER)) gender = "f" else - if(limb_name == "head") - var/obj/item/organ/external/head/head_organ = src - head_organ.handle_alt_icon() - - if(status & ORGAN_MUTATED) - mob_icon = new /icon(species.deform, "[icon_name][gender ? "_[gender]" : ""]") - else - mob_icon = new /icon(species.icobase, "[icon_name][gender ? "_[gender]" : ""]") gender = "m" new_icon_state = "[icon_name][gender ? "_[gender]" : ""]" + if(limb_name == "head") + var/obj/item/organ/external/head/head_organ = src + head_organ.handle_alt_icon() + if(skeletal) icon_file = 'icons/mob/human_races/r_skeleton.dmi' else if(status & ORGAN_ROBOT) diff --git a/code/modules/surgery/organs/subtypes/standard.dm b/code/modules/surgery/organs/subtypes/standard.dm index e65e363342d..faa6c403355 100644 --- a/code/modules/surgery/organs/subtypes/standard.dm +++ b/code/modules/surgery/organs/subtypes/standard.dm @@ -204,6 +204,8 @@ if(owner)//runtimer no runtiming owner.update_hair() owner.update_fhair() + owner.update_head_accessory() + owner.update_markings() . = ..() /obj/item/organ/external/head/replaced() From c684a1b8fe389fd58c79b939a390ed15c6a51a56 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Fri, 2 Sep 2016 05:49:59 -0400 Subject: [PATCH 10/48] Tidies up some (facial) hair handling and randomization. Makes the code a lot more consistent to all the other locations it's implemented as well. Works the exact same as it did before but with a few less lines of code. Also sorts out an issue with two facial hair objects having the same name. Woops. --- code/__HELPERS/mobs.dm | 50 ++++------ code/modules/client/preference/preferences.dm | 93 ++++++++----------- .../mob/living/carbon/human/appearance.dm | 49 +++------- .../mob/new_player/sprite_accessories.dm | 2 +- 4 files changed, 76 insertions(+), 118 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index efd8d233f13..919e1093317 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -52,28 +52,23 @@ proc/random_hair_style(var/gender, species = "Human", var/datum/robolimb/robohea for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] + if(hairstyle == "Bald") //Just in case. + valid_hairstyles += hairstyle + continue if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) continue if(species == "Machine") //If the user is a species who can have a robotic head... if(!robohead) robohead = all_robolimbs["Morpheus Cyberkinetics"] - if(species in S.species_allowed) //If this is a facial hair style native to the user's species... - if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. - valid_hairstyles += hairstyle //Give them their hairstyles if they do. - continue - else //If they don't have the default head, they shouldn't be getting any hairstyles they wouldn't normally. - continue + if((species in S.species_allowed) && robohead.is_monitor && ((S.models_allowed && (robohead.company in S.models_allowed)) || !S.models_allowed)) //If this is a hair style native to the user's species, check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_hairstyles += hairstyle //Give them their hairstyles if they do. else - if(robohead.is_monitor) //If the hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. - continue - else - if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the hairstyle can fit humans, let them use it as a wig. - valid_hairstyles += hairstyle - continue + if(!robohead.is_monitor && ("Human" in S.species_allowed)) /*If the hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + But if the user has a robotic humanoid head and the hairstyle can fit humans, let them use it as a wig. */ + valid_hairstyles += hairstyle else //If the user is not a species who can have robotic heads, use the default handling. - if(!(species in S.species_allowed)) //If the user's head is not of a species the hairstyle allows, skip it. Otherwise, add it to the list. - continue - valid_hairstyles += hairstyle + if(species in S.species_allowed) //If the user's head is of a species the hairstyle allows, add it to the list. + valid_hairstyles += hairstyle if(valid_hairstyles.len) h_style = pick(valid_hairstyles) @@ -86,28 +81,23 @@ proc/random_facial_hair_style(var/gender, species = "Human", var/datum/robolimb/ for(var/facialhairstyle in facial_hair_styles_list) var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] + if(facialhairstyle == "Shaved") //Just in case. + valid_facial_hairstyles += facialhairstyle + continue if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) continue if(species == "Machine") //If the user is a species who can have a robotic head... if(!robohead) robohead = all_robolimbs["Morpheus Cyberkinetics"] - if(species in S.species_allowed) //If this is a facial hair style native to the user's species... - if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. - valid_facial_hairstyles += facialhairstyle //Give them their facial hair styles if they do. - continue - else //If they don't have the default head, they shouldn't be getting any facial hair styles they wouldn't normally. - continue + if((species in S.species_allowed) && robohead.is_monitor && ((S.models_allowed && (robohead.company in S.models_allowed)) || !S.models_allowed)) //If this is a facial hair style native to the user's species, check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_facial_hairstyles += facialhairstyle //Give them their facial hairstyles if they do. else - if(robohead.is_monitor) //If the facial hair style is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. - continue - else - if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the facial hair style can fit humans, let them use it as a postiche. - valid_facial_hairstyles += facialhairstyle - continue + if(!robohead.is_monitor && ("Human" in S.species_allowed)) /*If the facial hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + But if the user has a robotic humanoid head and the facial hairstyle can fit humans, let them use it as a wig. */ + valid_facial_hairstyles += facialhairstyle else //If the user is not a species who can have robotic heads, use the default handling. - if(!(species in S.species_allowed)) //If the user's head is not of a species the facial hair style allows, skip it. Otherwise, add it to the list. - continue - valid_facial_hairstyles += facialhairstyle + if(species in S.species_allowed) //If the user's head is of a species the facial hair style allows, add it to the list. + valid_facial_hairstyles += facialhairstyle if(valid_facial_hairstyles.len) f_style = pick(valid_facial_hairstyles) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index cbb04f7b57c..4c4de4dc3f4 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -1374,33 +1374,26 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/list/valid_hairstyles = list() for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] + if(hairstyle == "Bald") //Just in case. - valid_hairstyles[hairstyle] = S + valid_hairstyles += hairstyle continue - if(species == "Machine") //Species that can use prosthetic heads. - var/obj/item/organ/external/head/H = new() + var/head_model if(!rlimb_data["head"]) //Handle situations where the head is default. - H.model = "Morpheus Cyberkinetics" + head_model = "Morpheus Cyberkinetics" else - H.model = rlimb_data["head"] - var/datum/robolimb/robohead = all_robolimbs[H.model] - if(species in S.species_allowed) - if(robohead.is_monitor && (robohead.company in S.models_allowed)) //If the Machine character has the default Morpheus screen head or another screen head - //and said head is in the hair style's allowed models list... - valid_hairstyles[hairstyle] = S //Allow them to select the hairstyle. - continue + head_model = rlimb_data["head"] + var/datum/robolimb/robohead = all_robolimbs[head_model] + if((species in S.species_allowed) && robohead.is_monitor && ((S.models_allowed && (robohead.company in S.models_allowed)) || !S.models_allowed)) //If this is a hair style native to the user's species, check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_hairstyles += hairstyle //Give them their hairstyles if they do. else - if(robohead.is_monitor) //Monitors (incl. the default morpheus head) cannot have wigs (human hairstyles). - continue - else if(!robohead.is_monitor && ("Human" in S.species_allowed)) - valid_hairstyles[hairstyle] = S - continue - else - if(!(species in S.species_allowed)) - continue - - valid_hairstyles[hairstyle] = S + if(!robohead.is_monitor && ("Human" in S.species_allowed)) /*If the hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + But if the user has a robotic humanoid head and the hairstyle can fit humans, let them use it as a wig. */ + valid_hairstyles += hairstyle + else //If the user is not a species who can have robotic heads, use the default handling. + if(species in S.species_allowed) //If the user's head is of a species the hairstyle allows, add it to the list. + valid_hairstyles += hairstyle var/new_h_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in valid_hairstyles if(new_h_style) @@ -1423,7 +1416,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(!(species in H.species_allowed)) continue - valid_head_accessory_styles[head_accessory_style] = head_accessory_styles_list[head_accessory_style] + valid_head_accessory_styles += head_accessory_style var/new_head_accessory_style = input(user, "Choose the style of your character's head accessory:", "Character Preference") as null|anything in valid_head_accessory_styles if(new_head_accessory_style) @@ -1440,7 +1433,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(!(species in head.species_allowed)) continue - valid_alt_heads[alternate_head] = alt_heads_list[alternate_head] + valid_alt_heads += alternate_head var/new_alt_head = input(user, "Choose your character's alternate head style:", "Character Preference") as null|anything in valid_alt_heads if(new_alt_head) @@ -1469,19 +1462,19 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts continue if(species == "Machine") //Species that can use prosthetic heads. - var/obj/item/organ/external/head/H = new() + var/head_model if(!rlimb_data["head"]) //Handle situations where the head is default. - H.model = "Morpheus Cyberkinetics" + head_model = "Morpheus Cyberkinetics" else - H.model = rlimb_data["head"] - var/datum/robolimb/robohead = all_robolimbs[H.model] + head_model = rlimb_data["head"] + var/datum/robolimb/robohead = all_robolimbs[head_model] if(robohead.is_monitor && M.name != "None") //If the character can have prosthetic heads and they have the default Morpheus head (or another monitor-head), no optic markings. continue else if(!robohead.is_monitor && M.name != "None") //Otherwise, if they DON'T have the default head and the head's not a monitor but the head's not in the style's list of allowed models, skip. if(!(robohead.company in M.models_allowed)) continue - valid_markings[markingstyle] = marking_styles_list[markingstyle] + valid_markings += markingstyle var/new_marking_style = input(user, "Choose the style of your character's head markings:", "Character Preference", m_styles["head"]) as null|anything in valid_markings if(new_marking_style) @@ -1505,7 +1498,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(M.marking_location != "body") continue - valid_markings[markingstyle] = marking_styles_list[markingstyle] + valid_markings += markingstyle var/new_marking_style = input(user, "Choose the style of your character's body markings:", "Character Preference", m_styles["body"]) as null|anything in valid_markings if(new_marking_style) @@ -1535,7 +1528,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(!M.tails_allowed || !(body_accessory in M.tails_allowed)) continue - valid_markings[markingstyle] = marking_styles_list[markingstyle] + valid_markings += markingstyle var/new_marking_style = input(user, "Choose the style of your character's tail markings:", "Character Preference", m_styles["tail"]) as null|anything in valid_markings if(new_marking_style) @@ -1585,41 +1578,35 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts b_facial_sec = color2B(new_facial) if("f_style") - var/list/valid_facialhairstyles = list() + var/list/valid_facial_hairstyles = list() for(var/facialhairstyle in facial_hair_styles_list) var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] - if(facialhairstyle == "Shaved") //Just in case. - valid_facialhairstyles[facialhairstyle] = S - continue + if(facialhairstyle == "Shaved") //Just in case. + valid_facial_hairstyles += facialhairstyle + continue if(gender == MALE && S.gender == FEMALE) continue if(gender == FEMALE && S.gender == MALE) continue if(species == "Machine") //Species that can use prosthetic heads. - var/obj/item/organ/external/head/H = new() + var/head_model if(!rlimb_data["head"]) //Handle situations where the head is default. - H.model = "Morpheus Cyberkinetics" + head_model = "Morpheus Cyberkinetics" else - H.model = rlimb_data["head"] - var/datum/robolimb/robohead = all_robolimbs[H.model] - if(species in S.species_allowed) - if(robohead.is_monitor) //If the Machine character has the default Morpheus screen head or another screen head and they're allowed to have the style, let them have it. - valid_facialhairstyles[facialhairstyle] = S - continue + head_model = rlimb_data["head"] + var/datum/robolimb/robohead = all_robolimbs[head_model] + if((species in S.species_allowed) && robohead.is_monitor && ((S.models_allowed && (robohead.company in S.models_allowed)) || !S.models_allowed)) //If this is a facial hair style native to the user's species, check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_facial_hairstyles += facialhairstyle //Give them their facial hairstyles if they do. else - if(robohead.is_monitor) //Monitors (incl. the default morpheus head) cannot have wigs (human facial hairstyles). - continue - else if(!robohead.is_monitor && ("Human" in S.species_allowed)) - valid_facialhairstyles[facialhairstyle] = S - continue - else - if(!(species in S.species_allowed)) - continue + if(!robohead.is_monitor && ("Human" in S.species_allowed)) /*If the facial hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + But if the user has a robotic humanoid head and the facial hairstyle can fit humans, let them use it as a wig. */ + valid_facial_hairstyles += facialhairstyle + else //If the user is not a species who can have robotic heads, use the default handling. + if(species in S.species_allowed) //If the user's head is of a species the facial hair style allows, add it to the list. + valid_facial_hairstyles += facialhairstyle - valid_facialhairstyles[facialhairstyle] = S - - var/new_f_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in valid_facialhairstyles + var/new_f_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in valid_facial_hairstyles if(new_f_style) f_style = new_f_style diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 7f84686c05e..b135e5e6625 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -361,31 +361,20 @@ if(hairstyle == "Bald") //Just in case. valid_hairstyles += hairstyle continue - if((H.gender == MALE && S.gender == FEMALE) || (H.gender == FEMALE && S.gender == MALE)) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] - if(H.species.name in S.species_allowed) //If this is a hairstyle native to the user's species... - if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. - valid_hairstyles += hairstyle //Give them their hairstyles if they do. - continue - else //If they don't have the default head, they shouldn't be getting any hairstyles they wouldn't normally. - continue + if((H.species.name in S.species_allowed) && robohead.is_monitor && ((S.models_allowed && (robohead.company in S.models_allowed)) || !S.models_allowed)) //If this is a hair style native to the user's species, check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_hairstyles += hairstyle //Give them their hairstyles if they do. else - if(robohead.is_monitor) //If the hair style is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. - continue - else - if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the hairstyle can fit humans, let them use it as a wig. - valid_hairstyles += hairstyle - continue + if(!robohead.is_monitor && ("Human" in S.species_allowed)) /*If the hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + But if the user has a robotic humanoid head and the hairstyle can fit humans, let them use it as a wig. */ + valid_hairstyles += hairstyle else //If the user is not a species who can have robotic heads, use the default handling. - if(!(H.species.name in S.species_allowed)) //If the user's head is not of a species the hair style allows, skip it. Otherwise, add it to the list. - continue - valid_hairstyles += hairstyle + if(H.species.name in S.species_allowed) //If the user's head is of a species the hairstyle allows, add it to the list. + valid_hairstyles += hairstyle - if(!("Bald" in valid_hairstyles)) //Just in case. - valid_hairstyles += "Bald" return valid_hairstyles /mob/living/carbon/human/proc/generate_valid_facial_hairstyles() @@ -400,28 +389,20 @@ if(facialhairstyle == "Shaved") //Just in case. valid_facial_hairstyles += facialhairstyle continue - if((H.gender == MALE && S.gender == FEMALE) || (H.gender == FEMALE && S.gender == MALE)) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] if(H.species.name in S.species_allowed) //If this is a facial hair style native to the user's species... - if(robohead.is_monitor && (robohead.company in S.models_allowed)) //Check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. - valid_facial_hairstyles += facialhairstyle //Give them their facial hair styles if they do. - continue - else //If they don't have the default head, they shouldn't be getting any facial hair styles they wouldn't normally. - continue + if((H.species.name in S.species_allowed) && robohead.is_monitor && ((S.models_allowed && (robohead.company in S.models_allowed)) || !S.models_allowed)) //If this is a facial hair style native to the user's species, check to see if they have a head with an ipc-style screen and that the head's company is in the screen style's allowed models list. + valid_facial_hairstyles += facialhairstyle //Give them their facial hairstyles if they do. else - if(robohead.is_monitor) //If the facial hair style is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. - continue - else - if("Human" in S.species_allowed) //If the user has a robotic humanoid head and the facial hair style can fit humans, let them use it as a postiche. - valid_facial_hairstyles += facialhairstyle - continue + if(!robohead.is_monitor && ("Human" in S.species_allowed)) /*If the facial hairstyle is not native to the user's species and they're using a head with an ipc-style screen, don't let them access it. + But if the user has a robotic humanoid head and the facial hairstyle can fit humans, let them use it as a wig. */ + valid_facial_hairstyles += facialhairstyle else //If the user is not a species who can have robotic heads, use the default handling. - if(!(H.species.name in S.species_allowed)) //If the user's head is not of a species the facial hair style allows, skip it. Otherwise, add it to the list. - continue - valid_facial_hairstyles += facialhairstyle + if(H.species.name in S.species_allowed) //If the user's head is of a species the facial hair style allows, add it to the list. + valid_facial_hairstyles += facialhairstyle return valid_facial_hairstyles @@ -504,6 +485,6 @@ if(!(H.species.name in head.species_allowed)) continue - valid_alt_heads[alternate_head] = alt_heads_list[alternate_head] + valid_alt_heads += alternate_head return valid_alt_heads \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 813cea67f99..5067a7d848a 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -993,7 +993,7 @@ name = "Vulpine" icon_state = "vulp_facial_vulpine" -/datum/sprite_accessory/facial_hair/vulpkanin/vulp_vulpine +/datum/sprite_accessory/facial_hair/vulpkanin/vulp_vulpine_brows name = "Vulpine and Brows" icon_state = "vulp_facial_vulpine_brows" From 30412c8db19250c0578bf17dbc7a7f99a45c08a6 Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 11 Oct 2016 18:21:20 +0200 Subject: [PATCH 11/48] Cryo tubes no longer expel gas --- code/game/machinery/cryo.dm | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 94bc3f5b90b..6dd6182c930 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -134,7 +134,6 @@ if(air_contents) temperature_archived = air_contents.temperature heat_gas_contents() - expel_gas() if(occupant) process_occupant() @@ -401,16 +400,6 @@ var/combined_energy = T20C*current_heat_capacity + air_heat_capacity*air_contents.temperature air_contents.temperature = combined_energy/combined_heat_capacity -/obj/machinery/atmospherics/unary/cryo_cell/proc/expel_gas() - if(air_contents.total_moles() < 1) - return - var/datum/gas_mixture/expel_gas = new - var/remove_amount = air_contents.total_moles()/100 - expel_gas = air_contents.remove(remove_amount) - expel_gas.temperature = T20C // Lets expel hot gas and see if that helps people not die as they are removed - loc.assume_air(expel_gas) - air_update_turf() - /obj/machinery/atmospherics/unary/cryo_cell/proc/go_out() if(!occupant) return From 570088599e7800156583eb008460c09741c5439a Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 11 Oct 2016 20:36:20 +0200 Subject: [PATCH 12/48] Mecha damage fix --- code/game/mecha/mecha.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 7ebf1e233c3..c8f93bc74ce 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -563,7 +563,9 @@ dam_coeff = B.damage_coeff break - if(prob(deflect_chance & deflection) && (Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + if(prob(deflect_chance * deflection) && (Proj.damage_type == BRUTE || Proj.damage_type == BURN)) + visible_message("[src]'s armour deflects [Proj]!") + else visible_message("[src] is hit by [Proj].") take_damage(Proj.damage * dam_coeff, Proj.flag) check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT)) From d18ea76311867dba1387b874ac868b93942d1ec1 Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 11 Oct 2016 20:41:46 +0200 Subject: [PATCH 13/48] Fix space pod ion damage --- code/modules/spacepods/spacepod.dm | 31 +++++++++++------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/code/modules/spacepods/spacepod.dm b/code/modules/spacepods/spacepod.dm index b17eb9940ea..5a01cd5b09f 100644 --- a/code/modules/spacepods/spacepod.dm +++ b/code/modules/spacepods/spacepod.dm @@ -197,8 +197,7 @@ /obj/spacepod/bullet_act(var/obj/item/projectile/P) if(P.damage_type == BRUTE || P.damage_type == BURN) deal_damage(P.damage) - else if(P.flag == "energy" && istype(P,/obj/item/projectile/ion)) //needed to make sure ions work properly - empulse(src, 1, 1) + P.on_hit(src) /obj/spacepod/blob_act() deal_damage(30) @@ -284,35 +283,27 @@ /obj/spacepod/emp_act(severity) occupant_sanity_check() cargo_hold.emp_act(severity) + + if(battery && battery.charge > 0) + battery.use((battery.charge / 2) / severity) + deal_damage(80 / severity) + if(empcounter < (40 / severity)) + empcounter = 40 / severity + processing_objects.Add(src) + switch(severity) if(1) if(pilot) to_chat(pilot, "The pod console flashes 'Heavy EMP WAVE DETECTED'.") if(passengers) for(var/mob/M in passengers) - to_chat(M, "The pod console flashes 'Heavy EMP WAVE DETECTED'.")//warn the passengers - - - if(battery) - battery.charge = max(0, battery.charge - 5000) //Cell EMP act is too weak, this pod needs to be sapped. - src.deal_damage(100) - if(src.empcounter < 40) - src.empcounter = 40 //Disable movement for 40 ticks. Plenty long enough. - processing_objects.Add(src) - + to_chat(M, "The pod console flashes 'Heavy EMP WAVE DETECTED'.") if(2) if(pilot) to_chat(pilot, "The pod console flashes 'EMP WAVE DETECTED'.") if(passengers) for(var/mob/M in passengers) - to_chat(M, "The pod console flashes 'EMP WAVE DETECTED'.")//warn the passengers - - deal_damage(40) - if(battery) - battery.charge = max(0, battery.charge - 2500) //Cell EMP act is too weak, this pod needs to be sapped. - if(empcounter < 20) - empcounter = 20 //Disable movement for 20 ticks. - processing_objects.Add(src) + to_chat(M, "The pod console flashes 'EMP WAVE DETECTED'.") /obj/spacepod/attackby(obj/item/W as obj, mob/user as mob, params) if(user.a_intent == I_HARM) From 0b9b599c813fb0b769612be3b8cb694a4c632929 Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 11 Oct 2016 20:46:48 +0200 Subject: [PATCH 14/48] Fix supply console shuttle icons --- nano/templates/supply_console.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nano/templates/supply_console.tmpl b/nano/templates/supply_console.tmpl index accafa99626..3402e8982b5 100644 --- a/nano/templates/supply_console.tmpl +++ b/nano/templates/supply_console.tmpl @@ -52,8 +52,8 @@ Used In File(s): \code\game\supplyshuttle.dm Shuttle Control:

- {{:helper.link('Call Shuttle', 'circle-triangle-e', data.send, data.moving || data.at_station || !data.can_launch ? 'disabled' : '')}} - {{:helper.link('Return Shuttle', 'circle-triangle-w', data.send, data.moving || !data.at_station || !data.can_launch ? 'disabled' : '')}} + {{:helper.link('Call Shuttle', 'arrow-circle-down', data.send, data.moving || data.at_station || !data.can_launch ? 'disabled' : '')}} + {{:helper.link('Return Shuttle', 'arrow-circle-up', data.send, data.moving || !data.at_station || !data.can_launch ? 'disabled' : '')}}
From cc780dcdf3675878f50a5cee5b285269fbfb76a9 Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 13 Oct 2016 19:49:42 +0200 Subject: [PATCH 15/48] Fix traitors/operatives/mindslaves losing their status upon reconnect --- code/modules/mob/living/silicon/login.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/mob/living/silicon/login.dm b/code/modules/mob/living/silicon/login.dm index fa71b48232e..bd93fd6c3c4 100644 --- a/code/modules/mob/living/silicon/login.dm +++ b/code/modules/mob/living/silicon/login.dm @@ -1,15 +1,12 @@ /mob/living/silicon/Login() sleeping = 0 if(mind && ticker && ticker.mode) - ticker.mode.remove_traitor(mind) - ticker.mode.remove_traitor_mind(mind) ticker.mode.remove_revolutionary(mind, 1) ticker.mode.remove_cultist(mind, 1) ticker.mode.remove_wizard(mind) ticker.mode.remove_changeling(mind) ticker.mode.remove_vampire(mind) ticker.mode.remove_thrall(mind, 0) - ticker.mode.remove_operative(mind) ticker.mode.remove_shadowling(mind) ticker.mode.remove_abductor(mind) ..() \ No newline at end of file From e133947f2d7623d6ae5ef8a81d13591c020accd0 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 15 Oct 2016 00:55:12 -0400 Subject: [PATCH 16/48] Karmalock --- html/changelog.html | 39 +++++++++++++++++++++++ html/changelogs/.all_changelog.yml | 31 ++++++++++++++++++ html/changelogs/AutoChangeLog-pr-5581.yml | 6 ---- html/changelogs/AutoChangeLog-pr-5644.yml | 4 --- html/changelogs/AutoChangeLog-pr-5646.yml | 4 --- html/changelogs/AutoChangeLog-pr-5649.yml | 4 --- html/changelogs/AutoChangeLog-pr-5679.yml | 4 --- html/changelogs/AutoChangeLog-pr-5685.yml | 4 --- html/changelogs/AutoChangeLog-pr-5691.yml | 4 --- html/changelogs/AutoChangeLog-pr-5697.yml | 4 --- html/changelogs/AutoChangeLog-pr-5703.yml | 4 --- html/changelogs/AutoChangeLog-pr-5708.yml | 4 --- html/changelogs/AutoChangeLog-pr-5713.yml | 4 --- html/changelogs/AutoChangeLog-pr-5715.yml | 4 --- html/changelogs/AutoChangeLog-pr-5716.yml | 4 --- html/changelogs/AutoChangeLog-pr-5735.yml | 4 --- html/changelogs/AutoChangeLog-pr-5737.yml | 4 --- html/changelogs/AutoChangeLog-pr-5744.yml | 4 --- html/changelogs/AutoChangeLog-pr-5755.yml | 4 --- 19 files changed, 70 insertions(+), 70 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5581.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5644.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5646.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5649.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5679.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5685.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5691.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5697.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5703.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5708.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5713.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5715.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5716.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5735.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5737.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5744.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5755.yml diff --git a/html/changelog.html b/html/changelog.html index 8279fa001b3..6ab1e019045 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,45 @@ -->
+

15 October 2016

+

Crazylemon64 updated:

+
    +
  • The R&D console should now no longer freeze on the "Syncing Database" message or whatever.
  • +
  • Borg coolers and SMES boards can be made again
  • +
  • Maroon now works
  • +
+

FlattestGuitar updated:

+
    +
  • pAIs no longer turn into debris when wiped
  • +
  • SNPCs no longer get targeted by assasinate objectives
  • +
  • fixes a hallucination runtime, actually making one more aspect of being high as f*** work for the first time in ages
  • +
  • NODROP items will no longer attempt to be dropped if your hand is broken
  • +
+

Fox McCloud updated:

+
    +
  • Cloners will now put you inside the cloned body when it is fully grown as opposed to initially created
  • +
  • Examining a cloner will tell you the clone progress
  • +
  • Observers can now see a visual countdown of the cloning status progression
  • +
  • Atmos grenades cost increased from 6 to 11
  • +
  • Mice now have sprites when worn
  • +
  • Fixes various ghost alerts having barely visible icons
  • +
  • Fixes items being in two locations at once when loading things into the bio-generator or reagent grinder.
  • +
+

GeneralChaos81 updated:

+
    +
  • Ability to place and remove conveyor belts and levers.
  • +
+

KasparoVy updated:

+
    +
  • Botany, viro and xenobio bottles will no longer be invisible.
  • +
+

Krausus updated:

+
    +
  • Fixed full chat panes scrolling unpredictably when trying to view old messages.
  • +
  • Fixed camera monitors immobilizing you if you reconnect while using one.
  • +
  • Fixed selecting datum types through SDQL2 never returning any datums.
  • +
+

16 September 2016

Aurorablade updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 884eb062051..9dfe354606f 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -2947,3 +2947,34 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. had hit a wall. The leap still goes on a 3 second cooldown as normal. Ty-Omaha: - rscadd: Adds fluff item "Tacticool EyePro" +2016-10-15: + Crazylemon64: + - bugfix: The R&D console should now no longer freeze on the "Syncing Database" + message or whatever. + - bugfix: Borg coolers and SMES boards can be made again + - bugfix: Maroon now works + FlattestGuitar: + - tweak: pAIs no longer turn into debris when wiped + - bugfix: SNPCs no longer get targeted by assasinate objectives + - bugfix: fixes a hallucination runtime, actually making one more aspect of being + high as f*** work for the first time in ages + - bugfix: NODROP items will no longer attempt to be dropped if your hand is broken + Fox McCloud: + - tweak: Cloners will now put you inside the cloned body when it is fully grown + as opposed to initially created + - tweak: Examining a cloner will tell you the clone progress + - rscadd: Observers can now see a visual countdown of the cloning status progression + - tweak: Atmos grenades cost increased from 6 to 11 + - rscadd: Mice now have sprites when worn + - bugfix: Fixes various ghost alerts having barely visible icons + - bugfix: Fixes items being in two locations at once when loading things into the + bio-generator or reagent grinder. + GeneralChaos81: + - rscadd: Ability to place and remove conveyor belts and levers. + KasparoVy: + - bugfix: Botany, viro and xenobio bottles will no longer be invisible. + Krausus: + - bugfix: Fixed full chat panes scrolling unpredictably when trying to view old + messages. + - bugfix: Fixed camera monitors immobilizing you if you reconnect while using one. + - bugfix: Fixed selecting datum types through SDQL2 never returning any datums. diff --git a/html/changelogs/AutoChangeLog-pr-5581.yml b/html/changelogs/AutoChangeLog-pr-5581.yml deleted file mode 100644 index f79c2493863..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5581.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Fox McCloud -delete-after: True -changes: - - tweak: "Cloners will now put you inside the cloned body when it is fully grown as opposed to initially created" - - tweak: "Examining a cloner will tell you the clone progress" - - rscadd: "Observers can now see a visual countdown of the cloning status progression" diff --git a/html/changelogs/AutoChangeLog-pr-5644.yml b/html/changelogs/AutoChangeLog-pr-5644.yml deleted file mode 100644 index f336a56d07a..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5644.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: GeneralChaos81 -delete-after: True -changes: - - rscadd: "Ability to place and remove conveyor belts and levers." diff --git a/html/changelogs/AutoChangeLog-pr-5646.yml b/html/changelogs/AutoChangeLog-pr-5646.yml deleted file mode 100644 index 022b08350f1..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5646.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Fox McCloud -delete-after: True -changes: - - tweak: "Atmos grenades cost increased from 6 to 11" diff --git a/html/changelogs/AutoChangeLog-pr-5649.yml b/html/changelogs/AutoChangeLog-pr-5649.yml deleted file mode 100644 index 5dddb44c4c3..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5649.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Fox McCloud -delete-after: True -changes: - - rscadd: "Mice now have sprites when worn" diff --git a/html/changelogs/AutoChangeLog-pr-5679.yml b/html/changelogs/AutoChangeLog-pr-5679.yml deleted file mode 100644 index 9292e91fee9..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5679.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Crazylemon64 -delete-after: True -changes: - - bugfix: "The R&D console should now no longer freeze on the \"Syncing Database\" message or whatever." diff --git a/html/changelogs/AutoChangeLog-pr-5685.yml b/html/changelogs/AutoChangeLog-pr-5685.yml deleted file mode 100644 index 0fdc18d2454..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5685.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Fox McCloud -delete-after: True -changes: - - bugfix: "Fixes various ghost alerts having barely visible icons" diff --git a/html/changelogs/AutoChangeLog-pr-5691.yml b/html/changelogs/AutoChangeLog-pr-5691.yml deleted file mode 100644 index d88812f1585..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5691.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: KasparoVy -delete-after: True -changes: - - bugfix: "Botany, viro and xenobio bottles will no longer be invisible." diff --git a/html/changelogs/AutoChangeLog-pr-5697.yml b/html/changelogs/AutoChangeLog-pr-5697.yml deleted file mode 100644 index 9b853c7f031..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5697.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Crazylemon64 -delete-after: True -changes: - - bugfix: "Borg coolers and SMES boards can be made again" diff --git a/html/changelogs/AutoChangeLog-pr-5703.yml b/html/changelogs/AutoChangeLog-pr-5703.yml deleted file mode 100644 index a206365db26..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5703.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Krausus -delete-after: True -changes: - - bugfix: "Fixed full chat panes scrolling unpredictably when trying to view old messages." diff --git a/html/changelogs/AutoChangeLog-pr-5708.yml b/html/changelogs/AutoChangeLog-pr-5708.yml deleted file mode 100644 index db2fd949d15..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5708.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Krausus -delete-after: True -changes: - - bugfix: "Fixed camera monitors immobilizing you if you reconnect while using one." diff --git a/html/changelogs/AutoChangeLog-pr-5713.yml b/html/changelogs/AutoChangeLog-pr-5713.yml deleted file mode 100644 index 9ece18ba44e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5713.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Krausus -delete-after: True -changes: - - bugfix: "Fixed selecting datum types through SDQL2 never returning any datums." diff --git a/html/changelogs/AutoChangeLog-pr-5715.yml b/html/changelogs/AutoChangeLog-pr-5715.yml deleted file mode 100644 index b2f8901db43..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5715.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FlattestGuitar -delete-after: True -changes: - - tweak: "pAIs no longer turn into debris when wiped" diff --git a/html/changelogs/AutoChangeLog-pr-5716.yml b/html/changelogs/AutoChangeLog-pr-5716.yml deleted file mode 100644 index 29235ac7342..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5716.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FlattestGuitar -delete-after: True -changes: - - bugfix: "SNPCs no longer get targeted by assasinate objectives" diff --git a/html/changelogs/AutoChangeLog-pr-5735.yml b/html/changelogs/AutoChangeLog-pr-5735.yml deleted file mode 100644 index a390302ce8c..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5735.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FlattestGuitar -delete-after: True -changes: - - bugfix: "fixes a hallucination runtime, actually making one more aspect of being high as f*** work for the first time in ages" diff --git a/html/changelogs/AutoChangeLog-pr-5737.yml b/html/changelogs/AutoChangeLog-pr-5737.yml deleted file mode 100644 index 533cba860c7..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5737.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Crazylemon64 -delete-after: True -changes: - - bugfix: "Maroon now works" diff --git a/html/changelogs/AutoChangeLog-pr-5744.yml b/html/changelogs/AutoChangeLog-pr-5744.yml deleted file mode 100644 index 982ede22fe8..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5744.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FlattestGuitar -delete-after: True -changes: - - bugfix: "NODROP items will no longer attempt to be dropped if your hand is broken" diff --git a/html/changelogs/AutoChangeLog-pr-5755.yml b/html/changelogs/AutoChangeLog-pr-5755.yml deleted file mode 100644 index d1d10015a82..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5755.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Fox McCloud -delete-after: True -changes: - - bugfix: "Fixes items being in two locations at once when loading things into the bio-generator or reagent grinder." From 268fbf4ffd13418283becbff6ef878046efd0034 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 15 Oct 2016 12:28:10 +0200 Subject: [PATCH 17/48] Drone emote fix --- code/modules/mob/living/say.dm | 10 ++++++++-- .../mob/living/silicon/robot/drone/drone_say.dm | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index e534d67ee72..2f44caf161a 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -283,8 +283,14 @@ proc/get_radio_key_from_channel(var/channel) /mob/living/proc/GetVoice() return name -/mob/living/emote(var/act, var/type, var/message) //emote code is terrible, this is so that anything that isn't - if(stat) return 0 //already snowflaked to shit can call the parent and handle emoting sanely +/mob/living/emote(var/act, var/type, var/message) //emote code is terrible, this is so that anything that isn't already snowflaked to shit can call the parent and handle emoting sanely + if(client) + if(client.prefs.muted & MUTE_IC) + to_chat(src, "You cannot speak in IC (Muted).") + return + + if(stat) + return 0 if(..(act, type, message)) return 1 diff --git a/code/modules/mob/living/silicon/robot/drone/drone_say.dm b/code/modules/mob/living/silicon/robot/drone/drone_say.dm index 0a98e276c43..053384baba5 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_say.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_say.dm @@ -1,4 +1,7 @@ -/mob/living/silicon/robot/drone/say(var/message, var/datum/language/speaking = null) +/mob/living/silicon/robot/drone/say(var/message, var/datum/language/speaking = null) + if(copytext(message, 1, 2) == "*") + return emote(copytext(message, 2)) + if(!speaking) speaking = parse_language(message) if(!speaking) From e60e93e706b1ded27f193cb975de16fccf13fe79 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 15 Oct 2016 12:47:38 +0200 Subject: [PATCH 18/48] Fix light fixture frame progress bar --- code/game/objects/items/mountable_frames/lights.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/mountable_frames/lights.dm b/code/game/objects/items/mountable_frames/lights.dm index 3655070ce2f..b108240b332 100644 --- a/code/game/objects/items/mountable_frames/lights.dm +++ b/code/game/objects/items/mountable_frames/lights.dm @@ -11,7 +11,7 @@ playsound(get_turf(src), 'sound/machines/click.ogg', 75, 1) var/constrdir = user.dir var/constrloc = get_turf(user) - if(!do_after(user, 30, target = src)) + if(!do_after(user, 30, target = on_wall)) return var/obj/machinery/light_construct/newlight switch(fixture_type) From cd3a0f17076baf05a4b8b8412f386f4343e8fbf4 Mon Sep 17 00:00:00 2001 From: FreeStylaLT Date: Sat, 15 Oct 2016 18:32:14 +0300 Subject: [PATCH 19/48] Adds the missing APC, apologies to any CMOs --- _maps/map_files/cyberiad/cyberiad.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index b535dd748a6..49432640714 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -5326,7 +5326,7 @@ "bYv" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bYw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/janitor) "bYx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/start{name = "Janitor"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/janitor) -"bYy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/mob/living/simple_animal/pet/cat/Runtime,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) +"bYy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; name = "east bump Important Area"; pixel_x = 24; shock_proof = 0},/mob/living/simple_animal/pet/cat/Runtime,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) "bYz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/janitor) "bYA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/janitor) "bYB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/janitor) From 2e33e160b27d3e0444ff06467e63f02a6166632a Mon Sep 17 00:00:00 2001 From: FreeStylaLT Date: Sat, 15 Oct 2016 21:19:53 +0300 Subject: [PATCH 20/48] fixes the scrubber --- _maps/map_files/cyberiad/cyberiad.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 49432640714..74407165440 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -629,7 +629,7 @@ "ame" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/turf/simulated/floor/plasteel,/area/security/range) "amf" = (/obj/structure/closet/secure_closet/brigdoc,/turf/simulated/floor/plasteel{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/security/medbay) "amg" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/turf/simulated/floor/plasteel,/area/security/range) -"amh" = (/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/glass,/turf/simulated/floor/plasteel{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/security/medbay) +"amh" = (/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine,/obj/structure/table/glass,/turf/simulated/floor/plasteel{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/security/medbay) "ami" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/medbay) "amj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/medbay) "amk" = (/obj/item/clothing/accessory/stethoscope,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health,/obj/structure/table/glass,/turf/simulated/floor/plasteel{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/security/medbay) From 3008fc1e79a7e691db3c7e30efb07ca0456bfd1e Mon Sep 17 00:00:00 2001 From: FreeStylaLT Date: Sat, 15 Oct 2016 21:44:09 +0300 Subject: [PATCH 21/48] fixes server room APC --- _maps/map_files/cyberiad/cyberiad.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 74407165440..3e3319268a2 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -5278,7 +5278,7 @@ "bXz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) "bXA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) "bXB" = (/obj/item/roller,/obj/item/weapon/storage/box/disks,/obj/structure/table/glass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics) -"bXC" = (/obj/machinery/camera{c_tag = "Research Server Room"; dir = 2; network = list("Research","SS13"); pixel_x = 22},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server) +"bXC" = (/obj/machinery/camera{c_tag = "Research Server Room"; dir = 2; network = list("Research","SS13"); pixel_x = 22},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/toxins/server) "bXD" = (/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/explab_chamber) "bXE" = (/turf/simulated/floor/engine,/area/toxins/explab_chamber) "bXF" = (/obj/machinery/camera{c_tag = "Research E.X.P.E.R.I-MENTOR Chamber"; dir = 2; network = list("Telepad","Research","SS13"); pixel_x = 0},/obj/machinery/light{dir = 1; on = 1},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/engine,/area/toxins/explab_chamber) From b40f37444cc9c114040a65c488989d34e945668b Mon Sep 17 00:00:00 2001 From: Bone White Date: Sun, 16 Oct 2016 15:36:01 +0100 Subject: [PATCH 22/48] Fix for issue #5768 Correctly un-wields defib paddles when dropping. --- code/game/objects/items/weapons/defib.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 448054deb1a..a4420872e5e 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -292,7 +292,8 @@ defib.on = 0 loc = defib defib.update_icon() - return unwield() + update_icon() + return unwield(user) /obj/item/weapon/twohanded/shockpaddles/proc/check_defib_exists(mainunit, var/mob/living/carbon/human/M, var/obj/O) if(!mainunit || !istype(mainunit, /obj/item/weapon/defibrillator)) //To avoid weird issues from admin spawns From 7833a48d3a12317a960284704b2c6f90c879fa9a Mon Sep 17 00:00:00 2001 From: Markolie Date: Mon, 17 Oct 2016 16:53:11 +0200 Subject: [PATCH 23/48] Map fixes --- _maps/map_files/cyberiad/cyberiad.dmm | 63 ++++++++++++++------------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 3e3319268a2..ff3c3c0ec7a 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -29,7 +29,7 @@ "aaC" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaD" = (/turf/simulated/floor/plasteel,/area/security/permabrig) "aaE" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/permabrig) -"aaF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) +"aaF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaG" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaI" = (/obj/machinery/biogenerator,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) @@ -46,8 +46,8 @@ "aaT" = (/obj/structure/table/glass,/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/bottle/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/bottle/fertilizer/ez,/obj/item/weapon/reagent_containers/glass/bottle/fertilizer/ez,/obj/item/weapon/plantspray/pests,/obj/item/weapon/plantspray/pests,/obj/item/weapon/plantspray/pests,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/table/glass,/obj/item/weapon/minihoe,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"aaW" = (/obj/item/weapon/soap/nanotrasen,/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) -"aaX" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) +"aaW" = (/obj/item/weapon/soap/nanotrasen,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) +"aaX" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) "aaY" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) "aaZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/security/permabrig) "aba" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass{name = "Prison Garden"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) @@ -80,12 +80,12 @@ "abB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/stool,/obj/item/device/radio/intercom/locked/prison{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "abC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "abD" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 4; frequency = 1443; id = "air_in"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"abE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) +"abE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "abF" = (/obj/structure/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "abG" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "abH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "abI" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"abJ" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) +"abJ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "abK" = (/obj/structure/lattice{layer = 2.4},/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/space) "abL" = (/obj/structure/grille,/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/space) "abM" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/permabrig) @@ -462,7 +462,7 @@ "aiT" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/seceqstorage) "aiU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/flasher/portable,/obj/effect/decal/warning_stripes/red/hollow,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "aiV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/security/armoury) -"aiW" = (/obj/structure/table,/obj/item/weapon/paper,/obj/machinery/light/small{dir = 1},/obj/item/weapon/pen,/turf/simulated/floor/plating,/area/security/permabrig) +"aiW" = (/obj/machinery/camera{c_tag = "Prison West"; dir = 1; network = list("SS13")},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aiX" = (/obj/machinery/light{dir = 4},/obj/effect/decal/warning_stripes/red/hollow,/obj/structure/closet/bombcloset,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "aiY" = (/obj/structure/table,/obj/effect/decal/warning_stripes/red/hollow,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/lock_buster,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "aiZ" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/interrogationhallway) @@ -527,7 +527,7 @@ "akg" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/main) "akh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/main) "aki" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/security/seceqstorage) -"akj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/camera{c_tag = "Interrogation Hallway"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/interrogationhallway) +"akj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "akk" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera{c_tag = "Brig Warden's Office"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/warden) "akl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/warden) "akm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/secure_closet/warden,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/warden) @@ -4370,7 +4370,7 @@ "bGb" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry) "bGc" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "bGd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/medical/chemistry) -"bGe" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/medical/medbay2) +"bGe" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/holofloor,/area/security/permabrig) "bGf" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/medical/medbay2) "bGg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/medical/medbay3) "bGh" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay3) @@ -6832,7 +6832,7 @@ "cBt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/engine/break_room) "cBu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor/plasteel,/area/engine/break_room) "cBv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/engine/break_room) -"cBw" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/turf/simulated/floor/plasteel,/area/engine/break_room) +"cBw" = (/obj/structure/table,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/security/permabrig) "cBx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/plasteel,/area/engine/break_room) "cBy" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/plasteel,/area/engine/break_room) "cBz" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/engine/break_room) @@ -6940,8 +6940,8 @@ "cDx" = (/obj/machinery/camera{c_tag = "Engineering Equipment North"; network = list("SS13")},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/engivend,/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "cDy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "cDz" = (/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) -"cDA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) -"cDB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/wall/r_wall,/area/atmos) +"cDA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/camera{c_tag = "Interrogation Hallway"; dir = 4; network = list("SS13")},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/interrogationhallway) +"cDB" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/medical/medbay2) "cDC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/decal/warning_stripes/red/hollow,/obj/machinery/camera{c_tag = "Atmospherics North-West"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos) "cDD" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/decal/warning_stripes/red/hollow,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos) "cDE" = (/turf/simulated/floor/plasteel,/obj/item/device/radio/beacon,/turf/simulated/floor/plasteel{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/atmos) @@ -7004,7 +7004,7 @@ "cEJ" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cEK" = (/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "56"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cEL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) -"cEM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/camera{c_tag = "Engineering Equipment East"; dir = 8; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/structure/engineeringcart,/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) +"cEM" = (/obj/structure/table/glass,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery) "cEN" = (/obj/item/device/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/white/hollow,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos) "cEO" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/white/hollow,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos) "cEP" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{level = 2},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/floor/plasteel,/area/atmos/distribution) @@ -7019,7 +7019,7 @@ "cEY" = (/obj/structure/stool/bed,/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitered"},/area/medical/patient_b) "cEZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/wall/r_wall,/area/medical/virology) "cFa" = (/obj/machinery/smartfridge/secure/chemistry/virology,/turf/simulated/floor/plasteel{tag = "icon-whitegreen (WEST)"; icon_state = "whitegreen"; dir = 8},/area/medical/virology) -"cFb" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/effect/spawner/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage) +"cFb" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/plasteel,/area/engine/break_room) "cFc" = (/obj/machinery/atmospherics/unary/tank/air{dir = 8},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cFd" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cFe" = (/obj/machinery/computer/pandemic,/turf/simulated/floor/plasteel{tag = "icon-whitegreen (EAST)"; icon_state = "whitegreen"; dir = 4},/area/medical/virology) @@ -7220,7 +7220,7 @@ "cIR" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitegreencorner"},/area/medical/virology) "cIS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "cIT" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cIU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) +"cIU" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/effect/spawner/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engine/equipmentstorage) "cIV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "cIW" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable,/turf/simulated/floor/plating,/area/toxins/xenobiology) "cIX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) @@ -8144,7 +8144,7 @@ "daF" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "daG" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/structure/lattice,/turf/space,/area/space) "daH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "gas_turbine_exterior"; locked = 1; name = "Turbine Exterior Airlock"; req_access_txt = "32"},/turf/simulated/floor/engine,/area/maintenance/turbine) -"daI" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/maintenance/asmaint) +"daI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "daJ" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2 (EAST)"; icon_state = "pipe-j2"; dir = 4},/obj/machinery/atmospherics/binary/pump{name = "Waste Out"; on = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) "daK" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/asmaint) "daL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -8556,7 +8556,7 @@ "diB" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "diC" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northeast_lock"; locked = 1; req_access_txt = "152"; req_one_access = null; req_one_access_txt = "0"},/obj/docking_port/mobile{dir = 2; dwidth = 2; height = 18; id = "skipjack"; name = "Vox Skipjack"; roundstart_move = "skipjack_away"; width = 19},/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_ne"; name = "northeast of SS13"; width = 19},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox) "diD" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"diE" = (/obj/machinery/camera{c_tag = "Prison West"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) +"diE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "diF" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "diG" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "diH" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) @@ -8905,14 +8905,14 @@ "dpm" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/quartermaster/miningdock) "dpn" = (/obj/structure/closet/wardrobe/miner,/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock) "dpo" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"dpp" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) +"dpp" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/atmos) "dpq" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "dpr" = (/obj/machinery/camera{c_tag = "Prison East"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "dps" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "dpt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "dpu" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "dpv" = (/obj/machinery/door/airlock/glass{name = "Prison Basketball Court"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"dpw" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/holofloor,/area/security/permabrig) +"dpw" = (/obj/machinery/camera{c_tag = "Engineering Equipment East"; dir = 8; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/structure/engineeringcart,/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "dpx" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "co2_in"; pixel_y = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/security/permabrig) "dpy" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/holofloor,/area/security/permabrig) "dpz" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/security/permabrig) @@ -8969,6 +8969,7 @@ "dqy" = (/obj/machinery/atmospherics/binary/valve{dir = 4},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) "dqz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "dqA" = (/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) +"dqB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "dqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "dqD" = (/obj/machinery/flasher_button{id = "permaflash1"; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) "dqE" = (/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) @@ -9034,6 +9035,8 @@ "drM" = (/obj/machinery/camera/motion{c_tag = "AI Core South"; dir = 2; network = list("SS13","MiniSat")},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "drN" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/ai) "drO" = (/obj/machinery/camera{c_tag = "AI Satellite Exterior South"; dir = 2; network = list("SS13","MiniSat")},/turf/space,/area/turret_protected/ai) +"drP" = (/turf/simulated/wall/r_wall/coated,/area/maintenance/asmaint) +"drQ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall/coated,/area/maintenance/asmaint) "YDt" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/tank/emergency_oxygen/nitrogen{pixel_x = 6; pixel_y = 5},/obj/item/weapon/tank/emergency_oxygen/nitrogen{pixel_x = 4; pixel_y = 3},/obj/item/weapon/tank/emergency_oxygen/plasma{pixel_x = -4; pixel_y = 5},/obj/item/weapon/tank/emergency_oxygen/plasma{pixel_x = -6; pixel_y = 3},/turf/simulated/floor/plasteel{dir = 4; icon_state = "blue"},/area/medical/biostorage) (1,1,1) = {" @@ -9086,7 +9089,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVcaVdhSbFldhNcaVdhObFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaabaabaalabgabiaaSabiaaMabfabjablaaxaavaayaboabmaaDabpabrabqabsaatabwabwabzabyabyaalaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVayLdhTbFldhNcaVdhObFlaafdhWdhVdhXbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalabBabDabCaaDaaMabEaayaayabFabGaavabIabHabJaaGaavabMabNaatabOabOabQabPabPaaBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhYcaVcaVdhZbFldiacaVcczdicdibdibdibbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikaalabRaaHabSaaHabTabVabUabYabXacaabZaccacbacfaceabZacjacjacFahdahcbnHahedhqbnIbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVcaVcaVdidcaVcaVdiedigdifdifdihbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdiibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalaavdiEdiDdkJdiIdpodkKdkJdkJdpqdppdpsdprdkJdptdpudkJdkJdpvdpxdpwdpydpwabPdpzbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVcaVcaVdidcaVcaVdiedigdifdifdihbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdiibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalaavaiWdiDdkJdiIdpodkKdkJdkJdpqakjdpsdprdkJdptdpudkJdkJdpvdpxbGedpybGeabPdpzbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVcaVcaVdijcaVcaVcaVaVUdikdikdimbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalaaldpBdpAdpDdpCdpEaatdpFdpFaatdpGdpHaatdpJdpIaalaalaalaaldpKagtaaDagtabPdpLbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdhPaafaafaafaafaafaafdincaVcaVaafaafaafaafaafaafdhXbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaaldpMaaydpNabnbukdpDdpPbukdpQdpSbyEdpDdpTdpOagUagXdpOdpXdpWdpZdpYdqaaalbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdiobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldipdipdiqdisdirbFlditcaVcaVbFldiudiwdivdiydixbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalabuaatabvdqbaatdqcaaqaatdqcaaqabxdqcaaqaalaabaEQaalaalaalaalaalaalaalaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9095,7 +9098,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFlajecaVcaVdiKdiJbFldiLdiMdiLbFlaWldiOcaVcaVcaVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikaaldqwdqvdqydqxdqAdqzdqCacpdqAdqDdqAdqEdqFdqAdqAdqGaalbikaabaabaabaEQabLaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdgvdgudgmbikabAdgwdgydgxdgAdgzdgydgwdgjbikdgmdgBdgCdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFlcaVcaVdiPbFlaafbFlcaVdiRdiQbFlaafbFlcaVcaVcaVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalaalaalaalaalaaldqHdqIaalaalaalaalaalaalaalaalaalaalbikbikbikaabaEQabLabLaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdgEdgDdgFbikdgHdgGdgydgydgIdgydgydgGdgJbikdgLdgKdgMdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldiSdiUdiTbFlbikbFldiVdiVdiVbFlbikbFldiWdiYdiXbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaaldqJdqLdqKdqNdqMahqaalaabaabaabbikbikbikbikbikaabaabaEQabLaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgwdgNdgwbikbikdgOdgGdgydgPdgQdgydgydgGdgRbikbikdgwdgNdgwbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldiVdiVdiVbFlbikcVGdiZdjbdjadelbikbFldiVdiVdiVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacgacgacgacgacgacgachacidqPackaclaiWaalacmbikbikbikbikbikbikaabaabaabdqRabLabLbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgwdgNdgwdgwdgwdgwdgwdgwdgwdgSdgwdgwdgwdgwdgwdgwdgwdgNdgwbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldiVdiVdiVbFlbikcVGdiZdjbdjadelbikbFldiVdiVdiVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacgacgacgacgacgacgachacidqPackaclcBwaalacmbikbikbikbikbikbikaabaabaabdqRabLabLbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgwdgNdgwdgwdgwdgwdgwdgwdgwdgSdgwdgwdgwdgwdgwdgwdgwdgNdgwbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVGdiZdjbdjadelbikbikbikbikbikbikbikcVGdiZdjbdjadelbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacgacnacoaecacqacracsacdaalaalaalaalaalbikbikbikbikbikbikbikbikbikaabactactactacuacvactactactabKabKabKabKabKbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgHdgNdgTdgTdgTdgTdgTdgTdgmdgUdgmdgTdgTdgTdgTdgTdgTdgNdgJbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacgacwacxacyaczacAacBacCaalacDacEacEacEacEacEbikbikbikbikbikbikbikbikactacHacIacJacKacLacMactabLabLabLabLabLabKbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgVdgXdgWdgZanqdhadgmdgSdgwdgSdgwdgSdgmdhcdhbdhedhddgXdhfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikacgacNacOacPacQacRacSacCaalacEacEacUacTacVacEacEakMbikbikbikbikbikbikactacWacXacYacXacXacZactadaadaadaadaadaadaabLadbbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgOdgXdgydgydgydhgdgmdgydgydgydgydgydgmdgydgydhhdgydgXdgRbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9111,7 +9114,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafyafAafyamdafyafAafyaeAbikaabbikbikadwadxafBagBagFahJahfagWahnagIagKagJahRahQairahSaiXagVagZahFahGahrahkahUahoahsahuahtahKahKahMahLahAadaadaadaadaadaaieaieaieahAbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabaabaabahBaabaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGacGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafyafyafAamdafyafyafAaeAaabaabbikbikadwadwaiOafFailailadTaatahTahNagvaiqaisahhamuaitdqOahOahVahPahXahWahYaifaibaiaamyamzamzaicaiCaidahAaieaieaieaieaieaieaieaieahAbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikbikbikaiIbikbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafAafyaiJamdafAafyaiKaeAamcaabaabaabaabadwagTaiOakcaiwaeEaatakoaiSagvaimaiUaiVdqQaiuaiYaihaijaiiajgajfahYaioaiyaixaiEaiDaiHaiGaiCaiLahAaieaieaieaieaieaieaieaieahAagQagQajjaabagQagQagQagQagQagQagQagQagQagQagQagQagQagQaabaabajkajlajmaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaVydmddmkdmjdmldmddmddmmdmddmddmnbikbikbikbikbikbikbikbikbikafxaabajnaabafxbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaeAajoajpajqajrajoajpajqajsajtajtajtajtajtajtajuajuafdaiAagSafHakjaofajGajGajNahIajEajFajGaiRaiPaiMaiNaipaiTajaajwaixaiEajhajiaiGajMajvajOaieaieaieaieaieaieaieaieahAaabaabaabaabaabaabbikaabbikaabaabaabaabaabaabaabaabbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaVydmddmkdmjdmldmddmddmmdmddmddmnbikbikbikbikbikbikbikbikbikafxaabajnaabafxbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaeAajoajpajqajrajoajpajqajsajtajtajtajtajtajtajuajuafdaiAagSafHcDAaofajGajGajNahIajEajFajGaiRaiPaiMaiNaipaiTajaajwaixaiEajhajiaiGajMajvajOaieaieaieaieaieaieaieaieahAaabaabaabaabaabaabbikaabbikaabaabaabaabaabaabaabaabbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmpdmodmrdmqdmtdmsdmsdmsdmvdmudmwbikbikbikacGacGacGafxafxaabaabbikajQbikaabaabafxafxacGacGacGbikbikbikbikbikbikbikbikbikbikbikbikaeAajRajSajTafyajUajVajWaknajubSoclqajcajAajyajDajuahDahCajJajxajLahHajBalnakkaklakmaiFajFaiRakiakaaiRajIaiRahUalhajKakbajYakpakdakzaiCakAaieaieaieaieaieaieaieaieahAaabakBakCakCakCakDakCakCakCakCakDakCakCakCakCakEaabbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmxdmodmzdmydmsdmAdmAdmAdmAdmAdmBbikbikbikacGbikbikaabbikaabbikbikajQbikbikaabbikaabbikbikacGbikbikbikbikbikbikbikbikbikbikbikbikaeAakFafyakGakHakIakJakKakLajucjgakNakOakOakPajZajuaivainaiBaizakrahHakWakXakYakZalaalbajdalvakwakuakqaksaktakTalBakSalcakUalealdaiCalfajOaieaieaieaieaieaieaieaieahAaabaloaabaabaabaloaabbikbikaabaloaabaabbikbikaloaabbikaabaabajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmCdmodmEdmDdmAdmAdmAdmAdmGdmFdmwbikbikbikacGaabalpalpalpalpalpbikalqbikalpalpalpalpalpaabacGbikbikbikbikbikbikbikbikbikbikbikbikaeAalralsakGafyaltakJalualwajuaoIalxalyalzakQakxajuampaiQakRaiZalEajzajBalFalGaklalHalIajFaliahPaljaljallalCalgalJajXakfakealMakeakhakgahAahAahAahAahAahAahAahAahAahAaabaloaabbikajkajlajmbikbikajkajlajmbikbikajkajlajmaabaabbikajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9172,7 +9175,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaIndjtdjsdjuaIoaIoaIobdFaJraJrbrXbzVbrXbzWbzXbzYbzZbrXbcsbAabAabAbbAcbAbbAbbAbbAcbAbbcsbcsbngbngbngbAdbngbAebAebAebAebAebAebyvbAfbAgbAhbAibAjbAkbAlbAmbAnbAobApbAqbArbAsbAtbAubAvbAwbAwbAxbAybAzbAAbABbACbADbAEbvjbAFbwVbAGbwTbAHbvjbikbAIbAJbAKbALbAJbAJbAJbAJbAMbnAbCBbvwbCCbAPbAQbARbASbATbAUbucbAVbAWbAXbAYbAZbBabBbaHQbvHbBdbuhbBebzlbBfbBgbuhbBhbBibxwbxxbxAbxzbxvbxAbuibDdbvXbBjbBkbBlbBmbBnbBobBpbBqbBrbBsbBtbBubKpbupbBwbBxbBybusbBzbBAbBBbxUbBCbKwbusbzMbxXbBEbwobikbikbikbikaabaabaabaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaIndjwdjvdjuaJqaJqbBIbBJaJqbBKbrXbBLbycbBMbBNbBObBPbrXbikaabaabdfMdesdesdesdesdesdfNbikbikbBRbBSbBTbBUbBVbAebAebAebAebAebAebBWbBXbBYbBZbCabCbbCcbCdbnmbnmbCebCfbnmbnmbCgbChbCibPcbCkbCpbCpbKzbCpbCnbCobCpbCqbAEbvjbCrbvlbvlbvlbCsbvjbikbAIbAJbFdbCubCvbCwbCxbCybCzbCAbEsbvwbHtbucbvxbCDbCEbCFbCGbCHbCIbCJbCKbCLbCMbCNbCObCPbCQbCRbCSbCTbzlbCUbCVbuhbCWbCXbCYbCZbDabDbbDcbvVbuibIcbDebDfbDgbDgbDhbDibDjbDkbDlbDmbDnbDobDpbDqbupbDrbBxbDsbusbDtbDubDvbxUbxUbDwbusbxWbxXbDxbwobikbikbikbikaabbDAbFfbDBbFfbDBbFfbFgaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaIndjudjubDEaInaInaLyaCubDFbDGbrXbDHbycbycbycbrXbrXbrXbikbikbikdewdevdevdexdevdevdewbikbikbBRbDIbAebDJbDKbDKbDKbDKbDKbDLbDMbDKbDNbDObDPbDQbDRbDSbDTbnmbDUbpIbDVbDWbtLbDXbDYbDZbPcbPcbCpbEabnDbEcbIibEebCpbvibAEbvjbEfbEgbEhbqtbEjbvjbikbEkbAJbElbEmbEnbEobEpbEobEqbErbFWbvwbHBbucbEubEubEvbEwbExbEybEzbEAbEBbECbEDbEDbJjbEFbEGbEHbuhbCTbEIbujbuhbuhbuibEKbELbEMbuibuibuibuibENbIdbvXbEPbBkbBlbEQbDgbDjbERbESbESbETbxJbEUbEVbEWbEXbxPbEYbusbEZbFabxUbFbbFcbKhbusbzMbFebwobwobikbikbikbikaabbFhbFjbFibGSbFkbGTbFhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydjydjydjydjAdjzdjydjydjydjydjBbikbikbikbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevdewbFnbBRbBRbFobFpbFqbFrbFrbFrbFpbAebyvbAfbAebAebAgbFsbFtbFubFvbFwbFxbFybpIbpIbFzbtLbDXbDYbFAbFBbFCbFDbFEbFFbFGbFHbFIbCpbFJbFKbwRbFLbFMbFNbFObFPbwXbwYbFQbAJbFRbFSbFTbEobFUbEobFVbErbJebvwbKObucbFYbFZbGabGbbGcbGdbGebGfbGgbGgbGhbGibGgbGgbGjbGkbGlbGmbGnbGobGpbGqbGrbGsbGtbGubGvcbAbKBbIebKjbKibvXbGBbGCbGDbGEbGFbxGbGGbESbESbGHbGIbEUbGJbupbGKbGKbGLbusbGMbGNbGObGPbxUbGQbusbzMbGRbwobikbikbikbikbikaabbGUbIybFibFkbFibKkbDBaabbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydjydjydjydjAdjzdjydjydjydjydjBbikbikbikbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevdewbFnbBRbBRbFobFpbFqbFrbFrbFrbFpbAebyvbAfbAebAebAgbFsbFtbFubFvbFwbFxbFybpIbpIbFzbtLbDXbDYbFAbFBbFCbFDbFEbFFbFGbFHbFIbCpbFJbFKbwRbFLbFMbFNbFObFPbwXbwYbFQbAJbFRbFSbFTbEobFUbEobFVbErbJebvwbKObucbFYbFZbGabGbbGcbGdcDBbGfbGgbGgbGhbGibGgbGgbGjbGkbGlbGmbGnbGobGpbGqbGrbGsbGtbGubGvcbAbKBbIebKjbKibvXbGBbGCbGDbGEbGFbxGbGGbESbESbGHbGIbEUbGJbupbGKbGKbGLbusbGMbGNbGObGPbxUbGQbusbzMbGRbwobikbikbikbikbikaabbGUbIybFibFkbFibKkbDBaabbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjCdjEdjDdjGdjFdjIdjHdjFdjJdjLdjKdjydjydjBbikbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevbGWbmrbNkbmrbGXbGYbGZbGYbGYbGYbGYbHabyvbAfbHbbngbngbHcbpIbAibFvbHdbtLbHebHfbHfbHgbHhbHibHjbHkbHlbHmbHnbHobHpbHqbHrbHsbCpbCqbAEbvjbKHbHubHvbHwbHxbvjbikbEkbHybHzbHybHybHybHybHybHAbHybKPbvwbKObucbHCbHDbHDbHEbHFbEybHGbHHbHIbHJbHKbHLbHMbHIbHNbHObHPbHQbHRbHSbHTbHTbHUbHVbHWbHXbHYbLibLCbLBbNdbNcbNebIfbIfbIgbIhbKYbxGbIjbxJbxJbIkbIlbEUbImbInbIobIpbIqbIrbIsbItbIubxybIubusbusbIwbEXbGxbLDbLDbLDbLDbLDbGxbFhbFkbFibFkbFkbGTbFhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydjHdjHdjHdjMdjFdjNdjNdjFdjOdjHdjHdjQdjPdjydjBbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevbLFbKmbIAbKmbIBbAebFqbFrbFrbFrbAebAebyvbAfbICbKobngbIEbpIbAibFvbIFbtLbIGbpIbrsbpIbIHbDXbvvbIIbHlbHmbIJbIKbILbIMbINbIObIPbIQbIRbISbISbITbIUbIVbvjbvjbikbEkbHybIWbIXbIYbIZbJabJbbJcbJdbMhbvwbKObCHbJfbJgbJhbJibMGbEybJkbJlbJmbJnbJobJpbJqbJrbJsbJtbJubJvbJwbJxbJybJzbJAbJBbJCbJDbJEcbAchEbIecnfcjubvYbJIbJJbJKbJLbJLbxGbJMbJNbJObxGbJPbEUbJQbxGbJRbJSbJTbJUbJVbJWbJXbJYbJZbKabKbbKcbKdbKebKfbKfbIxbJFbJHbGzbKlbFfbDBbNhbDBbFfbLEaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydjSdjRdjUdjTdjVdjFdjWdjHdjXdjHdjHdjHdjHdjHdjMdjFbikbikbikbikbikbikbikbikbikbikdewdeCdevdevdevcOfdewbFnbBRbBRdezbAebFqbAebAebAebAebAebyvbAfbICbLwbngbLQbpIbKqbKrbpIbKsbpHbpIbpIbKtbtLbDXbvvbIIbHlbHmbCpbKubKvbqzbKxbKybKzbKAbOkbKCbKDbwXbKEbKFbwXbwYbwYbKGbHybOPbKIbKJbKKbKLbKLbKMbKNbMibvwbMjbucbEybKQbEubKRbKSbEybJkbKTbKUbKVbKWbKXbQsbKUbJkbKZbLabLbcchbLbbLcbLbbLdbLdbLebLfbLgbLgbLgcpLbLgbLgbLhbLhbLjbLkbLjbLjbxGbxGbxGbxGbxGbLlbLmbBobxGbLnbLobLpbLqbLqbLrbLsbLtbLubLvbLIbLxbLybLzbLAbLAbEObGAbHZbGxbGzbGzbGzbIabGxbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9202,18 +9205,18 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaSecsdctvdnZctvdoBcsdcsecsfcsgcsgcshcsicspcskcyrcsmcsncsocsrcsqcsqcsscsqcstctzctzctAcsvcswcsxcsycsxcsxcsxcswcsxcsxcszcsAcsBcsCcgdcbkcsDcmQcsFcnBcodcoeckIcoEcorcsKcsLcsMcsNcsObGybGycpFcwlcsQcsRcsScsTcwmcpFdehcsTcsWcsXdlFdqVcwrbikbikbikcEjdbAdbzdbAdbAdbCdbBdbEdbDcoGcwFbVibGycuscoDcwpbikbikaabaabaabbikbikbikbikbikbikbikbikctdckPcxGckSctdctfctgcthctictjctkctlcpXcpXctmctnctoctpctqbwocvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaabaabaabaabbikbikbikbikaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSecsdctvctvctvdoBcsdctuctvctwctvctxctyctDctCdmedcYdmedmfcxnctEctFctEctEctGcblcblctEctHctEctEctEctEctEctEctEctEctEctEctIctJctKctLctMctNcqzctPctQcyqctSctTbEbctVctWctXcAvctZcuacnqcubcuccudcuecufcugcuhdqWcpFdqXcqKcugcukcqKculcwrbikbikbikdbFcmkdbGdbJdbIdbCdbKdbMdbLcrpdbNceFceJdbPcoDcwpbikbikbikaabaabaabbikbikbikbikbikbikbikckPcurczQcutckPcnCcnCcnCcnCcnCcnCcuuctlcuvcuwcuxcuycnCcnCbwocvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSedobctvdocctvdoBcuBdodcuCcuDcuEcuFcuGcuHcuIcuJcuKcuLcuMcuNcuOcuPcuQdoeceAcuSceAcuNcuTcuNcuNcuNcuNcuNcuNcuNcuNcuNcuNcuUctEcuVcuWcuXcuYcuZcvacvbcvccvdcvecvfcvgcvhcvicvjcvkcsLceJcvlcvmcvncqKcqJcqKcqKdqYcpFdqZcqKcqKcqNcqKcyGcwrbikbikbikdbFdbRdbQdbTdbSdbVdbUdbXdbWcoGbGychCcyHcuscoAbikbikbikbikbikaabckPckPckPckPckPckPckPckPckPcvucxScvwcwAcxOcxOcyIckPaabcnCcnCcvAcnCcvBcvCcvDcnCcyKcyJcvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdogdofcrjcrjcrjcrjdnQcwUcwUcwUcwUdnXcwUcvFcvGcvGcvHctBdlXcwUcCmcvJcvKcvKcvLcvKcvMcvKcvKcvNcvOcvKcvKcvOcvOcvOcvKcvKcvKcvKcvPcvQcvRcvScvTcvUcvVcvWcvXcvWcvWcvWcvWcvZcwacwbcwccwdcsObGycvrcwecwfcAzcwhdradrcdrbcpFdrdcqKdrecqNcqKcwocpMbikbikbikdbFdbZdbYdcadbIdccdcbdbUczRcoGcyObVibVicuscoAbikbikbikbikbikbikckPcwtcwucwvcwwcwxcwycwzcwAcwBczScwDcwAcxOcBZcyPckPaabaabcwGcwHcwIcwJcwKcwLcwGbxXbxXcvzczfbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdogdofcrjcrjcrjcrjdnQcwUcwUcwUcwUdnXcwUcvFcvGcvGcvHctBdlXcwUcCmcvJcvKcvKcvLcvKcvMcvKcvKcvNcvOcvKcvKcvOcvOcvOcvKcvKcvKcvKcvPcvQcvRcvScvTcvUcvVcvWcvXcvWcvWcvWcvWcvZcwacwbcwccwdcsObGycvrcwecwfcAzcwhdradrcdrbcpFdrdcEMdrecqNcqKcwocpMbikbikbikdbFdbZdbYdcadbIdccdcbdbUczRcoGcyObVibVicuscoAbikbikbikbikbikbikckPcwtcwucwvcwwcwxcwycwzcwAcwBczScwDcwAcxOcBZcyPckPaabaabcwGcwHcwIcwJcwKcwLcwGbxXbxXcvzczfbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGacGafxafxacGafxafxaabagiaabaqZbikaqZaqZdoidoCdojdojdojdoldokcwUcwOcwPcwQcwRcwScwTcwUcwVcwWcvOcwYcwZcxacxbcxccxdcxecxfcxgcvKcxfcxhcxicxjcxjcxkcvKcxlcxmcxncxocbkcxpcxqcxrcxscxtcxucxtcxvcxwcxxcxycxzcxAcsOcsOcvrcwecpFcpFcxBcpFcpFcwecrvcuccuccuccxFcuccsEcpMbikbikbikdbFdbFdbFdbFdbFdbydcedcgcBbcoGbGybGyczhcuscoAbikbikbikbikbikbikckPcxOcxPcxOcxQcxRcqUcxScwAcxTczicxTcwAcxOcxOcMpckPaabbikcwGcxWcxXcwJcwJcxYcwGczjbxXcvzbzNczMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikbikaabaabbikaabaabbikbikaabaabaabaabaabdoidoidohdoidoidoncEBcwUcwUcwUcwUcwUcwUcwUcwUdoicwWcvOcyccydcyecyfcyfcyfcyfcygcyhcyicxjcyjcxjcxjcykcxjcylcymcyncyocxocbkcypcyqcDucxscyscytcyucxscyvcywcyxcyycyzcyAcyBcyCcyDcyEcyEcAaczUcAdcAccAeczTbGyceJcAhbGycAMcoAcoAcoAcoAcoAbikbikbikbikdcidchdckdcjcoGdclbVibVicuscoAcoAcoAcoAcoAbikbikckPcxOcxOcxOcyZczaczbczcczdcAicAOcFRcwAcAVcAYcAWckPbikbikcwGczkcwJczlcwJczmcwGbxXbxXcvzczMbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdoDbikacGbikczoczpczqbikczoczpczqbikczoczpczqbikbikdoidoocfRdopdoidoqcGKdojdojdojdojdojdojdojdojdojcEycvOcztcxjcykczucxjcxjcxjczvcxjcztcztcxjcxjcxjcxjczwczxcymczyctEczzcoacyqcyqczAcxsczBczCczDcxsczEctWczFczGczHczIczJczKbGyczLcdcczLbGycBacAZcBccBccBccBccBPcBNcBNcBNcBNcBNcBQcoAbikbikbikbikdcidchdckdcmcTabGyckObVicusbGybGybGycgmcoAbikbikckPcwAcwAcwAcwAczWcqUczXczYczZcCfcAbcwAcCGcCYcCIckPbikbikcwGcAfcAgcDLcwJcDNcwGcEdbxXcvzbwoaabaabaabaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikczocAkczqbikczocAkczqbikczocAkczqbikaqZdoicfRcfRcfRdoidoidorczsdoidoiczsczsdoidoiczsczscwWcvOcztcAlcxjcAmcAncAocAocyjcxjcztcApcxjcxjcxjcxjcAqcArcAscAtbZNcAucAPcAwcAxcAycxsczBdlYcAAcxscABctWcsOcACcsLcADcAEcAFcAGcAHcAIcAJcAGcAKcAGcAGcAGcoAcoAcoAcoAcoAcoAcoAcoAcEhcoAbikbikbikbikdcicBTdcqcBUcoGcgmcFdbVicFmcFlcFlcFnbGycoAbikbikckPcwtcwucwvcAQcARczbcAScATcAUcFrcIScAXcGscIScGtckPbikbikcwGcwGcGIcCrcBdcwGcwGbwobxXcGycyJcyJcyJbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikaqZaabczocAkczqbikczocAkczqaabczocAkczqbikaabdoidondosdoqdoibikaabbikbikbikbikbikaabbikbikczscwWcvKcBecxjcBfcBgcBhcBicBjcBicBkcBicBlcBmcxfcBncztcztczxcBocBpcBqcBrcBscBtcBucBvcBwcBxcBycBzcBAcBBcBCcBDcBDcBEcBFcBGcBHcBIcBJcBKcBLcBMcALcBOcHucHtcDPcDPcDPcDPcDPcDPcHvcoAcEhclUclUclUclUclUclUcjmbEJcjmcFfclUclUcoAcoAcoAcoAcusbGycoAbikbikckPcxOcBZcxOcCacxRcqUcCbcCccCdcCecqUcqUcCgcqUcChckPbikaabaabcwGcwGcCscwGcwGbikbwobxXcvzcyJcHycHxbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikczocAkczqaabczocAkczqbikczocAkczqaabbikdoidoiczsdoidoibikaabaabbikaabbikaabaabbikbikcybcCicvKcCjcCkcCkcClcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcCmcCncCmcCocCmcrmcCpcCqcFbcCtcCtcCtcCucCvcBCcCwcCxcCycCzcCAcCBcBIcCCcCDcCEcCFcHzcCHcHAcCJaabcCKcCKcCKcCKcCKcHBcoAcHDcHCcIGcHHcIHctaclUciUckucjoclUcBXcCPcBYcCRcCQcoAcusbGycoAbikbikckPcxOcxOcxOckycCTczbcCUcCVcCWcCXcCZcCZcDacqUcDbckPaabaabbikbikbikcIKbikbikbikbwobxXcvzcyJbxXbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxaqZbikczocAkczqaabczocAkczqbikczocAkczqaabbikbikbikbikbikbikbikbikbikaabcDccDdcDdcDdcDdcybcDecwWcDfcDgcDhcDhcDicDjcDkcDlcDlcDlcDlcDmdotcDocDncDncDpcDpcDncDqcDrcDscDtcDtcFMcDvcDwcDxcDycDzcDzcDAcDBcDCcDDcDEcDFcCAcDGcBIcDHcDIcDJcDKcILcDMcIMcDOcDPcDQcDRcDScDTcCKcHBcoDcEhclUcvscvqcIOcINcxLckxckwdcrclUcCSczVcuqczVcDUcoAcusbGycoAcoAbikckPcwAcwAcwAcwAcEkcqUcCbdlZcEmcCecqUcEncEocEocEpcEqcXYaabbikbikbikbikbikbikbikbwobxXcGybxXbxXcIPbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcEraabaabaabcEraabbikaabcEraabbikbikbikbikbikbikbikbikbikcDccDccDccEscEtcEucDdcKlcExcEycDfcDfcEzcEAcvKcvKcEBcECcECcECcECcEDcEEcEFcEEcEEcEEcDtcDtcEGcEHcEIcEJcEKcDzcELcDwcDzcDzcDzcDzcEMcBCcENcEOcCycDFcCAcDFcBIcDHcDIcEPcEQcERcEScETcEUaabcEVcEWcDTcEXcCKcHBcoDcHDcHCcxKcxJczVcxMclUcIIcDVdcsclUcDWcDYczVcEbcEaclUcusbGycITcoAbikckPcwtcwucwvcFjcARczbcFkcJIcGCcJKcJKcFocFpcFqcJLckPaabaabaabbikbikbikbikbikbikbwocJMcvzbwobwobwobwobwoaabaabaabcJNcJNcJNcJNcJNcJNaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikaqZaabczocAkczqbikczocAkczqaabczocAkczqbikaabdoidondosdoqdoibikaabbikbikbikbikbikaabbikbikczscwWcvKcBecxjcBfcBgcBhcBicBjcBicBkcBicBlcBmcxfcBncztcztczxcBocBpcBqcBrcBscBtcBucBvcFbcBxcBycBzcBAcBBcBCcBDcBDcBEcBFcBGcBHcBIcBJcBKcBLcBMcALcBOcHucHtcDPcDPcDPcDPcDPcDPcHvcoAcEhclUclUclUclUclUclUcjmbEJcjmcFfclUclUcoAcoAcoAcoAcusbGycoAbikbikckPcxOcBZcxOcCacxRcqUcCbcCccCdcCecqUcqUcCgcqUcChckPbikaabaabcwGcwGcCscwGcwGbikbwobxXcvzcyJcHycHxbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikczocAkczqaabczocAkczqbikczocAkczqaabbikdoidoiczsdoidoibikaabaabbikaabbikaabaabbikbikcybcCicvKcCjcCkcCkcClcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcCmcCncCmcCocCmcrmcCpcCqcIUcCtcCtcCtcCucCvcBCcCwcCxcCycCzcCAcCBcBIcCCcCDcCEcCFcHzcCHcHAcCJaabcCKcCKcCKcCKcCKcHBcoAcHDcHCcIGcHHcIHctaclUciUckucjoclUcBXcCPcBYcCRcCQcoAcusbGycoAbikbikckPcxOcxOcxOckycCTczbcCUcCVcCWcCXcCZcCZcDacqUcDbckPaabaabbikbikbikcIKbikbikbikbwobxXcvzcyJbxXbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxaqZbikczocAkczqaabczocAkczqbikczocAkczqaabbikbikbikbikbikbikbikbikbikaabcDccDdcDdcDdcDdcybcDecwWcDfcDgcDhcDhcDicDjcDkcDlcDlcDlcDlcDmdotcDocDncDncDpcDpcDncDqcDrcDscDtcDtcFMcDvdaIcDxcDycDzcDzdiEdppcDCcDDcDEcDFcCAcDGcBIcDHcDIcDJcDKcILcDMcIMcDOcDPcDQcDRcDScDTcCKcHBcoDcEhclUcvscvqcIOcINcxLckxckwdcrclUcCSczVcuqczVcDUcoAcusbGycoAcoAbikckPcwAcwAcwAcwAcEkcqUcCbdlZcEmcCecqUcEncEocEocEpcEqcXYaabbikbikbikbikbikbikbikbwobxXcGybxXbxXcIPbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcEraabaabaabcEraabbikaabcEraabbikbikbikbikbikbikbikbikbikcDccDccDccEscEtcEucDdcKlcExcEycDfcDfcEzcEAcvKcvKcEBcECcECcECcECcEDcEEcEFcEEcEEcEEcDtcDtcEGcEHcEIcEJcEKcDzcELcDwcDzcDzcDzcDzdpwcBCcENcEOcCycDFcCAcDFcBIcDHcDIcEPcEQcERcEScETcEUaabcEVcEWcDTcEXcCKcHBcoDcHDcHCcxKcxJczVcxMclUcIIcDVdcsclUcDWcDYczVcEbcEaclUcusbGycITcoAbikckPcwtcwucwvcFjcARczbcFkcJIcGCcJKcJKcFocFpcFqcJLckPaabaabaabbikbikbikbikbikbikbwocJMcvzbwobwobwobwobwoaabaabaabcJNcJNcJNcJNcJNcJNaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabcFscFtcFtcFucFvcFwcFwcFwcFvcFwcFwcFwcFvcFwcFwcFwcFxcFtcFtcFtcFtcFtcFycFzcFAcFBcFCcFDcFEcFFcFGcfRcwWcFHcDfcvKcvKcvKcFIcEBcECcFJcFKcFLcHscFNcJlcFPcFOcFQcFScFTcSpcFVcFWcFXcFScFYcFZcDwcGacDzcDzcDzcGbcBCcGccGccDFcGdcGecGfcGgcGhcGicGjcGkcGlcGmcGncDOcGocDQcGpcDTcDTcCKcHBcoDcEhclUcyMcyLcyNcFfclUcnkclTcFfclUcyQcyScyRcyTcyTclUcusbGycJOcoAbikckPcxOcxPcxOcGAcxRcqUcGBcJPcJJcqUdlWcGDcwAcwAcwAckPbikbikaabaabbikbikbikbikbikbwocyKcvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcGFaabbikaabcGFaabbikaabcGFaabbikbikbikbikbikbikbikbikbikcDccDccDccGGcGHcWAcDddovcfRcGKcExcExcExcExcGLcExcFGcECcGMcGNcGOcGPcGQcGRcGScGTcGUcGVcGWcGXcGYcGZcHacHbcFYcELcDwcHccHdcDzcDzcHecBCcHfcHgcDFcHhcCAcHicHjcHkcHlcHmcHncHocHpcHocHqaabcCKcCKcCKcCKcCKcHBcoAcEhclUcIJcyVcyYcyXcEecEccEgcEfcHwcGucHZczVcIRcIQclUcusbGycJRcoAbikckPcxOcxOcxOcBWcHEcHFcHGcHJcHIcqUcqUcqUcqUcHKcHLcHMbikbikbikaabaabbikbikbikbikbwobwocvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikbikaabaabcDccDdcDdcDdcDdcHPcHQcHRcfRcHScfRcfRcEBcHTcfRcECcHUcHVcGOcHWcFNcHXcHYcIacIacIbcIccIdcIedmabRFcIbcIhcIicIjcIkcIlcImcIncIocIpcIqcGfcIrcIscItcIucIvcIwcIxcIycIzcIAcIBcICcIDcDPcDQcIEcIFcIFcCKcHBcoAcEhclUclUclUclUclUcJhcANcBRcJQcMccBScMecMdcMCcBVclUcuscGqcGrcGrcGrcJTcJTcJTcJTcJTcJUcKTcKbcKUcIUczbcIVczbcIVczbcIXcHMbikbikbikbikaabaabbikbikbikbikbwocvzbwoaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikbikaabaabcDccDdcDdcDdcDdcHPcHQcHRcfRcHScfRcfRcEBcHTcfRcECcHUcHVcGOcHWcFNcHXcHYcIacIacIbcIccIdcIedmabRFcIbcIhcIicIjcIkcIlcImcIncIocIpcIqcGfcIrcIscItcIucIvcIwcIxcIycIzcIAcIBcICcIDcDPcDQcIEcIFcIFcCKcHBcoAcEhclUclUclUclUclUcJhcANcBRcJQcMccBScMecMdcMCcBVclUcuscGqcGrcGrcGrcJTcJTcJTcJTcJTcJUcKTcKbcKUdqBczbcIVczbcIVczbcIXcHMbikbikbikbikaabaabbikbikbikbikbwocvzbwoaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikczocHOczqaabczocHOczqbikczocHOczqbikbikbikbikaabbikbikbikbikaabaabaabbikbikaabaabcJbcJbcJbcJbcJbcJbcJbcJccJbcJbcECcJdcJecGOcHWcFNcJfcFNcFNcJgcDtcJicJjcFWcJkcQDcDtcJmcDzcDwcJncJocJpcIncJqcJrcJscJtcJucJvcJwcJtcJxcJycJzcJAcDFcJBcJCcJDcJEaabcEVcJFcJGcJHcCKcHBcoDcKWcKVcKVcKVcKXclUcFacyLcCLcFecyScCMcyTcyTcyScCNclUcuscGvbVibGycKYcKZcoAbikbikckPcJVcJWcJXcJYcJVcJWcJZcKacJVcJWcLackPaabaabaabaabaabaabaabaabaabaabbwocvzbwobwobwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjcbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikbikaabaabbikbikaabaabaabcJbcKjcKjcKkcXPcKmcKmcKncKocKocKpcKqcKrcGOcHWcGOcKscGOcGOcGOcDtcKtcKucKvcKwcKxcKycKzbClcKBcKCcKCcKCcKDcKEcKFcKGcKHcKIcHhcCAcKJcKKcKLcKMcKNcDFcJBcKOcKPcKQcKRcDQcKScIFcIFcCKcHBcoDcEhbVibVibVibYDclUcFgcCOcDXcNDcyScPocPMcyTcPVcPQclUcuscGvbVibGycyHbGycoAbikbikckPcLicLjcLkcwAcIWcLmcJScwAcLlcLpcLnckPaabaabbikbikbikbikbikbikbikbikbwocvzbxXbxXbwoaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabczocHOczqbikczocHOczqaabczocHOczqaabaabaabaabbikaabbikbikaabaabbikbikbikaabbikbikcJbcKjcKjcKkcLscLscLscLtcLucLvcECcLwcLxcLycLzcLAcLBcLCcLDcLDcLEcLFcLGcGOcGOcGOcLHcLIcLJcLKcLLcLMcLNcLOcLPcECcLQcLQcLRcHhcCAcLScLTcLUcLVcLWcDFcLXcLYcLZcMacMbcCKcCKcCKcCKcCKcHBcoDcEhcLbbGybGybYDclUcNEczVczVcOtcDZcQMcRwcyTdbkcYuclUcuscGvczhbGychCcITcoAbikbikckPcMpcxOcxOcwAcMpcxOcxOcwAcMpcxOcxOckPbikaabaabbikbikbikbikbikcyJcyJbwocLccyJbxXbwobwobwocJNcJNaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9234,8 +9237,8 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaaccMucMucMucMucMucMucMucECcSDcSEbikddcaaccSQaabaabdlqdlpdlraabcTzbikaacddcbikcSEcSDcECcECcMHcECcCKcTAcTBcTAcCKcTCcTDcTCcCKcTEcTFcTEcCKaabcUkbikacGbikcTUcYhcZRcZTcZScZucZUcZWcZVcYicZXcZZcZYdaacAhbGycGvcGvdabdaddacbGydaeazybikaabbikcxHcxHcxHbwobwobwobwobwobwodafcyKcyJdagbxXbxXcyJbxXbxXbxXbxXcYqbxXcPAcqecrZcsacsbcqeaabbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaabaacaacaabaabaabacGacGcECcECcTGcSEbikddfddgbikbikaabdlscTHdltaabbikbikdlodlnbikcSEcTJcECcECcMHcECcCKcTAcTKcTAcCKcTCcTLcTCcCKcTEcTMcTEcCKaabcUkbikacGbikcTUcYhcYhcYhdahcrBcrkdajcrkcrBcZXdakbGycGzdalcFicHrcGvdamcoAcoDcoDcoDdanaabaabbikcxHdaodapcyJbxXdaqdarcNRcyJdasbxXcyJdatbxXbxXdaubxXbwobwobwocxHcxHbwocqectrctscttcqeaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikaabaabbikbikaabaabacGcECcECcSDcSEbikddcaacbikcTNaabdlvdludlwaabaabcSQaacddcbikcSEcSDcECcECcMHcECcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKaabcUkbikaqZbikcTUbikbikbikdavcrBdawdaydaxcrBbGydazbGybGydaAdaBcGqdaDdaCcoAbikbikbikbikbikaabbikcxHdaEdaFdaubxXcQobxXbxXdaucZobxXcyJcyJcyJcyJcyJbxXbwoaabbikbikbikaabcuzcuzcuAcuzcuzaabaabczraabaabcZEaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcECcTncTocSEbikddcaacbikbikaabaabaabaabaabbikbikaacddcbikcSEcTlcTmcECcUscECcECcECcECcUvcTScTScTScTScTScTScTScTScTScTScUwaabaabaabcUebikbikbikdaGcrBcrkdaHcrkcrBcoAdaIcFicFidaJdaLdaKcoAcoAcoAbikbikbikbikbikaabbikcxHdaodaMcyJcNRbxXbxXdaNcyJdaObxXbxXbxXbxXbxXbxXbxXbwoaabbikbikbikaabbikcuzcvEcuzbikaabbikaabbikbikaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikaabcECcTdcSEcTPbikddfddgbikbikbikaabbikbikbikbikbikdlodlnbikcSEcSEcTdcECddhddjddicMHddkcUwaabaabaabaabaabaabaabcUnaabaabaabaabaabaabcUeaabaabaabdaGcrBdaPdaRdaQdaSaabcoAcoAcoDdaTcoDcoAcoAbikaabbikbikbikbikbikaabaabcxHcxHcxHbwobwobwobxXcyJbwodaUbwobwocNRbFeczfbzNczMbwoaabbikbikbikaabbikcuzcwMcuzbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcECcTncTocSEbikddcaacbikbikaabaabaabaabaabbikbikaacddcbikcSEcTlcTmcECcUscECcECcECcECcUvcTScTScTScTScTScTScTScTScTScTScUwaabaabaabcUebikbikbikdaGcrBcrkdaHcrkcrBdrPdrQcFicFidaJdaLdaKcoAcoAcoAbikbikbikbikbikaabbikcxHdaodaMcyJcNRbxXbxXdaNcyJdaObxXbxXbxXbxXbxXbxXbxXbwoaabbikbikbikaabbikcuzcvEcuzbikaabbikaabbikbikaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikaabcECcTdcSEcTPbikddfddgbikbikbikaabbikbikbikbikbikdlodlnbikcSEcSEcTdcECddhddjddicMHddkcUwaabaabaabaabaabaabaabcUnaabaabaabaabaabaabcUeaabaabaabdaGcrBdaPdaRdaQdaSaabdrPcoAcoDdaTcoDcoAcoAbikaabbikbikbikbikbikaabaabcxHcxHcxHbwobwobwobxXcyJbwodaUbwobwocNRbFeczfbzNczMbwoaabbikbikbikaabbikcuzcwMcuzbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcECcTXcTYdddaabddcaaccSQbikbikcSQbikbikbikbikcSQaacddcbikddecUacUbcECddlcECcECcECcECcECcECbikbikaabbikbikbikcUnbikbikcUocUocUocUocUpbikbikaabdaGcUrcrBdaVcrBcrBbikaabbikbikdaWbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbwodaFdaXbwocGxaabbwobwocxHcxHczMbwobikaabbikbikbikaabbikbikcxZbikbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcUfcUgcUhbikddcaacaacdlxaacaacdlxaacaacdlxaacaacddcbikcUicUgcUjcECddmcTRddnddocUtcUzcUxcUucUucUDcUucUucUucULcUucUucUMcUOcUNcUPcUpbikbikaabcUQazycrBdaYcrBdaZaabaabbikbikdctbikbikbikbikbikbikbikbikbikbikbikaabaabbikaahbikbikbwodbbdbabwodbcaabbikaabbikbikaabbikbikaabbikbikbikaabbikbikcznbikbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcNycECcECdlybikdlzcTIcTIdlAcTIcTIdlAcTIcTIdlAcTIcTIdlBbikdlycECcECcECddmcUcddpcUlddqcURcRebikbikaabbikbikbikcUncUocUocUocUTcUScUTcUpbikbikaabaabazycLodbecLoazyaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabbikbikbikcxHdbfcxHcxHaabczrbikaabbikbikaabbikagQagQacGaqZaabaabaabaabcGEaabaabaabaabczragiagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik From 9a4809ab725adc387c183a04bbb9020a2b889251 Mon Sep 17 00:00:00 2001 From: Markolie Date: Mon, 17 Oct 2016 17:20:41 +0200 Subject: [PATCH 24/48] Final fixes --- _maps/map_files/cyberiad/cyberiad.dmm | 87 ++++++++++++++------------- 1 file changed, 45 insertions(+), 42 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index ff3c3c0ec7a..233cb1d7e74 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -20,10 +20,10 @@ "aat" = (/turf/simulated/wall,/area/security/permabrig) "aau" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/orangeseed,/obj/item/seeds/orangeseed,/obj/item/seeds/orangeseed,/turf/simulated/floor/grass,/area/security/permabrig) "aav" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"aaw" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/cornseed,/obj/item/seeds/cornseed,/obj/item/seeds/cornseed,/turf/simulated/floor/grass,/area/security/permabrig) +"aaw" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/cornseed,/obj/item/seeds/cornseed,/obj/item/seeds/cornseed,/obj/item/device/radio/intercom/locked/prison{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/grass,/area/security/permabrig) "aax" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aay" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"aaz" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/riceseed,/obj/item/seeds/riceseed,/obj/item/seeds/riceseed,/turf/simulated/floor/grass,/area/security/permabrig) +"aaz" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/riceseed,/obj/item/seeds/riceseed,/obj/item/seeds/riceseed,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/grass,/area/security/permabrig) "aaA" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/security/permabrig) "aaB" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/permabrig) "aaC" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) @@ -39,7 +39,7 @@ "aaM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaN" = (/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) "aaO" = (/obj/machinery/seed_extractor,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) -"aaP" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; tag = "icon-shower (EAST)"},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) +"aaP" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; tag = "icon-shower (EAST)"},/obj/item/weapon/bikehorn/rubberducky,/obj/item/device/radio/intercom/locked/prison{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) "aaQ" = (/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) "aaR" = (/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/permabrig) "aaS" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/permabrig) @@ -216,7 +216,7 @@ "aeh" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "aei" = (/obj/machinery/space_heater,/obj/machinery/light_switch{pixel_x = -25},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/security/podbay) "aej" = (/obj/spacepod/sec{req_access_txt = "71"},/turf/simulated/floor/engine,/area/security/podbay) -"aek" = (/turf/simulated/floor/plasteel,/area/security/prisonlockers) +"aek" = (/obj/item/device/radio/intercom/locked/prison{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/security/permabrig) "ael" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Prisoner Lockers"; req_access_txt = "63"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prisonlockers) "aem" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos) "aen" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/permabrig) @@ -436,7 +436,7 @@ "ait" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "aiu" = (/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/effect/decal/warning_stripes/red/hollow,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/armoury) "aiv" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Interrogation"; name = "Interrogation Privacy Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/security/interrogation) -"aiw" = (/obj/machinery/hologram/holopad,/obj/machinery/camera{c_tag = "Brig Interrogation"; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/interrogation) +"aiw" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/security/permabrig) "aix" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/main) "aiy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/main) "aiz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall,/area/security/interrogationhallway) @@ -501,7 +501,7 @@ "ajG" = (/turf/simulated/wall,/area/security/warden) "ajH" = (/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/interrogationhallway) "ajI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Equipment Storage"; req_access_txt = "1"},/turf/simulated/floor/plasteel,/area/security/seceqstorage) -"ajJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/interrogation) +"ajJ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) "ajK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/main) "ajL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/interrogationhallway) "ajM" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/security/main) @@ -733,7 +733,7 @@ "aoe" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/lobby) "aof" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/interrogationhallway) "aog" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/security/courtroomdandp) -"aoh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/courtroomdandp) +"aoh" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel,/area/security/prisonlockers) "aoi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/brig) "aoj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/brig) "aok" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/brig) @@ -982,7 +982,7 @@ "asT" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/security/processing) "asU" = (/turf/simulated/wall/r_wall,/area/security/prison/cell_block/B) "asV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/security/evidence) -"asW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/flag/nt,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/courtroomdandp) +"asW" = (/obj/machinery/hologram/holopad,/obj/machinery/camera{c_tag = "Brig Interrogation"; network = list("SS13")},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/interrogation) "asX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/evidence) "asY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/camera{c_tag = "Labor Shuttle Dock"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/prisonershuttle) "asZ" = (/turf/simulated/wall/r_wall,/area/security/prison/cell_block/A) @@ -1245,7 +1245,7 @@ "axW" = (/obj/item/flag/clown,/turf/simulated/floor/wood,/area/clownoffice) "axX" = (/obj/machinery/photocopier,/obj/structure/sign/poster/legit{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/detectives_office) "axY" = (/obj/structure/clownstatue,/turf/simulated/floor/wood,/area/clownoffice) -"axZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/wood,/area/clownoffice) +"axZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/item/device/radio/intercom/department/security{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/interrogation) "aya" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/clownoffice) "ayb" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/bananalamp,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/wood,/area/clownoffice) "ayc" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Clown"},/turf/simulated/floor/wood,/area/clownoffice) @@ -1551,7 +1551,7 @@ "aDQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/turf/simulated/wall,/area/mimeoffice) "aDR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint) "aDS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/magistrateoffice) -"aDT" = (/obj/structure/closet{name = "Evidence Closet"},/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/evidence) +"aDT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/flag/nt,/obj/item/device/radio/intercom/department/security{pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/courtroomdandp) "aDU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/magistrateoffice) "aDV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/structure/stool/bed/chair/comfy/black,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/magistrateoffice) "aDW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/item/weapon/gavelblock,/obj/item/weapon/gavelhammer,/turf/simulated/floor/carpet,/area/magistrateoffice) @@ -1696,7 +1696,7 @@ "aGF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/lawoffice) "aGG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/turf/simulated/wall,/area/lawoffice) "aGH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall,/area/lawoffice) -"aGI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera{c_tag = "Engineering Equipment West"; dir = 4; network = list("SS13")},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/wood,/area/clownoffice) +"aGI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/courtroomdandp) "aGJ" = (/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) "aGK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/crew_quarters/sleep) "aGL" = (/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/crew_quarters/sleep) @@ -1860,13 +1860,13 @@ "aJN" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) "aJO" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) "aJP" = (/obj/machinery/door/airlock/glass_command{name = "Softsuits"; req_access_txt = "18"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aJQ" = (/obj/machinery/camera/motion{c_tag = "EVA Northwest"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva) +"aJQ" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/courtroom) "aJR" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) "aJS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/port) "aJT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) "aJU" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/wood,/area/mimeoffice) "aJV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aJW" = (/obj/machinery/camera{c_tag = "EVA Northeast"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/ai_monitored/storage/eva) +"aJW" = (/obj/structure/closet{name = "Evidence Closet"},/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/item/device/radio/intercom/department/security{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/evidence) "aJX" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_command{name = "Softsuits"; req_access_txt = "18"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) "aJY" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) "aJZ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) @@ -2411,9 +2411,9 @@ "aUs" = (/obj/item/clothing/suit/space/eva/mime,/obj/item/clothing/head/helmet/space/eva/mime,/obj/structure/rack{dir = 8; layer = 2.9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) "aUt" = (/obj/item/clothing/suit/space/eva/clown,/obj/item/clothing/head/helmet/space/eva/clown,/obj/structure/rack{dir = 8; layer = 2.9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) "aUu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aUv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/camera{c_tag = "EVA Soutwest"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/eva) +"aUv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/wood,/area/clownoffice) "aUw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aUx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/camera{c_tag = "EVA Southeast"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/eva) +"aUx" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera{c_tag = "Clown's Office"; dir = 4; network = list("SS13")},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/wood,/area/clownoffice) "aUy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) "aUz" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/eva) "aUA" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{dir = 9; icon_state = "blue"},/area/hallway/primary/central/north) @@ -3356,7 +3356,7 @@ "bmB" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bmC" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bmD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) -"bmE" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 5"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bmE" = (/obj/machinery/camera/motion{c_tag = "EVA North-West"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva) "bmF" = (/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bmG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bmH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Library"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/library) @@ -3569,7 +3569,7 @@ "bqG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bqH" = (/obj/structure/cable,/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bqI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bqJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 7"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bqJ" = (/obj/machinery/camera{c_tag = "EVA North-East"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/ai_monitored/storage/eva) "bqK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bqL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/door/firedoor{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/exit) "bqM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/secondary/exit) @@ -3693,7 +3693,7 @@ "bta" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/west) "btb" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "btc" = (/obj/machinery/light,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"btd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 6"; dir = 1; network = list("SS13")},/obj/item/device/radio/intercom{pixel_y = -28},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"btd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/camera{c_tag = "EVA Sout-West"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/eva) "bte" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east) "btf" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east) "btg" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/hallway/secondary/exit) @@ -4081,7 +4081,7 @@ "bAy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/structure/closet/wardrobe/black,/turf/simulated/floor/plating,/area/maintenance/maintcentral) "bAz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/bridge/meeting_room) "bAA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel,/area/bridge/meeting_room) -"bAB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Accounts uplink terminal"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel,/area/bridge/meeting_room) +"bAB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/camera{c_tag = "EVA South-East"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/eva) "bAC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/bridge/meeting_room) "bAD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/structure/lattice,/turf/space,/area/space) "bAE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/turf/space,/area/space) @@ -7054,7 +7054,7 @@ "cFH" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft) "cFI" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/aft) "cFJ" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/obj/structure/table,/obj/item/weapon/book/manual/engineering_hacking{pixel_x = 3; pixel_y = 3},/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor/plasteel,/area/engine/engineering) -"cFK" = (/obj/machinery/requests_console{department = "Engineering"; departmentType = 3; name = "Engineering Requests Console"; pixel_y = 30},/obj/structure/table,/obj/item/weapon/book/manual/engineering_guide,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_y = 6},/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/machinery/camera{c_tag = "Engineering Northwest"; network = list("SS13")},/turf/simulated/floor/plasteel,/area/engine/engineering) +"cFK" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 4"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "cFL" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/turf/simulated/floor/plasteel,/area/engine/engineering) "cFM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Engineering Equipment West"; dir = 4; network = list("SS13")},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/power/apc{dir = 8; name = "west bump Engineering"; pixel_x = -24; shock_proof = 1},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "cFN" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/engine/hardsuitstorage) @@ -7980,7 +7980,7 @@ "cXx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/aisat{name = "\improper AI Satellite Hallway"}) "cXy" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/porta_turret{dir = 8; installation = /obj/item/weapon/gun/energy/gun; name = "hallway turret"},/turf/simulated/floor/bluegrid,/area/aisat{name = "\improper AI Satellite Hallway"}) "cXz" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/aisat{name = "\improper AI Satellite Hallway"}) -"cXA" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "AI Satellite Exterior West"; dir = 4; network = list("SS13","MiniSat")},/turf/space,/area/aisat) +"cXA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 6"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "cXB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/aisat{name = "\improper AI Satellite Hallway"}) "cXC" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/bluegrid,/area/aisat{name = "\improper AI Satellite Hallway"}) "cXD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/aisat{name = "\improper AI Satellite Hallway"}) @@ -8963,7 +8963,7 @@ "dqs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; on = 1},/obj/machinery/door_control{id = "Prison Lockdown 1"; name = "Cell 1 Lockdown"; pixel_x = -3; pixel_y = 24; range = 5; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig) "dqt" = (/obj/machinery/door_control{id = "Prison Lockdown 2"; name = "Cell 2 Lockdown"; pixel_x = -3; pixel_y = 24; range = 5; req_access_txt = "2"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/permabrig) "dqu" = (/obj/machinery/door_control{id = "Prison Lockdown 3"; name = "Cell 3 Lockdown"; pixel_x = 24; pixel_y = 3; range = 5; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/security/permabrig) -"dqv" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) +"dqv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 5"; dir = 1; network = list("SS13")},/obj/item/device/radio/intercom{pixel_y = -28},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "dqw" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/device/radio/intercom/department/security{pixel_x = -28},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/permabrig) "dqx" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) "dqy" = (/obj/machinery/atmospherics/binary/valve{dir = 4},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/permabrig) @@ -9027,7 +9027,7 @@ "drE" = (/obj/item/device/radio/intercom/custom{pixel_y = 25},/obj/item/device/radio/intercom/private{pixel_y = -28},/obj/item/device/radio/intercom{pixel_x = -28},/obj/effect/landmark{name = "tripai"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "drF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/ai) "drG" = (/obj/item/device/radio/intercom/custom{pixel_y = 25},/obj/item/device/radio/intercom/private{pixel_y = -28},/obj/item/device/radio/intercom{pixel_x = 28},/obj/effect/landmark{name = "tripai"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"drH" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "AI Satellite Exterior South West"; dir = 4; network = list("SS13","MiniSat")},/turf/space,/area/turret_protected/ai) +"drH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Accounts Uplink Terminal"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel,/area/bridge/meeting_room) "drI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/ai) "drJ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 5e+006},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "drK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall,/area/turret_protected/ai) @@ -9037,6 +9037,9 @@ "drO" = (/obj/machinery/camera{c_tag = "AI Satellite Exterior South"; dir = 2; network = list("SS13","MiniSat")},/turf/space,/area/turret_protected/ai) "drP" = (/turf/simulated/wall/r_wall/coated,/area/maintenance/asmaint) "drQ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall/coated,/area/maintenance/asmaint) +"drR" = (/obj/machinery/requests_console{department = "Engineering"; departmentType = 3; name = "Engineering Requests Console"; pixel_y = 30},/obj/structure/table,/obj/item/weapon/book/manual/engineering_guide,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_y = 6},/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/machinery/camera{c_tag = "Engineering North-West"; network = list("SS13")},/turf/simulated/floor/plasteel,/area/engine/engineering) +"drS" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "AI Satellite Exterior East"; dir = 4; network = list("SS13","MiniSat")},/turf/space,/area/aisat) +"drT" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "AI Satellite Exterior South East"; dir = 4; network = list("SS13","MiniSat")},/turf/space,/area/turret_protected/ai) "YDt" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/tank/emergency_oxygen/nitrogen{pixel_x = 6; pixel_y = 5},/obj/item/weapon/tank/emergency_oxygen/nitrogen{pixel_x = 4; pixel_y = 3},/obj/item/weapon/tank/emergency_oxygen/plasma{pixel_x = -4; pixel_y = 5},/obj/item/weapon/tank/emergency_oxygen/plasma{pixel_x = -6; pixel_y = 3},/turf/simulated/floor/plasteel{dir = 4; icon_state = "blue"},/area/medical/biostorage) (1,1,1) = {" @@ -9086,7 +9089,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldeqcaVdgkbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaabaabaabaalaaLaaNaaMaayaaOaalbikbikaabaalaaPaaRaaQaalaalaalbikbikaabaabaabaacbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhNcaVdhObFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikaalaaSaaTaaMaaVaaUaalbikaabaabaalaaWabhaaXabtaaYaalbikaabaabaacaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdhPaafaafaafaafbFldhNcaVdhOdhQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaalaaBaalaaZaatabaabbaataalabcaanaaoaalabdabeabxaataataalaalaalaalaalaalaalaalaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVcaVdhSbFldhNcaVdhObFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaabaabaalabgabiaaSabiaaMabfabjablaaxaavaayaboabmaaDabpabrabqabsaatabwabwabzabyabyaalaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVcaVdhSbFldhNcaVdhObFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaabaabaalabgabiaaSabiaaMabfabjablaaxaavaayaboabmaaDabpabrabqabsaataekabwabzabyaiwaalaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVayLdhTbFldhNcaVdhObFlaafdhWdhVdhXbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalabBabDabCaaDaaMabEaayaayabFabGaavabIabHabJaaGaavabMabNaatabOabOabQabPabPaaBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhYcaVcaVdhZbFldiacaVcczdicdibdibdibbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikaalabRaaHabSaaHabTabVabUabYabXacaabZaccacbacfaceabZacjacjacFahdahcbnHahedhqbnIbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldhRcaVcaVcaVdidcaVcaVdiedigdifdifdihbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdiibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalaavaiWdiDdkJdiIdpodkKdkJdkJdpqakjdpsdprdkJdptdpudkJdkJdpvdpxbGedpybGeabPdpzbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9095,7 +9098,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldipdipdiqdisdirbFlditcaVcaVbFldiudiwdivdiydixbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalabuaatabvdqbaatdqcaaqaatdqcaaqabxdqcaaqaalaabaEQaalaalaalaalaalaalaalaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFlcaVcaVcaVayLcaVdizcaVcaVcaVdiAcaVayLcaVayLdiBbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaalaalaalaalabuaatdqddqeaatdqfdqfaatdqgdqgabxdqhdqhaalaabaEQabLabLabLdqiaEQaEQaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikabAcQScJadgjbikbikbikabAbikbikbikdgjbikbikbikabAdiCdgldgjbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFlajbcaVcaVcaVcaVdiFcaVcaVcaVdiGcaVcaVcaVcaVdiHbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaabaaldqkdqjdqmdqldqnabkdqpdqodqqdqqdqsdqrdqrdqtdqrdquaalaabaabaabaEQabLabLaEQaabbikbikaabbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdgodgndgmbikbikabAdgmdgpdgrdgqdgmdgjbikbikdgmdgsdgtdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFlajecaVcaVdiKdiJbFldiLdiMdiLbFlaWldiOcaVcaVcaVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikaaldqwdqvdqydqxdqAdqzdqCacpdqAdqDdqAdqEdqFdqAdqAdqGaalbikaabaabaabaEQabLaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdgvdgudgmbikabAdgwdgydgxdgAdgzdgydgwdgjbikdgmdgBdgCdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFlajecaVcaVdiKdiJbFldiLdiMdiLbFlaWldiOcaVcaVcaVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikaaldqwajJdqydqxdqAdqzdqCacpdqAdqDdqAdqEdqFdqAdqAdqGaalbikaabaabaabaEQabLaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdgvdgudgmbikabAdgwdgydgxdgAdgzdgydgwdgjbikdgmdgBdgCdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFlcaVcaVdiPbFlaafbFlcaVdiRdiQbFlaafbFlcaVcaVcaVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaalaalaalaalaalaaldqHdqIaalaalaalaalaalaalaalaalaalaalbikbikbikaabaEQabLabLaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdgEdgDdgFbikdgHdgGdgydgydgIdgydgydgGdgJbikdgLdgKdgMdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldiSdiUdiTbFlbikbFldiVdiVdiVbFlbikbFldiWdiYdiXbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaaldqJdqLdqKdqNdqMahqaalaabaabaabbikbikbikbikbikaabaabaEQabLaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgwdgNdgwbikbikdgOdgGdgydgPdgQdgydgydgGdgRbikbikdgwdgNdgwbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbFldiVdiVdiVbFlbikcVGdiZdjbdjadelbikbFldiVdiVdiVbFlbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacgacgacgacgacgacgachacidqPackaclcBwaalacmbikbikbikbikbikbikaabaabaabdqRabLabLbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgwdgNdgwdgwdgwdgwdgwdgwdgwdgSdgwdgwdgwdgwdgwdgwdgwdgNdgwbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9108,14 +9111,14 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabbikaabbikbikbikaabaaladRacdacEaetadVadYadFaeaadZaevacEbikbikbikbikbikbikactaeIadLaewadNacXaexactaeyadtadtadtadtaezadvbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdhzdgydgydgydhydgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAaeAaeAaeAaeAaeAaeAaeAaeAaabbikbikbikaabaabaabaabaabaabaaladBacdacEacEaeJaeLaeKafhaeMacEacEbikbikbikbikbikbikactaeNaeOaePacXaeQaeRactaeSaeTaeUaeUaeVadaabLabWbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdhBdhAdgSdhBdhAdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAaeWaeXaeYamdaeZaeXafaaeAaabbikbikaabadwadwadwadwadwadwaalaffafgadSacEafiadXafjaeuaflacEafmafmaepaeDahZafmafmactafnafoafpafqafractactafsaftafuafuafwadabikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxafxafxacGacGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdhDdhCdgydhEdhFdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafyafzafAamdafyafzafAaeAbikbikbikaabadwadxaekadUaghaelaenafKafLaeoacEacEafPafOafQacEacEafmafDafcafRagaafIafEafWafXafYaegagaagaagbafVagdagcagfaggagnadabikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikafxbikaabbikagibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdhHdhGdgydhIdhJdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafyafzafAamdafyafzafAaeAbikbikbikaabadwadxaohadUaghaelaenafKafLaeoacEacEafPafOafQacEacEafmafDafcafRagaafIafEafWafXafYaegagaagaagbafVagdagcagfaggagnadabikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikafxbikaabbikagibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgmdhHdhGdgydhIdhJdgmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAagjafAagkamdaglafAagmaeAaabbikbikbikadwadyaeraeqaeBagqagragsagtaeCagvagwagzagyaeFaehafeafMahlafSageafSafSafTahpafbafGafCafSafSaikagoagLagxagMagNagOagPbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabagRaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgLdgwdhKdhMdhLdgwdgFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafAafyafAamdafAafyafAaeAbikbikaabaabadwadzaeraeGaeHahaahbdqSdqUdqTagvaigahiahhahmahjafJagvagpagYahgaguaguagAagDagCafUagEagHagGahUafZahvahwahxahyahzadaahAahAahAahAbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQafxbikahBbikafxagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdgLdgwdgwdgwdgFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafyafAafyamdafyafAafyaeAbikaabbikbikadwadxafBagBagFahJahfagWahnagIagKagJahRahQairahSaiXagVagZahFahGahrahkahUahoahsahuahtahKahKahMahLahAadaadaadaadaadaaieaieaieahAbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabaabaabahBaabaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGacGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafyafyafAamdafyafyafAaeAaabaabbikbikadwadwaiOafFailailadTaatahTahNagvaiqaisahhamuaitdqOahOahVahPahXahWahYaifaibaiaamyamzamzaicaiCaidahAaieaieaieaieaieaieaieaieahAbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikbikbikaiIbikbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafAafyaiJamdafAafyaiKaeAamcaabaabaabaabadwagTaiOakcaiwaeEaatakoaiSagvaimaiUaiVdqQaiuaiYaihaijaiiajgajfahYaioaiyaixaiEaiDaiHaiGaiCaiLahAaieaieaieaieaieaieaieaieahAagQagQajjaabagQagQagQagQagQagQagQagQagQagQagQagQagQagQaabaabajkajlajmaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaeAafAafyaiJamdafAafyaiKaeAamcaabaabaabaabadwagTaiOakcasWaeEaatakoaiSagvaimaiUaiVdqQaiuaiYaihaijaiiajgajfahYaioaiyaixaiEaiDaiHaiGaiCaiLahAaieaieaieaieaieaieaieaieahAagQagQajjaabagQagQagQagQagQagQagQagQagQagQagQagQagQagQaabaabajkajlajmaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaVydmddmkdmjdmldmddmddmmdmddmddmnbikbikbikbikbikbikbikbikbikafxaabajnaabafxbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaeAajoajpajqajrajoajpajqajsajtajtajtajtajtajtajuajuafdaiAagSafHcDAaofajGajGajNahIajEajFajGaiRaiPaiMaiNaipaiTajaajwaixaiEajhajiaiGajMajvajOaieaieaieaieaieaieaieaieahAaabaabaabaabaabaabbikaabbikaabaabaabaabaabaabaabaabbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmpdmodmrdmqdmtdmsdmsdmsdmvdmudmwbikbikbikacGacGacGafxafxaabaabbikajQbikaabaabafxafxacGacGacGbikbikbikbikbikbikbikbikbikbikbikbikaeAajRajSajTafyajUajVajWaknajubSoclqajcajAajyajDajuahDahCajJajxajLahHajBalnakkaklakmaiFajFaiRakiakaaiRajIaiRahUalhajKakbajYakpakdakzaiCakAaieaieaieaieaieaieaieaieahAaabakBakCakCakCakDakCakCakCakCakDakCakCakCakCakEaabbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmpdmodmrdmqdmtdmsdmsdmsdmvdmudmwbikbikbikacGacGacGafxafxaabaabbikajQbikaabaabafxafxacGacGacGbikbikbikbikbikbikbikbikbikbikbikbikaeAajRajSajTafyajUajVajWaknajubSoclqajcajAajyajDajuahDahCaxZajxajLahHajBalnakkaklakmaiFajFaiRakiakaaiRajIaiRahUalhajKakbajYakpakdakzaiCakAaieaieaieaieaieaieaieaieahAaabakBakCakCakCakDakCakCakCakCakDakCakCakCakCakEaabbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmxdmodmzdmydmsdmAdmAdmAdmAdmAdmBbikbikbikacGbikbikaabbikaabbikbikajQbikbikaabbikaabbikbikacGbikbikbikbikbikbikbikbikbikbikbikbikaeAakFafyakGakHakIakJakKakLajucjgakNakOakOakPajZajuaivainaiBaizakrahHakWakXakYakZalaalbajdalvakwakuakqaksaktakTalBakSalcakUalealdaiCalfajOaieaieaieaieaieaieaieaieahAaabaloaabaabaabaloaabbikbikaabaloaabaabbikbikaloaabbikaabaabajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmCdmodmEdmDdmAdmAdmAdmAdmGdmFdmwbikbikbikacGaabalpalpalpalpalpbikalqbikalpalpalpalpalpaabacGbikbikbikbikbikbikbikbikbikbikbikbikaeAalralsakGafyaltakJalualwajuaoIalxalyalzakQakxajuampaiQakRaiZalEajzajBalFalGaklalHalIajFaliahPaljaljallalCalgalJajXakfakealMakeakhakgahAahAahAahAahAahAahAahAahAahAaabaloaabbikajkajlajmbikbikajkajlajmbikbikajkajlajmaabaabbikajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaXhdmddmddmddmldmddmddmmdmddmddmIbikbikbikacGbikalSalTalTalTalTalUalValWalXalXalXalXalYbikacGbikbikbikamaalZaowanxambbikbikbikamcaeAamdamdamdamdamealKamgamdajuamfamiamjamkamhamlajualNajHammalQamnakvajGamsamtaXNamvaYjajGamXamDamqanlamYdoHaocaoNdoIasvaiCateauydoNalkahAamKamKamKamKamKbikbikbikbikaabaloaabbikajkajPajmbikbikajkajPajmbikbikajkajPajmbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9123,27 +9126,27 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikbikbikaabbikbikbikanvbikbikbikaabbikbikbikaabbikbikbikaoranwanzanyanBanAanDanCanAanGanGanHanIanJanKanLanManNanOanPanQanRanSanTaoiaokalRaqjaoMaojaPcauwaswamoamxamwamBamAamEamCamGamFaokaojaokaolaomamHamJamIanfaEEaovapmaotaovaEHaouaoyaoxbikbikbikbikbikaloaabbikajkajPajmbikbikajkajPajmbikbikajkajPajmbikbikbikajkajPajmbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGaabalpalpalpalpalpbikamMbikalpalpalpalpalpaabacGbikbikbikamOanEaoAanFamOamRamSamSamSauQasYamrankauSaoLaoLanoanmaoPaoQaoRaoSaoTaoUaoVaoWaoXaoYaoWapIapaaoTavRapcawqanpaoTapdanUaoTapdapbaqEapearZaoVapfapgaphapianVapkaplapmapnaovaozansansapobikaacapqaacbikaloaabbikajkajPajmbikbikajkajPajmbikbikajkajPajmbikaabaabajkajPajmaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikapsdmMdmLdmOdmNbikaAnaApaAocsHaBuajjbikalSalTalTalTalTalUalValWalXalXalXalXalYbikacGbikbikbikamOaoCaoCaoDamObikbikbikapwanganianhanWawDanianiapBapBapBapBapCapDapEapEapEapFapGapHapFapEapEapEaoeaodaodanXanZanYaopaooahEasaaobaoaasaahEapRapSapTapUapVapWapXapmapnapYapYamKapZapZapZamKaqaamKaabaloaabbikajkajPajmbikbikajkajPajmbikbikajkajPajmaabaabbikaabaiIaabbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmQdmQdmQdmPbikcsIcsJcsJcsJcsIacGaqbamLamLamLamLamLbikamMbikamLamLamLamLamLaabacGbikbikbikaoraoEaoCaoFamOamRamSamSamSaxyaniasWaohaogaoqaonapBaqnaqoaqpapjaqraqsaqtaquaqvapxapvaqyaqzaqAaqsapzapyapyaosaoHaoBapMapLahEauHaoKaoJaqiahEaqMaqNaqOaqhaqQaslapXapmaqSaqTaqUaqVaqWaqWaqXamKaqYamKaabaloaabbikajkajPajmbikbikajkajPajmbikbikajkajPajmbikbikbikaabaloaabbikbikaqZbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmQdmQdmQdmPbikcsIcsJcsJcsJcsIacGaqbamLamLamLamLamLbikamMbikamLamLamLamLamLaabacGbikbikbikaoraoEaoCaoFamOamRamSamSamSaxyaniaDTaGIaogaoqaonapBaqnaqoaqpapjaqraqsaqtaquaqvapxapvaqyaqzaqAaqsapzapyapyaosaoHaoBapMapLahEauHaoKaoJaqiahEaqMaqNaqOaqhaqQaslapXapmaqSaqTaqUaqVaqWaqWaqXamKaqYamKaabaloaabbikajkajPajmbikbikajkajPajmbikbikajkajPajmbikbikbikaabaloaabbikbikaqZbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmRdmRdmRdmPbikcsIctRctOctRcsIacGbikbikbikaabbikbikbikanvbikbikbikaabbikbikbikacGbikbikbikamOaoGaoCaoCaptanAapuanCanAaxtaniayYapAaoOapJatYapBarkarlarmarnaqCarparqarrarsartaruarvarrarwarxaqDapyapyaosapNapKaqHaqGapPapOaqgapQawFahEaszasAarMarNarMarOapXapmaovaovaovaovarPaovarQarRarSamKakBarTakEbikbikaiIaabaabaabaabaiIaabaabaabaabaiIaabaabaabaabarUarVakEaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmTdmSdmUdmPbikcsIcxDcxCcxEcsIacGaabalpalpalpalpalpbikamMbikalpalpalpalpalpaabacGbikbikbikamOaqcaqcaqcamOamRamSazdazdazfaqlaqkaqqaqmaqxaqwapBascasdasearzasgashasiasjaskarAasmasnasoaspasharBapyapyaosaqBaooarFarEaqFaykaqJaqIaqKahEatnatoatparNarMasBapXasCasDasEasFasEasGasHamKamKapnamKaloasIasJakCakCarTakCakCakCakCarTakCakCakCakCarTakCakCakCasKasLasIaloaabbikagQaabbikbikbikbikbikbikbikbikbikbikaabbikaabbikasMasMasNasNasNasNasNasNasMasMaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmVdmSdmUdmPbikcsIcyUctRctRcsIacGbikalSalTalTalTalTalUalValWalXalXalXalXalYbikacGbikbikbikaqeaqdaqdaqdaqfbikbikaqLaqPaqPaqPaqRaqRaqRaqRarhapBapBatRapBavadoYapEapEatSapEasbawLapEatSapEasZaxIasfapyariaroarjaAEasuahEaryarDarCarHarGauiaueaukatqarMatrapXatsattatuatvatwatxatyatzatAatBamKatCarTatDaabaabbikaabbikbikbikbikbikbikbikbikaabaabaabaabaabatEatFatDaabaabaabaabaabbikbikbikbikbikbikbikbikbikaabbikaabasMasMatGatHatIatJatKatLatMatIasMasMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmVdmSdmUdmPbikcsIcyUctRctRcsIacGbikalSalTalTalTalTalUalValWalXalXalXalXalYbikacGbikbikbikaqeaqdaqdaqdaqfbikbikaqLaqPaJQaqPaqRaqRaqRaqRarhapBapBatRapBavadoYapEapEatSapEasbawLapEatSapEasZaxIasfapyariaroarjaAEasuahEaryarDarCarHarGauiaueaukatqarMatrapXatsattatuatvatwatxatyatzatAatBamKatCarTatDaabaabbikaabbikbikbikbikbikbikbikbikaabaabaabaabaabatEatFatDaabaabaabaabaabbikbikbikbikbikbikbikbikbikaabbikaabasMasMatGatHatIatJatKatLatMatIasMasMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmVdmSdmUdmPbikcsIcKActRcLqcsIaabatNamLamLamLamLamLbikamMbikamLamLamLamLamLaabacGbikbikbikbikbikbikbikbikbikbikarIaqPaqPaqParJaqRarKarXarLapBatPatUatTatbatVaqsatQauJauEatdatcavEavBatWaqsatfaATapyapyapyathaSWatiahEarYaryasqasrahEatXatOarMarNarMaulapXatsarPattattattaumaovaunauoaupamKbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikaabaabaabaabauqaabaabbikbikaabaabaabbikbikbikbikbikbikbikbikasMasMasMasMauratJausatJausautatJatJatJauuasMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmSdmSdmSdmWbikcsIcKActRcLqcsIacGbikbikaabbikaabbikbikauvbikbikaabbikaabbikbikacGbikbikbikbikbikbikaahbikbikbikarIassaqPaqPastaqRaqRasxaxjapBarkavJauzaucauBaudauDdlLauFauGdpVauIdlMauKaujaugauNauNauNauNauNcwXauhahEasyasqaryasTasSasXasVasSauMauXauPapXatsavbavcavcavcavdaveavfavgavhamKbikbikbikbikbikaahbikbikbikbikbikbikbikaabaabbikbikbikaabaabaabaviaabaabbikbikaabbikaabaabbikbikbikbikbikbikbikasMavjavkavlavmavnavoavpatJatJavqavratJavsasMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmXdmSdmSdmYbikcsIcOOctRctRcTVacGacGacGaabaabaabaabavtavuavtaabaabaabaabacGacGacGbikbikbikbikbikbikbikbikbikbikaqLatjataatlatkcqIatmatZayVapBdlPdlQavyauZasgashdlRdlSashavvdrfashdlTdlUashavxavwavAavzapyavHapyavCahEauaauxaubasqdoTauCauAaSqavMavOavOavQavPavTavUavUavUavVavWavXavYavYavYbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikaabaabavZawaavZaabaabbikaabbikbikaabaabbikbikbikbikbikbikasMawbawcawdaweawfawgatJatJatJawhawiatJawjasMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmPdmZdmSdnadmPbikcsIdbdctRctRcsIaabbikaabbikbikaabbikavtawkawlbikbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikauOauOazIazIazIavSdoJdoGdoLauRasUasUasUawoawvawuawrawrawsawrawyawwawrawtasZasZaUcawzawAawBawCawBawCawAahEahEahEahEahEasSauUauTauVaxbaxeaxdawEaxfavUawGawHawIavVawJawKaAaawMavWbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikaabbikavZawNavZbikaabbikaabbikbikbikaabaabbikbikbikbikbikasMawOawPavlawQawRawSawTatJawUawVawWawXasMawYaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdnbdnddncdnddnebikdbOdnYctRdoKdbOaabbikaabbikbikaabavtavtawZaxaavtbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikauOauWavDauYavGavFavIaxvdoQaxxdoZaxhaxhaxzaxlaxlaxlaxlaxlaxmaxnaxoaxlaxlaxlaxlaxpdoUaxlaxlaxqdoVaxqaxraxraxAaxraxBaxuadQavLavKavNaxXaxCaxDaxEapmavUaxGaxHaAfavVaxKaxLaxJaAZavWbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikaabavZavZaxMavZavZaabbikaabbikbikbikbikaabaabbikbikbikbikasMaxNaxOavlasMavlavlaxPaxQasMasMasMasMasMasMaabaabbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikdnbdnfdnebikbikdpRdbOdridbOdrjaabbikaabbikbikaabaxRaxSaxTaxUaxRaxVaxVbikbikaabbikbikbikbikbikbikbikbikbikbikdoFdoWaxqawnayjawpayjaygayiayhayoayjayjaypayjayjayjayjayjayqayjayjayjayjayjayjayPayuayjayjayjayQayjayRaxqaylaxqaymaynadQdrhaDTadQayraysaytaxEayUavUayvaywayxayyayzayAayBawMavWbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikaabayCayDayEayFayCaabbikaabbikbikaabbikbikaabaabbikbikayGasMavlasMavlayHayIayHayJayHayHayHayKayGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikdnbdnfdnebikbikdpRdbOdridbOdrjaabbikaabbikbikaabaxRaxSaxTaxUaxRaxVaxVbikbikaabbikbikbikbikbikbikbikbikbikbikdoFdoWaxqawnayjawpayjaygayiayhayoayjayjaypayjayjayjayjayjayqayjayjayjayjayjayjayPayuayjayjayjayQayjayRaxqaylaxqaymaynadQdrhaJWadQayraysaytaxEayUavUayvaywayxayyayzayAayBawMavWbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikaabayCayDayEayFayCaabbikaabbikbikaabbikbikaabaabbikbikayGasMavlasMavlayHayIayHayJayHayHayHayKayGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikaxVaxVaxVaxVaxVaxVaxVaxVaabaabaxRazsayMayNaxRayOaxVbikbikaabbikbikbikbikbikbikbikbikbikbikdoFdplaxgaxcaxkaxiaxsazgdpabOIayXayXayZdlNazbazcayXayXayXdpbayXayXayXayXayXayXazedpcazgazgazgazhaziazjaziazkazlazmaznadQadQadQadQazoazoazoaxEapmavUazpaxHazqavVcscazraxJcvYavWbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikbikaabayCaFCaztazuayCaabbikaabbikbikaabbikbikayGazvayGazvayGayKayHayHayHayHayHayHayHayHayHazwazxayGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikazyazzazybikbikbikaxVazHdrkazHazAazBazCaxVbikbikaxRazDazEazFazGazHaxVbikbikaabbikbikbikbikbikbikbikbikbikbikauOauOauOdpdawmdlVayaayaazLazJazKazKaVMazMazNazOazPazPazOazQazOazRazRazRazRazRazRazSazRazRazTazUazVazWazIazXazIazYazIazIaqVazZaovaovaovaovaFgapmavUaAbaxHaAcavVaAdayAayBawMavWbikbikbikbikbikbikbikbikaabaabbikbikbikbikazyaAeazybikaabayCaFsaAgaAhayCaAiaAiaAiaAiaAiazvazvazvayGaAjayHazwazxayJayHayJayJayJayGaAkayGayGayGayGayGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikaAlaAmaAlbikbikaabaxVdrldrmazHazHaAqazHaxVaAlaAlaxRaxRaAraAsazGazHaxVaxVaAlaAlaAlaxVaxVbikaabbikbikbikbikbikbikbikbikdpdaxFaxwaxYaxWaxZazJaAtaAuaAvazMaAwazOaAxaAyaAzaAAaABaACaADbfTaAFaAGaAHaAIaAJaAKaALaxqaxraAMaANaAOaAPaAQaAPaAPaAPaARaAPaAPaAPaAPaASdoMaAUaAVaAWaAXaAYcNsaBaaUadcuavWaabaBbaBcaBcaBcaBcaBcaBdaabaabbikbikbikbikazvaBeazvbikaAiayCayCaBfaBgayCaBhayHayHayHayJaBiayHaBjayGayHayHayHaBkayJayHayGaBlaBmayGayHaBnayGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikaAlaAmaAlbikbikaabaxVdrldrmazHazHaAqazHaxVaAlaAlaxRaxRaAraAsazGazHaxVaxVaAlaAlaAlaxVaxVbikaabbikbikbikbikbikbikbikbikdpdaxFaxwaxYaxWaUvazJaAtaAuaAvazMaAwazOaAxaAyaAzaAAaABaACaADbfTaAFaAGaAHaAIaAJaAKaALaxqaxraAMaANaAOaAPaAQaAPaAPaAPaARaAPaAPaAPaAPaASdoMaAUaAVaAWaAXaAYcNsaBaaUadcuavWaabaBbaBcaBcaBcaBcaBcaBdaabaabbikbikbikbikazvaBeazvbikaAiayCayCaBfaBgayCaBhayHayHayHayJaBiayHaBjayGayHayHayHaBkayJayHayGaBlaBmayGayHaBnayGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikappaBpaBobikaBqaBsaBraabaabaAlazHaAlbikbikaabaxVdrnaBvaBwaBxaByaBzaxVaBAazHaBBaBCaBDaBEaBEaBEaBEaBEaBEaBEaBEaBFaxVbikaBGbikbikbikbikbikbikbikbikdpdaycaybayfayeaySdoRaBIaBJaBKazMaAwazOaBLafvaBNaAAaABaBOaBPaBPaBPaBPaBPaAIbjlaAKaxlaxqaxrazIaBQaBRaBSaBTaBSaBSaBUaBVaBWaBWaBWaBWaBWaBWaBXaBYaBZaCaaCbaCcaCdaCeavWavWaCfaCgaChaChaChaChaChaCgaCfaabbikbikbikbikazvaCiaCjbikaAiaCkaClaCmaCnayHayHayHayJayHayJaCoayHayHayGayHaCpaCqaCoaAkayHayGaCraCsayGayHaCtayGbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaCuaBtaCvaBtaCuaCwaCxaCwaCuaabaAlaCzaCAbikbikaxVaxVaxVaxVaxVaCBaCCaCDaCEaCFaCGaCGaCHaCIaCIaCJaCKaxVazHaxVaxVaxVaCLaxVbikaabbikbikbikbikbikbikaabaabdpdaGIayTdpeayWazaaCMaCNaCOaBKazMaAwazOaCPaCQaCRaAAaCSaCTaBPaCUaBPaCVaCVaAIaBPaAKaxlaxqaCWazIaCXaBRaCYaCZaDaaDbaDcaDdaDeaDfaDgaDhaDiaDjaDkaDlaDmaDnaDoaDpaDqaDraDsaDtaCfaCgaChaChaChaChaChaCgaCfaabaabaabaabazvazvaDuaDvazvaAiaDwayHaDxayHayKayHayGayGaDyayGayGaDzayJayJaCoaDAaDBayHayGayHaDCaDCaDCaDCaDCaDCaDCaDCaDCaDDaDDaDDaDDaacaDDaDDaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaCuaBtaCvaBtaCuaCwaCxaCwaCuaabaAlaCzaCAbikbikaxVaxVaxVaxVaxVaCBaCCaCDaCEaCFaCGaCGaCHaCIaCIaCJaCKaxVazHaxVaxVaxVaCLaxVbikaabbikbikbikbikbikbikaabaabdpdaUxayTdpeayWazaaCMaCNaCOaBKazMaAwazOaCPaCQaCRaAAaCSaCTaBPaCUaBPaCVaCVaAIaBPaAKaxlaxqaCWazIaCXaBRaCYaCZaDaaDbaDcaDdaDeaDfaDgaDhaDiaDjaDkaDlaDmaDnaDoaDpaDqaDraDsaDtaCfaCgaChaChaChaChaChaCgaCfaabaabaabaabazvazvaDuaDvazvaAiaDwayHaDxayHayKayHayGayGaDyayGayGaDzayJayJaCoaDAaDBayHayGayHaDCaDCaDCaDCaDCaDCaDCaDCaDCaDDaDDaDDaDDaacaDDaDDaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaDEaBtaCyaBtaDEaCwaDFaCwaDEaxVaAlaDHaDIaAlaAlaxVazHazHazHazHazHazHazHaCBaCLaxVaxVaxVaxVaxVaDJaxVaxVazHaDKaxVaDLaCLaxVaxVaxVbikbikbikbikbikaDMaDMaDMaDMaDMaDMaDMaDMawmaCMaDNaDOaDPaDQaDRaDSaHhaDUaDVaDWaABaDXaBPaDYaDZaEaaEbaEcaEdaAKaxlaxqaxrazIatsaEeaEfaCZaDaaDbaEgaEhaEhaEhaEhaEhaEhaEhaEhaEhaEhaEiaEjaEkaElaEmaEnaEoaEpaCgaChaChaChaChaChaCgaCfaCfaCfbikbikazvayHaEqaEraBhayJaDAaCoaDxayHaEtayIaEuaAkayHayHayHayHaEvayHayHaDAaEwayHaDzayHaDCaExaEyaEzaDCaEAaEBaECaDCaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaDEaDGcUCaEDaDEaEFddzaEGaEJaEKazHaELaEMaENaDKaEOazHaxVaxVaxVaxVaxVaxVaxVaCLaxVaEPaEQaERaxVaESaETaEUazHaEOaxVaENaEVaBEaBFaEWbikbikbikbikbikaEXaEYaEZaFaaFbaFcaFdaDMdoXaCMaFfaFeaJUaCMaFhazOaFiaFjaFkaFlaABaFnaBPaFoaFpaFqaFraKcaFtaFuaFvaydaFwaFxaFyaFzaFAaCZaDaaDbaFBaEhaHTaHTaHTaEhaEhaFDaFEaFEaFFaEiaFGaFHaFIaFIaFJaFKaFLaFMaChaChaChaChaChaFNaFOaFPaFQbikbikazvayHayHaFRayHayJaFSayHaFTaFUaFUaFUaFUaFVaFUaFWayHayHayHayHayHayHayHayHayJayIaDCaFXaFYaFYaDCaFZaGaaGbaDCbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaDEaGcaGdaGeaDEaGcaGdaGeaEJaBzazHaGfazHazHazHazHazHaxVaGgaGhaGiaGjaGkaxVaCLaxVaEQaGlaEPaGmaGnaGoaxVaGpaxVaxVaxVaxVaGpaCLaEWbikazyazyazyazyaGqaEYaGraGsaGtaGuaGvaGwaDMaCMaBHaGxaGxaGxaGyaGzaGAaGzaGzaGzaGBaGCaGDaGEaGFaGFaGFaGFaGGaGHaKZaxqaGJazIatsaGKaGLaCZaDaaDbaEgaHTaGMaGMaGNaHTaEhaGOaGPaGPaGQaGRaFGaGSaGTaGUaGVaEhaGWaFQaChaChaChaChaChaFQaGXaGYaFQaabaabayGayHayHayJayJayJazxazxayGayGayGayJayJayJayGaHaaHbayGayJayJayGayJayJayGayGaHcaHdaHeaHfaHgaOPaHiaFXaHjaDCbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbjNaInaCuaDEaEIaHlaCuaDEaEIaHlaCuaxVaCBaxVaxVaxVaxVaxVazHaxVazHaHnaHoazHazHaxVaCLaxVaHpaabaHpaxVaBvaGoaxVaHqaHraxVaENaBzaxVaAwaDMaDMaHsaHsaHsaHsaHsaHsaHsaHsaHsaGvaGvaGwaHtaHuaHvaHwaHxaHyaHzaHAaHBaHBaHBaHBaHCaHDaHEaHFaHGaHBaHBaHHaHHaHIaHJaHKaHLaHMaHNaGKaHOaHPaHPaDbaEgaHTaGMaHRaHSaHTaEhaGOaGPaGPaGQaKhaFGaGSaGUaGUaGVaEhaGWaFQaChaChaChaChaChaFQaHUaGYaFQbikbikayGaHVayHayHaHWayJaHXazwaHYaHZayKayGaFSayKayGaIaayHayGaIbayHayGaIcaIdaIeaFUaIfaFUaIgaIhaIiaIjaIkaIlaImaDCaDDaDDaacaacaDDaDDaDDaDDaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdmJdmKaGddmKaIoaIoaIoaIqaIoaIoaIoaIsaItaIuaIuaIuaIuaIvaxVazHaxVaIwaIxaIyazHaIzaGpaCLaxVaxVaxVaxVaxVaxVaGpaxVazHaIyaCBazHazHaGvaIAaIBaICaIDaIDaIDaIDaIEaIDaIDaIFaIGaICaIHaIIaIIaIIaIIaIIaIIaIIaIJaIKaIKaIKaIKaILaIMaIKaINaIKaIOaILaIKaIKaIKaIKaIPaIQaIRaISaITaFzaIUaIVaHPaIWaEgaHTaIXaIYbvsaHTaEhaIZaJaaJaaJbaEiaFGaJcaJdaJdaJeaEhaJfaJgaChaChaChaChaChaJhaJiaJjaFQbikbikayGayHayHayHayHayHayHaIeaFUaFUaFUaFUaFUaFUaFUaCmayHayHayHayHaDzayHayHaDxayHaJkaJlaJmaJnaJoaFYaFYaFYaJpaDCaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaInaInaKzaJqaJraJsaJtaJuaJvaJwaJxaJvaJyaJzaJvaJvaJAaxVazHaxVaJBazHazHaJCaJDaxVaEVaBFazHazHazHazHazHazHaGpaJEazHaxVaEKaEKaDMaJFaDMaJGaJHaJIaJIaJIaJJaJIaJIaJIaJKaJGaJLaJMaJMaJMaJMaJMaJMaJMaGvaIKaJNaJOaJPaJQaJRawxaJTaPAaJVaJWaJXaJOaJYaIKaJZaxqaKaazIaKbaGKaSyaKdaKdaKeaKfaKgaSsaKiaKiaKjaKkaKlaKjaKkaKkaKmaKnaKoaEhaEhaKpaEhaKqaKraChaChaChaChaChaKraCfaCfaCfayGayGayGayKayJayJaAkayGayGaDxayJayGaKsayJayGaAkayGaDxaHVayJayGaAkayGayHaHVaDxayHaKtaDCaKuaIhaKvaKwaKxaIhaKyaDCaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaInaInaKzaJqaJraJsaJtaJuaJvaJwaJxaJvaJyaJzaJvaJvaJAaxVazHaxVaJBazHazHaJCaJDaxVaEVaBFazHazHazHazHazHazHaGpaJEazHaxVaEKaEKaDMaJFaDMaJGaJHaJIaJIaJIaJJaJIaJIaJIaJKaJGaJLaJMaJMaJMaJMaJMaJMaJMaGvaIKaJNaJOaJPbmEaJRawxaJTaPAaJVbqJaJXaJOaJYaIKaJZaxqaKaazIaKbaGKaSyaKdaKdaKeaKfaKgaSsaKiaKiaKjaKkaKlaKjaKkaKkaKmaKnaKoaEhaEhaKpaEhaKqaKraChaChaChaChaChaKraCfaCfaCfayGayGayGayKayJayJaAkayGayGaDxayJayGaKsayJayGaAkayGaDxaHVayJayGaAkayGayHaHVaDxayHaKtaDCaKuaIhaKvaKwaKxaIhaKyaDCaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaDEaKzaKAaKzaKBaJraJraKCaKzaKAaKzaKDaKEaKFaKGaxVazHaGpaGpaxVaxVaxVaKHaKHaKHazNaKHaKHaKHaKHaKHaGvaDMaDMaDMaDMaDMaDMaDMaJFaKIaJGbikaabbikaabbikaabbikaabbikaJGaJLaJMaKJaKKaKLaKMaKNaJMaGvaIKaKOaKOaKPaKQaKRaKSaKTaKSaKUaKVaKWaKOaKOaIKaJZaxqaKXazIaKbaGKaGLaCZaDaaDbaEgaKYaTJaLaaLbaLcaLcaLdaLeaLcaLeaLfaLgaLhaLiaLjaLkaLlaCfaKraChaChaChaChaChaKrayGaCtayHaLmaLnayJayGayJaCtayHayGaCtaDxayGaLoayHayGaLpayHayJaLqaLrayGaLsayHayJaAkaAkaDxaAkaLtaDCaLuaIhaLvaLwaLvaIhaLxaDCaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaLyaCuaLzaGdaKzaLAaLBaLCaLDaKzaGdaLEaInaCuaLFaLGaxVazHazHazHazHazHazHaKHaLHaLIaLJaLKaLLaLMaLHaKHaLNaLOaIDaIDaIDaIDaIDaIDaLPaLQaJGaabaLRaLRaLRaLRaLRaLRaLRaabaJGaJLaJMaLSaLTaLUaLVaLSaJMaGvaIKbCjbCjbCjaLWaLXaJOaLYaJOaLXaLZbCjbCjbCjaIKaJZaxqaMaazIaKbaGKaFAaCZaDaaDbaFBaMbaMcaMcaMcaMcaMcaMcaMcaMdaMcaMeaMeaMeaMeaMeaMfayGaCfaKraChaChaChaChaChaKrayGayGayHaMgaLnayJaMhayGayHayHayGayHaDxayJayHayHayGayHayHayJaDxayIayGayHayHayJaMiayHaDxayHaMjaMkaMkaDCaDCaDCaDCaDCaDCaDCaDDaDDaDDaDDaDDaabbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaInaKAaKzaKzaKzaKzaKzaKzaKAaInaMlaCuaMmaMnaMoaMoaMoaMoaMoaMoaMpaKHaLHaMqaLJaMraMqaMqaLHaKHaMsaMtaMuaMuaMuaMuaMuaMuaMuaMuaMvbikaLRaMwaMxaMyaMzaMAaLRbikaJGaJLaJMaMBaMCaMDaMEaLSaJMaGvaIKaMFaMFaKPaMGaMHaKSaKTaKSaMHaMIaMJaKOaKOaIKaJZaxqaKaazIaMKaBRaMLaCZaDaaDbaEgaMbaMcaMMaMNaMOaMOaMcaMPaMQaMRaMeaMSaMTaMUaMeaMVayGbikaMWaMXaMXaMXaMXaMXaMYbikayGayHaMZaNaayJayJayGayGayJayJaNbaNcayJayGazxayGayGayJayJaNdaNeayGayGayGaHYaMiayHaDxayHaMjazwayKaFSayGaNfaNgaNfayGayGayGaabaabaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9151,7 +9154,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdetaNmaNiaODaOEaOFaOGaOHaOIaOJaOKaOLaOMaONaOOaKzaKBaUFaMoaOQaORaOSaOTaOSaOUaKHaOVaMqaOWaOXaOYaOXaOZaPaaPbaXtaPdaPdaPdaPdaPdaPdaPeaPfaMvbikaLRaPgaNHaPhaNJaPiaLRbikaJGaJLaJMaPjaPkaPlaPmaPnaJMaGvaIKaPoaPoaKPaPpaMHaKSaPqaKSaMHaPraKWaPsaPsaIKaPtazUaPuazIaKbaEeaPvaPvaPvaPvaPwaPxaPyaPzaWsaPBaPBaPBaPCaPBaPDaPEaPFaPGaPHaPEaPIaPJazxayGayGayGayGayGayGayGayGayGayGayGayGaBMayGayGayGayGayHaDxaOiazvaabazvayHaPLaPMaPNaPOaPPaPQaPRaPRaPRaPRaPSaPTaPUaPVaPWaPXaPWaPYaPWaPWaPZaQabpqaQbaQcaQdaQeaQeaQeaQeaQeaQeaQeaQeaQeabLadbbikbikbikbikbikbikbikaaabdBaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaONaQgaQhaQiaOMaQjaOFaQjaOFaQjaOFaQjaOMaQkaQlaKzaKBaQmaMoaQnaQoaQpaQqaQraQsaKHaQtaMqaQuaQvaQwaQxaQyaKHaQzaZmaPdaPdaPdaPdaPdaPdaPeaQAaMvaabaLRaQBaQCaQDaQEaQFaLRaabaJGaJLaJMaQGaQHaQIaQJaQKaJMaGvaIKbCjbCjbCjaQLaLXaJOaLYaJOaLXaQMbCjbCjbCjaIKaQNaQOaQPazIaMKaQQaQRaQRaQRaQSaQTaQUaQVaQWaQXaQVaQYaQZaRaaQVaRbaRcaRdaReaRfaMeaRgaRhaRiaRjaRjaRhaRkaRlaRlaRlaRlaRlaRmaRnaRlaRoaRpaRqaRraRsaRvaRuaTkaRwaRxaRwaRyaRzayHayGaRAaRBaRCaRDaREaRFaRGaRHaRIaRJaRIaRKaRLaRMaRNaROaRPaOCbbVaTCaRTaRUaQbaRVaRWaRXaRYaRZaSaaSbaScaSdaprbikbikbikbikbikbikbikaaabfmbifbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSfaOFaOFaNjaOMaQjaOFaQjaSgaQjaOFaQjaOMaQkaQlaKzaKBaShaMoaMoaSiaSjaSkaSjaMoaKHaKHaKHaKHaSlaSmaSnaSoaKHaSpdpgaSraPdaPdaZVaPdaStaSuaSvaMvbikaLRaLRaSwaSxaSwaLRaLRbikaJGaJLaJMaWFaSzaSAaQJaSBaJMaGvaIKaJNaJOaSCaNRaLXaJOaLYaJOaLXaNTaSDaIKaIKaIKaSEaSFaSGaSHaSIaSJamKamKaSKaSLaSMaSNaMcaSOaMQaMcaSPaMcaSQaMcaSRaSSaSTaSUaSVaTeaSXaSYaSZaTaaTbaTcaTdaTbaTbaUjaTbaSYaTfaSYaOvaTgaSYaThaTiaTjaTmaTlaToaTnaTqaTpaWIaTraOuaTsaTtaTuaTvaTwaTxaTyaTzaRHaTAaTBaRIcLhaTDaTEaTFaROaTGaRQaRRaRSaTHaTIaQbaXRaTKaTKaTLaScaScaScaScaSdaprbikbikbikbikbikbikaaabfmbigbijbihbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaONaTMaTNaQiaOMaQjaOFaQjaOFaQjaOFaQjaOMaQkaQlaKzaKBaTOaTPaTQaTRaTSaTSaJraTTaTUaTVaTWaTXaTYaTZaMqcoCaKHaUbdphaUdaUeaUfaUgaUhaUiaUZaUkaMvbikaabbikaUlaUmaUlbikaabbikaJGaJLaJMaUnaUoaUpaUqaUraJMaGvaIKaUsaUtaKPaUuaUvaKSaUwaKSaUxaUyaUzaIKaUAaUBaUCaUDaUEaYgaUGaUHbikbikaSKaUIaUJaUKaMcaULaUMaMQaMQaUNaMQaMQaMQaUOaMeaUPaMeaUQaURaMeaUSaMeaUTaUUaUVaUWaUXaUYaUTbwNaVaaVbaVcaVbaVbaVbaVbaVdaWLaVbaVeaVfaYPaWBaVbaVhayHaRDaViaTvaVjaVkaVlaVmaVnaVoaVpaVqaRIaVraVsaVtaVuaVvaTGaRQaRRaRSaRTaVwaQbaVxaTKaTKaTLaScaScaScaScaSdaprbikbikbikbikbikbikbdBblqbjMbmKbjMbqQbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaONaTMaTNaQiaOMaQjaOFaQjaOFaQjaOFaQjaOMaQkaQlaKzaKBaTOaTPaTQaTRaTSaTSaJraTTaTUaTVaTWaTXaTYaTZaMqcoCaKHaUbdphaUdaUeaUfaUgaUhaUiaUZaUkaMvbikaabbikaUlaUmaUlbikaabbikaJGaJLaJMaUnaUoaUpaUqaUraJMaGvaIKaUsaUtaKPaUubtdaKSaUwaKSbABaUyaUzaIKaUAaUBaUCaUDaUEaYgaUGaUHbikbikaSKaUIaUJaUKaMcaULaUMaMQaMQaUNaMQaMQaMQaUOaMeaUPaMeaUQaURaMeaUSaMeaUTaUUaUVaUWaUXaUYaUTbwNaVaaVbaVcaVbaVbaVbaVbaVdaWLaVbaVeaVfaYPaWBaVbaVhayHaRDaViaTvaVjaVkaVlaVmaVnaVoaVpaVqaRIaVraVsaVtaVuaVvaTGaRQaRRaRSaRTaVwaQbaVxaTKaTKaTLaScaScaScaScaSdaprbikbikbikbikbikbikbdBblqbjMbmKbjMbqQbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdeOaVzaNiaODaOMaOFaVAaVBaOFaOFaVCaVAaOMaONaVDaKzaKBaVEaVFaVGaVHaVGaVGaVGaVGaVGaVIaJraKHaVJaVKaVJaKHaKHaVLdpiaVLaMuaMuaMuaMuaVLaVNaVOaMvaVPaVQaVQaVRaVSaVRaVQaVQaVTaJGaVVaJMaVWaJMaVXaVYaVZaJMaWaaIKaIKaIKaIKaWbaWcaWdaWeaWdaWcaWbaIKaIKaWfaUDaUDaUDaUDaWgaWhaWiaWjaWkaSKbKgaUJaWmaMcaMcaMcaMcaMcaMcaMcaMeaMeaUOaWnaWoaWpaWqaWrbeoaWuaWtaUTaWvaWwaWxaWyaWzaUTaWAaWGaWCaWDaWCaWEaWHaYDaWNaYFaWJaWKaYGaWMaYEaVbaWOaRtaWPaWQaWRaVjbtTcvIaVmaWTaRIaWUaWVaWWaWXaWYaTFaTFaRIaRIaRQaRRaRSaTHaWZaQbaXaaXbaXcaXdaXeaXfaScaScaXgaprbikbikbikbikbikaaabfmbqRbmKbmKbmKbqSbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdeOaNiaNjaNiaNiaNkaNlaNiaNiaNjaVzdeQaCuaXiaVEaInaXjaXjaXkaXjaXlaDEaXmaXnaJraXoaXpaXqaXqaXraXsaXqdpjaXqaXqaXqaXuaXqaXqaXvaXwaXxaXyaXzaXAaXyaXBaXyaXyaXyaXyaXCaXDaXEaXqaXqaXFaXGaXHaXIaXJaXKaXLaXMbgBaXPaXPaXPaXPaXPaXPaXPaXQaXWaXXaXSaXTaXUaXVaXYaZHaXZaUDaUDaYaaYbaYcaYbaYcaYdaYeaYfbjwaYhaYiaMeaYkbBvaYmaYlaYnaYnaYoaYpaYqaYraUTaYsaYtaYuaYuaYvaUTaYwaYxaYyaYzaYAaYAaYBaYCaYHbbFbalbbHbbGbbJaVgaVbaVhaKsaRDaYIaYJaYJaYKaYLaYJaYMaRIaYNaYOaRIbkFaYQaTFaYRaRIaYSaYTaYUaRSaQbaQbaQbaYVaGZaEsaYWaGZaGZaGZaGZaQeabLadbbikbikbikbikbqUbqTbqVbmKbmKbrUbthbmKbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaInaYYaKzaKzaKzaKzaKzaKzaYYaInaMlaCuaYZaZaaInaZbaZcaZdaZdaZeaDEaZfaXnaZgaZhaXpaZiaZjaZkaZlaZldpkaZnaZnaZnaZoaZpaZpaZqaZraZsaZlaZlaJSaZpaZvaZwaZxaZxaZyaZzaZAaZuaZuaZuaZBaXGaXHaXIaXJaXJaXJaXJaZCaXJaXJaXJaXJaXJaXJaZDaZEaZNaZFaZGaZJaZIaZLaZKaZMaZNaZNaZNaZOaZPaZPaZPaZQaYiaYiaYiaZRaZSaYiaMebbsaZUaYnaYnbcMaYnaZWaZXaYqaZYaUTaZZbaababbacbadaUTbaebafbagbahbaibajaVbaVbbbKbbLaVbaVbbakbbMbakaVbaVhayHaRDbamaTvaTvaTvbanaTvbaoaRIaRIaRIaRIaRIaRIaRIbapaRIaRSaRSaRRaRSbaqbaraQbbasbatbaubavbawbaxbaybazbaAbikbikbikbikaaabtibtjbtibtibtibtkbtibtlbtibtjbtiaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9162,17 +9165,17 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaCuaCuaInaInaInaInaInaInaInaInaInaCuaDEbgLbgMbgNbgNbgNbgNbgNbgNbgObgNbgNbgNaDEbdVbejbgPbcobgQbecbecdhUbgSbgTbgUdhUbecbecbecbgVbcobejbekbctbgWbgXbgYbcvbgZbhabhbbcvbhcbhdbhebhfbhgbesbhhbhiaXObcDbcDbhjbcEbcEbcEbhkbhlbhmbhnbhobhobhpbhqbhobhrbhobhsbhtbhubhvbhwbhxbcEbcEbcEbhjbcKbcKbeGaYiaYiaMebhybhzbgkbhAbmwbhBbhCbmwbhDbhEbglbmwbnMbeMbeMbhFbcSbhHbhIbhJbhKbhLbeMbhMbgubhNdlHbeYbeYbhObhPbhQaVbaVhayHaRDbhRbhSbhTbbPbbQbhUaTvaTvbhVaTvbhWbhXaQbbhYbhZbiabfgbfgbibbiabicaQbbidbgHbatbatbatbavbatbatbKnbIzbPfbNjbiibPfddJbmKbmKbmKbmKbmKbmKbmKbmKbmKbmKbutbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikblsbltbltblubltbltbltblvbltbltbmPaabaInaLAaJtbilbgNbimbinbiobipbiqbirbisbitbgNbiubivbiwbixbcobiybecbecdhUbgTbizbiAdhUbecbecbiBbiCbcobejbekbctbctbiDbctbcvbiEbiFbiGbcvbiHbhfbiIbhfbiJbesbeubiKaXOaXPaXPbiLbiMbiNbcEbiObfRbiPbhobhobiQbiRbiSakybiSbiUbiVbiWbiXbiYbiZbjabcEbjbbiMbjcbjdbjebeGaYiaYibjfbmwbjgbmwbmwbmwbjhbjibmwbhDbjjbglbmwbeLbeMbeMbjkbBDbjmbjnbjobjpbhLbjqaVbdlJdlIdlKbeYbeYbeXbhPbjsaVbbjtbjuaRDbjvaRDaRDbogbbQbjxbjyaTvbjzbjAaWSbjBbdvbjCbjDbjEbjFbjFbjGbjHbjIbdvbjJbjKbatbjLbatbavbatbatddAbaAbaAbaAbaAbgKbqUddBbmKbutbwmbtmbmKbutbwmbtmbmKddCbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikblsbohbptbojbpwbpwbqWbpwbpwbpwbqWblubjNaInaKzaKBbfqbgNbimbjObjPbimbjQbjRbjSbjTbgNbjUaFmbjWbcsbcobjXbjYbjZbkabkbbkcbkdbkebkebkebkfbkgbcobejbivbkhbkibkjbkkbcvbcvbcvbcvbcvbklbkmbknbkobkpbesbeubiKaXJaXJaXJbkqbkrbksbktbkubkvbhobkwbkxbkybkzbkAbkBbkCbkDbkEboNbkGbkubkHbkIbkJbkKbkMbkLbkObkObkPaYibkQaMebmwbkRbkSbglbmwbkTbkUbmwbkVbkWbglbmwbnMbeMbeMbeMbeNbeMbkXbeMbjpbhLbkYaVbdlObhNbeXbeYbeYbeXbhPblaaVbblbblcbldbleblfblgblhblibljbljbljbljbljbljblkbllblmbfgbfgbfgbfgbfgbfgblnbloblpbgHbatbatbatbavbatbatddDbgKblrblrblrbaAbwmbtmbmKbutbBQbtmbmKbutbBQbtmbmKbutbwmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbqYbqXbqXbqXbqXbqXbqXbqXbqXbqXbqXbqZbraaGdbraaJrbfqbgNblwbimblxblxblxblybimblzbgNblAblBbjWblCblCblCblCblDblCblEbecblFblGblHblHblIblJbcobpcblLblMblNblOblPblQblRblSblRblTblTblTblTblTboFblUbeublVblWblXblYblZbmabmbbmcbmdbkBbmebmfbmgbmgbmgbmgbmhbmgbmibmjbmkbmlbmebmmbmnbcEbmobmpbmqbkNbmsbmtaYiaYibjfbmwbnCbmwbmwbmwaRebmwbmwbmvbmvbmwbmwbmxbeMbeMbmybqHbeMbeMbeMbmAbmBbmCaVbbgxbhNbeXbeXbeXbeXbhPbmDaVbbmEbmFbmFbmGbmFbmHbbPbbPbbPbbPbmIbbPbbPbbPbmJblobfgbfgbfgbfgbfgbfgbfgblnbloblpbgHbatbfjbfjbfkbfjbatddEbaAbmLbmMbmNbaAbBQbtmbmKbutbBQbtmbmKbutbBQbtmbmKbutbBQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbqYbqXbqXbqXbqXbqXbqXbqXbqXbqXbqXbqZbraaGdbraaJrbfqbgNblwbimblxblxblxblybimblzbgNblAblBbjWblCblCblCblCblDblCblEbecblFblGblHblHblIblJbcobpcblLblMblNblOblPblQblRblSblRblTblTblTblTblTboFblUbeublVblWblXblYblZbmabmbbmcbmdbkBbmebmfbmgbmgbmgbmgbmhbmgbmibmjbmkbmlbmebmmbmnbcEbmobmpbmqbkNbmsbmtaYiaYibjfbmwbnCbmwbmwbmwaRebmwbmwbmvbmvbmwbmwbmxbeMbeMbmybqHbeMbeMbeMbmAbmBbmCaVbbgxbhNbeXbeXbeXbeXbhPbmDaVbcFKbmFbmFbmGbmFbmHbbPbbPbbPbbPbmIbbPbbPbbPbmJblobfgbfgbfgbfgbfgbfgbfgblnbloblpbgHbatbfjbfjbfkbfjbatddEbaAbmLbmMbmNbaAbBQbtmbmKbutbBQbtmbmKbutbBQbtmbmKbutbBQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbrcbrbbrebrdbrfbrfbrgbrfbrfbrfbrgbluaInaInaKzbrVbcjbmQbimbmRblxblxblxblybmRbimbgNbmSbmTbjWblCbmUbmVbmWbmXblCbmYbmZbnabcobnbbncbndbnebcobejbnfbngbngbnhbngbngbngbngbnibnjbnjbnjbnkbnjbnlbuWbnnbnobnpbnrbnrbnrbnrbnrbnqbnqbnsbnqbmgbmgbntbnubnvbnwbnxbnybntbnzbmgbnAbnBbnAbnAbnAbnAbnAbnAbnAbmtaYiaYiaMebnEbmwcakbnGbmwbnFbmwbnJdmhdmgbmwbpjaUTbnKbnLaUTaUTczObnNddybnNaUTaUTaVbbnObnPbnQbnQbnQbnQbnPbnRaVbbnSbmFbmFbmGbnTaRDbnUbnVbnWbnXbnYbnZboabobbocaQbbodaRSboebfgbfgboeaRSbofaQbbszbgHbatbgIbgIbgJbgIbatddDbgKblrblrblrbaAbGVbtmbmKbutbGVbtmbmKbutbGVbtmbmKbutbGVbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbrcbltbltblubltbltbltblvbltbltbtnaabaInboibdFbokbgNbjObjObjObimbolbombonboobgNbopboqbjWblCborblCbosbotblCboubovbowbcobnbbncbndbiCbcobejbnfbngboxboybozboAboBbngboCboDboEbSVbyzbyzbyzbuVboGboHboIbnrboJboKboLboMbsLboOboPboQbmgboRbnvbnvbpWboTbpWbnvbnvboVbmgboWboXboYboZbpabpbbsWbpdbnAbpebpfbpfbpgaMeaMeaMeaMebphbjfbphbpiaMeaURaMeaMeaUTaUTaUTaUTbplbpkbpkbpkbpkbpmbpJaVbbakbpnbakbpobpobakbpnbakaVbbnSbmFbmFbppbnTaRDaRDaRDaRDaRDbjvaRDaRDaRDaRDaQbbpqaQcaQcaQcaQcaQcaQcaQbaQbbprbpsbatbatbatbavbatbatddAbaAbaAbaAbaAbgKbqUddFbmKbmKbmKbmKbmKbmKbmKbmKbmKddGbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaLyaCuaKzaKzaKzaDEaDEaDEaDEaDEaDEbtobpubgNbgNbgNbgNbgNbgNbpvbgNbgNbgNbejbejbpxblCbpybpzbosbpAblCdlEbpCbpBbcobnbbncbndbecbcobejbnfbngbpDbpEbpFboAbpFbngboCbpGbpHbAibmubpKbpLbnmbpMbpNboIbpObpPbpQbpRbpSbpSbpRbpTbpUbmgbpVbnvbnvbpWboUbpWbnvbnvbpYbmkbpZbqabqbbqcbqdbqebqbbqfbnAbqgbqhbqibqjbqkbqlbqmbqnbqnbqnbqnbqnbqnbqobqpbqqbqnbqnbqsbqnbqnbqnbqnbqnbqnbqnbqndcZbqubqvbqvbqvbqvbqvbqvbqwbqlbqxbqybqyaHkbqAbqBbqAbqCbqAbqDbqEbqFbqAbqGbtNbqIbqJbqKbqKbqKbqKbqKbqKbqKbqLbqMbqNbqNbqNbqNbqObqNbqPbKnddHbPfddIbiibPfdlbbmKbmKbmKbmKddKbmKddKbmKbmKbmKddGbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaLyaCuaKzaKzaKzaDEaDEaDEaDEaDEaDEbtobpubgNbgNbgNbgNbgNbgNbpvbgNbgNbgNbejbejbpxblCbpybpzbosbpAblCdlEbpCbpBbcobnbbncbndbecbcobejbnfbngbpDbpEbpFboAbpFbngboCbpGbpHbAibmubpKbpLbnmbpMbpNboIbpObpPbpQbpRbpSbpSbpRbpTbpUbmgbpVbnvbnvbpWboUbpWbnvbnvbpYbmkbpZbqabqbbqcbqdbqebqbbqfbnAbqgbqhbqibqjbqkbqlbqmbqnbqnbqnbqnbqnbqnbqobqpbqqbqnbqnbqsbqnbqnbqnbqnbqnbqnbqnbqndcZbqubqvbqvbqvbqvbqvbqvbqwbqlbqxbqybqyaHkbqAbqBbqAbqCbqAbqDbqEbqFbqAbqGbtNbqIcXAbqKbqKbqKbqKbqKbqKbqKbqLbqMbqNbqNbqNbqNbqObqNbqPbKnddHbPfddIbiibPfdlbbmKbmKbmKbmKddKbmKddKbmKbmKbmKddGbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbtpbtqbtqbtqbtqbwpbwpbtqbtqbxZbikaabaInaLAaJtbzPbzObzRbzQbzQbzQbzQbzSbzUbzTbcsbdVbBFbrhblCblCblCbribotblCbcobcobcobcobnbbrjbrkbrlbcobrmbrnbngbrobrpboAbpFbrqbngboCbrrbpHbAibpIbrsbrtbnmbrubpNboIbpObrvbrwbrxbrybrzbrAbpTbrBbmgbrCbpWbnvbrDbrEbrDbnvbpWbrFbnzbrGbqbbqbbqcbrHbqebqbbrIbnAbrJbqibqibqjbqkbqlbqnbqnbqnbqnbqnbqnbqnbrKbqnbqnbqnbqnbqnbqnbrLbrMbrMbrMbrMbrMbrMbrMbrMbrMbrMbrMbrMbrMbrMbrNbrObrPbqKbqKbrQbmFbmFbmFbmFbmFbmGbmFbmFbmFbmFbmFbmFbmFbmFbmFbmFbmFbmFbrRbmFbrSbrTbatbatbatbatbatbatbatddLbaAbgKbaAbaAbaAbqUddMddOddNbdBddPbdBddPbdBddQddMddObqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbBGbDCbBHdjhbDDdjidjidjkdjjbtqbxZbjNaInaInaKBbrWbrXbrYbrXbrXbrXbrXbrZbsabsbbcsbcsbscbsdblCbmUbsebsfbpAblCbsgbshbsgbcobcobcobcobsibcobsjbskbngbslbsmbpFbsnbsobngboCbnmbspbAibpIbpIbsqbnmbsrbpNboIbpObWDbrwbrxbstbsubrAbpTbsvbmgbswbsxbnvbsybvTbsAbnvbsBbsCbsDbsEbsFbsGbsHbsIbsJbqbbsKbnAbxtbsMbqibqjbqkbqlbqnbsNbqnbqnbqnbqnbsObsPbsPbsPbsPbsQbqnbqnbqnbqnbsRbqnbsNbsSbqnbsTbsUbsVbqnbxHbsXbsXbsYbsZbtabtbbmFbmFbmFbmFbmFbmFbmFbtcbtdbmFbmFbmFbmFbmFbmFbmFbmFbmFbmFbmFbtebtfbtfbtgddSddRddUddTddTddTddTddVddWbaAaabbikbikaabbqUddXddYddYdeabqUbikbqUdecdebdecdecbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbBGbDCbBHdjhbDDdjidjidjkdjjbtqbxZbjNaInaInaKBbrWbrXbrYbrXbrXbrXbrXbrZbsabsbbcsbcsbscbsdblCbmUbsebsfbpAblCbsgbshbsgbcobcobcobcobsibcobsjbskbngbslbsmbpFbsnbsobngboCbnmbspbAibpIbpIbsqbnmbsrbpNboIbpObWDbrwbrxbstbsubrAbpTbsvbmgbswbsxbnvbsybvTbsAbnvbsBbsCbsDbsEbsFbsGbsHbsIbsJbqbbsKbnAbxtbsMbqibqjbqkbqlbqnbsNbqnbqnbqnbqnbsObsPbsPbsPbsPbsQbqnbqnbqnbqnbsRbqnbsNbsSbqnbsTbsUbsVbqnbxHbsXbsXbsYbsZbtabtbbmFbmFbmFbmFbmFbmFbmFbtcdqvbmFbmFbmFbmFbmFbmFbmFbmFbmFbmFbmFbtebtfbtfbtgddSddRddUddTddTddTddTddVddWbaAaabbikbikaabbqUddXddYddYdeabqUbikbqUdecdebdecdecbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbBGbDCdjldjidjidjidjidjidjidjideHdjnaGddjnaJrbtrbrXbtsbttbtubtvbtwbrZbtxbtybtzbtzbtAbtBblCblCblCbosbtCborbcsbcsbcsbcsbtDbejbejbskbejbsjbskbngbtEbtFbtGbtHboAbngbtIbnmbtJbAibpIbpIbtKbtLbtMbpNbyHbnrbtObtPbpRbpRbpRbpRbpTbtQbmgbtRbtSbmgbmgbmgbmgbmgbmgbmgbnzbnAbqrbtUbtVbtWbtXbtYbtZbnAbvubuabuabucbucbucbucbucbucbucbudbudbuebufbugbugbufbuebudbudbuhbuhbuhbuhbuhbuhbuibuiaZtbuibuibuibuibuibuiafkbumbunbmFbmFbuobuobupbupbupbupbupbuqbtfbtfbtebtfbmFbtfbtfbtfbtfburbusbusbusbusdedaYXaYXbuubuubuubuubuubuubuubikbikbikbikbdBddYddYddYdeebqUbikbqUdefdebdebdegbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbBGbDCdjodjpdjpdjidjpdjpdjpbtqdjqaInaInaInaKBbuvbrXbuwbuxbuxbuxbuybrZbejbuzbuAbuBbuCbuDblCbmUbuEbosbuFborbuGbuHbuIbuJbuKbuLbuLbuMbuLbuNbuObngbuPbuQbuRbuSbuTbuUdngbyzdnidnhbpIbuXbuYbuZbtMbpNbvabnrbvbbvcbvdbvebvfbvgbvhbnqbnqbvibvjbvkbvlbvmbvlbvnbvjbikbvobnAbvpbvqbvrccIbtXbqbbvtbnAbxebvwbxfbucbzcbvybvzbvAbvBbvCbvDbvEbvFbvGbvHbvHbvGbvIbvJbvKbuhbvLbvMbvNbvObuhbvPbvQbvRbvSbCtbvUbvUbvVbuiafNbvXbvYbvZbvYbwabwabupbwbbwcbwdbupbwebwfbwebupbwgbtfburbusbwhbwibwhbusbwjbwkbusdeibEdbxXbwobikbikbikbikbikbikbikbikbikbikbqUddXddYddYdejbqUbikbqUdekdekdekdekbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjrbtqbtqbtqbtqbtqbtqbtqbtqdjqbikbikaInbwqbdFbwrbrXbwsbrXbwtbuxbwubwvbrZbwwbwxbwybwzbuDblCblCblCblCblCblCbwAbwBbwCbwDbwEbngbngbngbngbngbngbngbwFbngbngbngbwGbngbwHbwIbwJbpIbpIbpIbwKbtLbwLbpNbwMbnrbIDbvcbnrbnrbnrbnqbwObnqbwPbwQbwRbwSbwTbwUbwVbwWbwXbwYbwZbnAbxabqbbxbbxcbtXbxdbqbbnAbzbbxgbANbucbxhbxibxjbxkbxlbxmbxnbvHbvHbvHbvHbvHbvHbvHbvHbxobxpbxqbxrbxsbEibuhbxubxvbxwbxxbxAbxzbxvbxAbuibDdbvXbxCbxDbxEbxFbxFbxGbEtbxIbxJbxKbxLbxMbxNbupbxObxPbxQbusbxRbxSbxTbLSbxUbxVbusbxWbxXbxYbwobikbikbikbikbikbikbikbikbikbikbDybtldemdemdemdenbikdeodepdepdepbtlbDzbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaLyaCuaKzaKzaInaInaInaInaInaInaInaKBaJrbyabrXbybbycbydbyebyebyfbygbyhbyibyibyjbykbtzbtzbtzbtzbtzbtzbylbymbymbynbyobngbypbyqbyrbysbytbyubyvbywbngbyxbyybyzbuVbtLbwJbpIbpIbyAbnmbnmbyBbyCbyDbpXbyFbyGbEEbyIbyJbyKbyLbyMbyNbyObwXbyPbyQbyPbyQbyRbwXbwYbySbyTbyUbyVbyWbyXbyYbyZbzabyTbAObvwbvwbucbzebzdcSCbzfbzgbucbxnbvHbvHbvHbvHbvHbvHbvHbzhbzibzjbzkbzlbxqbzmbuhbznbzobzpbxxbxAbxzbzqbzrbuibIbbztbzubzvbzvbzwbzxbzybzzbzAbzAbzAbzBbzAbzCbzDbzEbzFbzGbzHbzIbzJbzKbzKbzKbzLbusbzMbxXbzNbwobikbikbikbikbikbikbikbikbikbikbikbDyderderderbDzbikbDyderderderbDzbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaIndjtdjsdjuaIoaIoaIobdFaJraJrbrXbzVbrXbzWbzXbzYbzZbrXbcsbAabAabAbbAcbAbbAbbAbbAcbAbbcsbcsbngbngbngbAdbngbAebAebAebAebAebAebyvbAfbAgbAhbAibAjbAkbAlbAmbAnbAobApbAqbArbAsbAtbAubAvbAwbAwbAxbAybAzbAAbABbACbADbAEbvjbAFbwVbAGbwTbAHbvjbikbAIbAJbAKbALbAJbAJbAJbAJbAMbnAbCBbvwbCCbAPbAQbARbASbATbAUbucbAVbAWbAXbAYbAZbBabBbaHQbvHbBdbuhbBebzlbBfbBgbuhbBhbBibxwbxxbxAbxzbxvbxAbuibDdbvXbBjbBkbBlbBmbBnbBobBpbBqbBrbBsbBtbBubKpbupbBwbBxbBybusbBzbBAbBBbxUbBCbKwbusbzMbxXbBEbwobikbikbikbikaabaabaabaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaIndjtdjsdjuaIoaIoaIobdFaJraJrbrXbzVbrXbzWbzXbzYbzZbrXbcsbAabAabAbbAcbAbbAbbAbbAcbAbbcsbcsbngbngbngbAdbngbAebAebAebAebAebAebyvbAfbAgbAhbAibAjbAkbAlbAmbAnbAobApbAqbArbAsbAtbAubAvbAwbAwbAxbAybAzbAAdrHbACbADbAEbvjbAFbwVbAGbwTbAHbvjbikbAIbAJbAKbALbAJbAJbAJbAJbAMbnAbCBbvwbCCbAPbAQbARbASbATbAUbucbAVbAWbAXbAYbAZbBabBbaHQbvHbBdbuhbBebzlbBfbBgbuhbBhbBibxwbxxbxAbxzbxvbxAbuibDdbvXbBjbBkbBlbBmbBnbBobBpbBqbBrbBsbBtbBubKpbupbBwbBxbBybusbBzbBAbBBbxUbBCbKwbusbzMbxXbBEbwobikbikbikbikaabaabaabaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaIndjwdjvdjuaJqaJqbBIbBJaJqbBKbrXbBLbycbBMbBNbBObBPbrXbikaabaabdfMdesdesdesdesdesdfNbikbikbBRbBSbBTbBUbBVbAebAebAebAebAebAebBWbBXbBYbBZbCabCbbCcbCdbnmbnmbCebCfbnmbnmbCgbChbCibPcbCkbCpbCpbKzbCpbCnbCobCpbCqbAEbvjbCrbvlbvlbvlbCsbvjbikbAIbAJbFdbCubCvbCwbCxbCybCzbCAbEsbvwbHtbucbvxbCDbCEbCFbCGbCHbCIbCJbCKbCLbCMbCNbCObCPbCQbCRbCSbCTbzlbCUbCVbuhbCWbCXbCYbCZbDabDbbDcbvVbuibIcbDebDfbDgbDgbDhbDibDjbDkbDlbDmbDnbDobDpbDqbupbDrbBxbDsbusbDtbDubDvbxUbxUbDwbusbxWbxXbDxbwobikbikbikbikaabbDAbFfbDBbFfbDBbFfbFgaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaIndjudjubDEaInaInaLyaCubDFbDGbrXbDHbycbycbycbrXbrXbrXbikbikbikdewdevdevdexdevdevdewbikbikbBRbDIbAebDJbDKbDKbDKbDKbDKbDLbDMbDKbDNbDObDPbDQbDRbDSbDTbnmbDUbpIbDVbDWbtLbDXbDYbDZbPcbPcbCpbEabnDbEcbIibEebCpbvibAEbvjbEfbEgbEhbqtbEjbvjbikbEkbAJbElbEmbEnbEobEpbEobEqbErbFWbvwbHBbucbEubEubEvbEwbExbEybEzbEAbEBbECbEDbEDbJjbEFbEGbEHbuhbCTbEIbujbuhbuhbuibEKbELbEMbuibuibuibuibENbIdbvXbEPbBkbBlbEQbDgbDjbERbESbESbETbxJbEUbEVbEWbEXbxPbEYbusbEZbFabxUbFbbFcbKhbusbzMbFebwobwobikbikbikbikaabbFhbFjbFibGSbFkbGTbFhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydjydjydjydjAdjzdjydjydjydjydjBbikbikbikbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevdewbFnbBRbBRbFobFpbFqbFrbFrbFrbFpbAebyvbAfbAebAebAgbFsbFtbFubFvbFwbFxbFybpIbpIbFzbtLbDXbDYbFAbFBbFCbFDbFEbFFbFGbFHbFIbCpbFJbFKbwRbFLbFMbFNbFObFPbwXbwYbFQbAJbFRbFSbFTbEobFUbEobFVbErbJebvwbKObucbFYbFZbGabGbbGcbGdcDBbGfbGgbGgbGhbGibGgbGgbGjbGkbGlbGmbGnbGobGpbGqbGrbGsbGtbGubGvcbAbKBbIebKjbKibvXbGBbGCbGDbGEbGFbxGbGGbESbESbGHbGIbEUbGJbupbGKbGKbGLbusbGMbGNbGObGPbxUbGQbusbzMbGRbwobikbikbikbikbikaabbGUbIybFibFkbFibKkbDBaabbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9214,7 +9217,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikczocAkczqaabczocAkczqbikczocAkczqaabbikdoidoiczsdoidoibikaabaabbikaabbikaabaabbikbikcybcCicvKcCjcCkcCkcClcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcCmcCncCmcCocCmcrmcCpcCqcIUcCtcCtcCtcCucCvcBCcCwcCxcCycCzcCAcCBcBIcCCcCDcCEcCFcHzcCHcHAcCJaabcCKcCKcCKcCKcCKcHBcoAcHDcHCcIGcHHcIHctaclUciUckucjoclUcBXcCPcBYcCRcCQcoAcusbGycoAbikbikckPcxOcxOcxOckycCTczbcCUcCVcCWcCXcCZcCZcDacqUcDbckPaabaabbikbikbikcIKbikbikbikbwobxXcvzcyJbxXbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxaqZbikczocAkczqaabczocAkczqbikczocAkczqaabbikbikbikbikbikbikbikbikbikaabcDccDdcDdcDdcDdcybcDecwWcDfcDgcDhcDhcDicDjcDkcDlcDlcDlcDlcDmdotcDocDncDncDpcDpcDncDqcDrcDscDtcDtcFMcDvdaIcDxcDycDzcDzdiEdppcDCcDDcDEcDFcCAcDGcBIcDHcDIcDJcDKcILcDMcIMcDOcDPcDQcDRcDScDTcCKcHBcoDcEhclUcvscvqcIOcINcxLckxckwdcrclUcCSczVcuqczVcDUcoAcusbGycoAcoAbikckPcwAcwAcwAcwAcEkcqUcCbdlZcEmcCecqUcEncEocEocEpcEqcXYaabbikbikbikbikbikbikbikbwobxXcGybxXbxXcIPbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcEraabaabaabcEraabbikaabcEraabbikbikbikbikbikbikbikbikbikcDccDccDccEscEtcEucDdcKlcExcEycDfcDfcEzcEAcvKcvKcEBcECcECcECcECcEDcEEcEFcEEcEEcEEcDtcDtcEGcEHcEIcEJcEKcDzcELcDwcDzcDzcDzcDzdpwcBCcENcEOcCycDFcCAcDFcBIcDHcDIcEPcEQcERcEScETcEUaabcEVcEWcDTcEXcCKcHBcoDcHDcHCcxKcxJczVcxMclUcIIcDVdcsclUcDWcDYczVcEbcEaclUcusbGycITcoAbikckPcwtcwucwvcFjcARczbcFkcJIcGCcJKcJKcFocFpcFqcJLckPaabaabaabbikbikbikbikbikbikbwocJMcvzbwobwobwobwobwoaabaabaabcJNcJNcJNcJNcJNcJNaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabcFscFtcFtcFucFvcFwcFwcFwcFvcFwcFwcFwcFvcFwcFwcFwcFxcFtcFtcFtcFtcFtcFycFzcFAcFBcFCcFDcFEcFFcFGcfRcwWcFHcDfcvKcvKcvKcFIcEBcECcFJcFKcFLcHscFNcJlcFPcFOcFQcFScFTcSpcFVcFWcFXcFScFYcFZcDwcGacDzcDzcDzcGbcBCcGccGccDFcGdcGecGfcGgcGhcGicGjcGkcGlcGmcGncDOcGocDQcGpcDTcDTcCKcHBcoDcEhclUcyMcyLcyNcFfclUcnkclTcFfclUcyQcyScyRcyTcyTclUcusbGycJOcoAbikckPcxOcxPcxOcGAcxRcqUcGBcJPcJJcqUdlWcGDcwAcwAcwAckPbikbikaabaabbikbikbikbikbikbwocyKcvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabcFscFtcFtcFucFvcFwcFwcFwcFvcFwcFwcFwcFvcFwcFwcFwcFxcFtcFtcFtcFtcFtcFycFzcFAcFBcFCcFDcFEcFFcFGcfRcwWcFHcDfcvKcvKcvKcFIcEBcECcFJdrRcFLcHscFNcJlcFPcFOcFQcFScFTcSpcFVcFWcFXcFScFYcFZcDwcGacDzcDzcDzcGbcBCcGccGccDFcGdcGecGfcGgcGhcGicGjcGkcGlcGmcGncDOcGocDQcGpcDTcDTcCKcHBcoDcEhclUcyMcyLcyNcFfclUcnkclTcFfclUcyQcyScyRcyTcyTclUcusbGycJOcoAbikckPcxOcxPcxOcGAcxRcqUcGBcJPcJJcqUdlWcGDcwAcwAcwAckPbikbikaabaabbikbikbikbikbikbwocyKcvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcGFaabbikaabcGFaabbikaabcGFaabbikbikbikbikbikbikbikbikbikcDccDccDccGGcGHcWAcDddovcfRcGKcExcExcExcExcGLcExcFGcECcGMcGNcGOcGPcGQcGRcGScGTcGUcGVcGWcGXcGYcGZcHacHbcFYcELcDwcHccHdcDzcDzcHecBCcHfcHgcDFcHhcCAcHicHjcHkcHlcHmcHncHocHpcHocHqaabcCKcCKcCKcCKcCKcHBcoAcEhclUcIJcyVcyYcyXcEecEccEgcEfcHwcGucHZczVcIRcIQclUcusbGycJRcoAbikckPcxOcxOcxOcBWcHEcHFcHGcHJcHIcqUcqUcqUcqUcHKcHLcHMbikbikbikaabaabbikbikbikbikbwobwocvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikbikaabaabcDccDdcDdcDdcDdcHPcHQcHRcfRcHScfRcfRcEBcHTcfRcECcHUcHVcGOcHWcFNcHXcHYcIacIacIbcIccIdcIedmabRFcIbcIhcIicIjcIkcIlcImcIncIocIpcIqcGfcIrcIscItcIucIvcIwcIxcIycIzcIAcIBcICcIDcDPcDQcIEcIFcIFcCKcHBcoAcEhclUclUclUclUclUcJhcANcBRcJQcMccBScMecMdcMCcBVclUcuscGqcGrcGrcGrcJTcJTcJTcJTcJTcJUcKTcKbcKUdqBczbcIVczbcIVczbcIXcHMbikbikbikbikaabaabbikbikbikbikbwocvzbwoaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikczocHOczqaabczocHOczqbikczocHOczqbikbikbikbikaabbikbikbikbikaabaabaabbikbikaabaabcJbcJbcJbcJbcJbcJbcJbcJccJbcJbcECcJdcJecGOcHWcFNcJfcFNcFNcJgcDtcJicJjcFWcJkcQDcDtcJmcDzcDwcJncJocJpcIncJqcJrcJscJtcJucJvcJwcJtcJxcJycJzcJAcDFcJBcJCcJDcJEaabcEVcJFcJGcJHcCKcHBcoDcKWcKVcKVcKVcKXclUcFacyLcCLcFecyScCMcyTcyTcyScCNclUcuscGvbVibGycKYcKZcoAbikbikckPcJVcJWcJXcJYcJVcJWcJZcKacJVcJWcLackPaabaabaabaabaabaabaabaabaabaabbwocvzbwobwobwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjcbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9258,7 +9261,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXdcWucXecXfcXdcXdcXgcXhcXdcXfcXicXfcXdaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikcGEbikbikbikagQagQagQaqZagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXdcXkcXjcXfcXmcXocXncXpcXmcXfcXqcXrcXdbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikagQaabcSBaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXdcXscXjcXfcXmcXocXncXpcXmcXfcXqcXtcXdaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXucXdcWVcXvcXfcXwcXocXxcXzcXycXfcXqcXdcXdcXAbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXucXdcWVcXvcXfcXwcXocXxcXzcXycXfcXqcXdcXddrSbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcWVcXBcXfcXCcXocXncXpcXmcXfcXDcXdaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWVcXEcXGcXFcXIcXHcXpcXJcXLcXKcXdaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWVcXMcXfcXNcXOcXncXpdrAcXfcXMcXdaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -9273,7 +9276,7 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBdrsdrrdrudrtdrwdrvdrxcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBcWPcXZdrzdrydpfdaicWRcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBboSdgYcWTdrBcWTdrCboScWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjgbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdrDcWBcWBdrEcWLdrFcWTcWTcWTcWOcWLdrGcWBcWBdrHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdrDcWBcWBdrEcWLdrFcWTcWTcWTcWOcWLdrGcWBcWBdrTbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBcWPdrIdrKdrJcWTcWLcWRcWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBdrscWLdrMdrLboScWLdrxcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBboScWLcXldrNcWLcWLboScWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik From 82295929869a73859dc7e7cb03549701ee0646d1 Mon Sep 17 00:00:00 2001 From: FlattestGuitar Date: Tue, 18 Oct 2016 20:20:47 +0200 Subject: [PATCH 25/48] fixes fixes --- code/modules/mob/mob_helpers.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index ba47778c144..aa59991a6cb 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -517,7 +517,8 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HARM) var/length var/pos for(var/datum/objective/objective in all_objectives) - if(objective.target != mind) continue + if(!mind || objective.target != mind) + continue length = lentext(oldname) pos = findtextEx(objective.explanation_text, oldname) objective.explanation_text = copytext(objective.explanation_text, 1, pos)+newname+copytext(objective.explanation_text, pos+length) From 1da17e68631a7a4c6e07bd2356782db7b900b9f2 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Wed, 19 Oct 2016 03:09:17 -0400 Subject: [PATCH 26/48] Nullrod istype Helpers --- .../objects/items/weapons/holy_weapons.dm | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index 600ff934a8f..be74349f8ca 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -285,7 +285,7 @@ /obj/item/weapon/nullrod/whip/afterattack(atom/movable/AM, mob/user, proximity) if(!proximity) return - if(istype(AM, /mob/living/carbon/human)) + if(ishuman(AM)) var/mob/living/carbon/human/H = AM if(is_shadow(H)) var/phrase = pick("Die monster! You don't belong in this world!!!", "You steal men's souls and make them your slaves!!!", "Your words are as empty as your soul!!!", "Mankind ill needs a savior such as you!!!") @@ -399,7 +399,7 @@ /obj/item/weapon/nullrod/rosary/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - if(!istype(M)) + if(!iscarbon(M)) return ..() if(!user.mind || user.mind.assigned_role != "Chaplain") @@ -414,7 +414,7 @@ praying = 1 if(do_after(user, 150, target = M)) - if(istype(M, /mob/living/carbon/human)) // This probably should not work on vulps. They're unholy abominations. + if(ishuman(M)) // This probably should not work on vulps. They're unholy abominations. var/mob/living/carbon/human/target = M if(target.mind) @@ -443,15 +443,15 @@ praying = 0 /obj/item/weapon/nullrod/rosary/process() - if(istype(loc, /mob/living/carbon/human)) + if(ishuman(loc)) var/mob/living/carbon/human/holder = loc if(src == holder.l_hand || src == holder.r_hand) // Holding this in your hand will - for(var/mob/living/carbon/human/M in range(5)) - if(M.mind.vampire && !M.mind.vampire.get_ability(/datum/vampire_passive/full)) - M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) + for(var/mob/living/carbon/human/H in range(5)) + if(H.mind.vampire && !H.mind.vampire.get_ability(/datum/vampire_passive/full)) + H.mind.vampire.nullified = max(5, H.mind.vampire.nullified + 2) if(prob(10)) - to_chat(M, "Being in the presence of [holder]'s [src] is interfering with your powers!") + to_chat(H, "Being in the presence of [holder]'s [src] is interfering with your powers!") /obj/item/weapon/nullrod/missionary_staff name = "holy staff" @@ -503,7 +503,7 @@ return 0 /obj/item/weapon/nullrod/missionary_staff/afterattack(mob/living/carbon/human/target, mob/living/carbon/human/missionary, flag, params) - if(!istype(target) || !istype(missionary)) //ishuman checks effectively + if(!ishuman(target) || !ishuman(missionary)) //ishuman checks return if(target == missionary) //you can't convert yourself, that would raise too many questions about your own dedication to the cause return @@ -533,7 +533,7 @@ /obj/item/weapon/nullrod/missionary_staff/proc/do_convert(mob/living/carbon/human/target, mob/living/carbon/human/missionary) var/convert_duration = 6000 //10 min - if(!target || !istype(target) || !missionary || !istype(missionary)) + if(!target || !ishuman(target) || !missionary || !ishuman(missionary)) return if(ismindslave(target) || target.mind.zealot_master) //mindslaves and zealots override the staff because the staff is just a temporary mindslave to_chat(missionary, "Your faith is strong, but their mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more...") From 87920451e86ba8a1424da79232ec5fc4a45af9ba Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 17:02:16 +0200 Subject: [PATCH 27/48] Fix robot lockdown through console and jetpack examine --- code/game/machinery/computer/robot.dm | 4 +--- code/game/objects/items/weapons/tanks/jetpack.dm | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 58ae88dba27..160fbeb9827 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -27,7 +27,6 @@ if(mode.kickoff) to_chat(user, "You have been locked out from this console!") - /obj/machinery/computer/robotics/proc/is_authenticated(var/mob/user as mob) if(isobserver(user) && check_rights(R_ADMIN, 0, user)) return 1 @@ -116,8 +115,7 @@ message_admins("[key_name_admin(usr)] [target.canmove ? "locked down" : "released"] [key_name_admin(target)]!") log_game("[key_name(usr)] [target.canmove ? "locked down" : "released"] [key_name(target)]!") - target.canmove = !target.canmove - target.lockcharge = !target.lockcharge + target.SetLockdown(!target.lockcharge) to_chat(target, "[!target.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]") if(target.connected_ai) to_chat(target.connected_ai, "[!target.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [target.name]
    ") diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm index af2c59c4759..c9c9497cb71 100644 --- a/code/game/objects/items/weapons/tanks/jetpack.dm +++ b/code/game/objects/items/weapons/tanks/jetpack.dm @@ -143,7 +143,7 @@ air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) /obj/item/weapon/tank/jetpack/carbondioxide/examine(mob/user) - if(!..(0)) + if(!..(user, 0)) return if(air_contents.carbon_dioxide < 10) From e853b6674799eb3af15f46386402b9080ff050e1 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 17:05:49 +0200 Subject: [PATCH 28/48] Minor wall deconstruction refactor --- code/game/turfs/simulated/walls.dm | 84 ++++++++----------- code/game/turfs/simulated/walls_mineral.dm | 57 +++---------- code/game/turfs/simulated/walls_misc.dm | 4 +- code/game/turfs/simulated/walls_reinforced.dm | 2 +- code/modules/mining/mine_items.dm | 1 - .../simple_animal/hostile/spaceworms.dm | 2 +- 6 files changed, 50 insertions(+), 100 deletions(-) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 45f0e42a2aa..d1fb0326466 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -3,7 +3,6 @@ desc = "A huge chunk of metal used to seperate rooms." icon = 'icons/turf/walls/wall.dmi' icon_state = "wall" - var/mineral = "metal" var/rotting = 0 var/damage = 0 @@ -22,9 +21,11 @@ thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall - var/walltype = "metal" var/hardness = 40 //lower numbers are harder. Used to determine the probability of a hulk smashing through. var/engraving, engraving_quality //engraving on the wall + + var/sheet_type = /obj/item/stack/sheet/metal + var/obj/item/stack/sheet/builtin_sheet = null canSmoothWith = list( /turf/simulated/wall, @@ -36,6 +37,10 @@ /turf/simulated/wall/r_wall/coated) smooth = SMOOTH_TRUE +/turf/simulated/wall/New() + ..() + builtin_sheet = new sheet_type + /turf/simulated/wall/BeforeChange() for(var/obj/effect/E in src) // such quality code @@ -43,8 +48,8 @@ qdel(E) . = ..() + //Appearance - /turf/simulated/wall/examine(mob/user) . = ..(user) @@ -117,46 +122,14 @@ if(radiated_temperature > max_temperature) take_damage(rand(10, 20) * (radiated_temperature / max_temperature)) -/turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0) - if(istype(src,/turf/simulated/wall/r_wall)) - if(!devastated) - playsound(src, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder/reinforced(src) - new /obj/item/stack/sheet/plasteel( src ) - else - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/plasteel( src ) - else if(istype(src,/turf/simulated/wall/cult)) - if(!devastated) - playsound(src, 'sound/items/Welder.ogg', 100, 1) - new /obj/effect/decal/cleanable/blood(src) - new /obj/structure/cultgirder(src) - else - new /obj/effect/decal/cleanable/blood(src) - new /obj/effect/decal/remains/human(src) - +/turf/simulated/wall/proc/dismantle_wall(devastated = 0, explode = 0) + if(devastated) + devastate_wall() else - if(!devastated) - playsound(src, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder(src) - if(mineral == "metal") - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - else - var/M = text2path("/obj/item/stack/sheet/mineral/[mineral]") - new M( src ) - new M( src ) - else - if(mineral == "metal") - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - else - var/M = text2path("/obj/item/stack/sheet/mineral/[mineral]") - new M( src ) - new M( src ) - new /obj/item/stack/sheet/metal( src ) + playsound(src, 'sound/items/Welder.ogg', 100, 1) + var/newgirder = break_wall() + if(newgirder) //maybe we don't /want/ a girder! + transfer_fingerprints_to(newgirder) for(var/obj/O in src.contents) //Eject contents! if(istype(O,/obj/structure/sign/poster)) @@ -166,6 +139,16 @@ O.loc = src ChangeTurf(/turf/simulated/floor/plating) + +/turf/simulated/wall/proc/break_wall() + builtin_sheet.amount = 2 + builtin_sheet.loc = src + return (new /obj/structure/girder(src)) + +/turf/simulated/wall/proc/devastate_wall() + builtin_sheet.amount = 2 + builtin_sheet.loc = src + new /obj/item/stack/sheet/metal(src) /turf/simulated/wall/ex_act(severity) switch(severity) @@ -176,7 +159,7 @@ if(prob(50)) take_damage(rand(150, 250)) else - dismantle_wall(1,1) + dismantle_wall(1, 1) if(3.0) take_damage(rand(0, 250)) else @@ -216,8 +199,9 @@ O.mouse_opacity = 0 /turf/simulated/wall/proc/thermitemelt(mob/user as mob) - if(mineral == "diamond") + if(istype(sheet_type, /obj/item/stack/sheet/mineral/diamond)) return + var/obj/effect/overlay/O = new/obj/effect/overlay( src ) O.name = "Thermite" O.desc = "Looks hot." @@ -236,7 +220,6 @@ spawn(100) if(O) qdel(O) -// F.sd_LumReset() //TODO: ~Carn return //Interactions @@ -292,7 +275,8 @@ return //get the user's location - if(!istype(user.loc, /turf)) return //can't do this stuff whilst inside objects and such + if(!istype(user.loc, /turf)) + return //can't do this stuff whilst inside objects and such if(rotting) if(istype(W, /obj/item/weapon/weldingtool) ) @@ -370,7 +354,7 @@ to_chat(user, "You begin slicing through the outer plating.") playsound(src, 'sound/items/Welder.ogg', 100, 1) - if(do_after(user, mineral == "diamond" ? 120 : 60, target = src)) + if(do_after(user, istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) ? 120 : 60, target = src)) to_chat(user, "You remove the outer plating.") dismantle_wall() visible_message("[user] slices apart \the [src]!","You hear metal being sliced apart.") @@ -380,7 +364,7 @@ to_chat(user, "You begin to drill though the wall.") - if(do_after(user, mineral == "diamond" ? 120 : 60, target = src)) + if(do_after(user, istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) ? 120 : 60, target = src)) to_chat(user, "Your drill tears though the last of the reinforced plating.") dismantle_wall() visible_message("[user] drills through \the [src]!","You hear the grinding of metal.") @@ -389,7 +373,7 @@ to_chat(user, "You begin to disintegrates the wall.") - if(do_after(user, mineral == "diamond" ? 60 : 30, target = src)) + if(do_after(user, istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) ? 60 : 30, target = src)) to_chat(user, "Your jackhammer disintegrate the reinforced plating.") dismantle_wall() visible_message("[user] disintegrates \the [src]!","You hear the grinding of metal.") @@ -401,7 +385,7 @@ to_chat(user, "You stab \the [EB] into the wall and begin to slice it apart.") playsound(src, "sparks", 50, 1) - if(do_after(user, mineral == "diamond" ? 140 : 70, target = src)) + if(do_after(user, istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) ? 140 : 70, target = src)) EB.spark_system.start() playsound(src, "sparks", 50, 1) playsound(src, 'sound/weapons/blade1.ogg', 50, 1) diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index f0d5b52843f..914cb8973c8 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -12,10 +12,7 @@ desc = "A wall with gold plating. Swag!" icon = 'icons/turf/walls/gold_wall.dmi' icon_state = "gold" - walltype = "gold" - mineral = "gold" - //var/electro = 1 - //var/shocked = null + sheet_type = /obj/item/stack/sheet/mineral/gold explosion_block = 0 //gold is a soft metal you dingus. canSmoothWith = list(/turf/simulated/wall/mineral/gold, /obj/structure/falsewall/gold) @@ -24,10 +21,7 @@ desc = "A wall with silver plating. Shiny!" icon = 'icons/turf/walls/silver_wall.dmi' icon_state = "silver" - walltype = "silver" - mineral = "silver" - //var/electro = 0.75 - //var/shocked = null + sheet_type = /obj/item/stack/sheet/mineral/silver canSmoothWith = list(/turf/simulated/wall/mineral/silver, /obj/structure/falsewall/silver) /turf/simulated/wall/mineral/diamond @@ -35,8 +29,7 @@ desc = "A wall with diamond plating. You monster." icon = 'icons/turf/walls/diamond_wall.dmi' icon_state = "diamond" - walltype = "diamond" - mineral = "diamond" + sheet_type = /obj/item/stack/sheet/mineral/diamond explosion_block = 3 canSmoothWith = list(/turf/simulated/wall/mineral/diamond, /obj/structure/falsewall/diamond) @@ -45,8 +38,7 @@ desc = "A wall with bananium plating. Honk!" icon = 'icons/turf/walls/bananium_wall.dmi' icon_state = "bananium" - walltype = "bananium" - mineral = "bananium" + sheet_type = /obj/item/stack/sheet/mineral/bananium canSmoothWith = list(/turf/simulated/wall/mineral/bananium, /obj/structure/falsewall/bananium) /turf/simulated/wall/mineral/sandstone @@ -54,8 +46,7 @@ desc = "A wall with sandstone plating." icon = 'icons/turf/walls/sandstone_wall.dmi' icon_state = "sandstone" - walltype = "sandstone" - mineral = "sandstone" + sheet_type = /obj/item/stack/sheet/mineral/sandstone explosion_block = 0 canSmoothWith = list(/turf/simulated/wall/mineral/sandstone, /obj/structure/falsewall/sandstone) @@ -64,8 +55,7 @@ desc = "A wall with uranium plating. This is probably a bad idea." icon = 'icons/turf/walls/uranium_wall.dmi' icon_state = "uranium" - walltype = "uranium" - mineral = "uranium" + sheet_type = /obj/item/stack/sheet/mineral/uranium canSmoothWith = list(/turf/simulated/wall/mineral/uranium, /obj/structure/falsewall/uranium) /turf/simulated/wall/mineral/uranium/proc/radiate() @@ -98,15 +88,14 @@ desc = "A wall with plasma plating. This is definately a bad idea." icon = 'icons/turf/walls/plasma_wall.dmi' icon_state = "plasma" - walltype = "plasma" - mineral = "plasma" + sheet_type = /obj/item/stack/sheet/mineral/plasma thermal_conductivity = 0.04 canSmoothWith = list(/turf/simulated/wall/mineral/plasma, /obj/structure/falsewall/plasma) /turf/simulated/wall/mineral/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob) if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite - message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x],[y],[z] - JMP)",0,1) - log_game("Plasma wall ignited by [key_name(user)] in ([x],[y],[z])") + message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)",0,1) + log_game("Plasma wall ignited by [key_name(user)] in ([x], [y], [z])") ignite(is_hot(W)) return ..() @@ -132,29 +121,12 @@ PlasmaBurn(500) ..() -/* -/turf/simulated/wall/mineral/proc/shock() - if(electrocute_mob(user, C, src)) - var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - return 1 - else - return 0 - -/turf/simulated/wall/mineral/proc/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if((mineral == "gold") || (mineral == "silver")) - if(shocked) - shock() -*/ - /turf/simulated/wall/mineral/alien name = "alien wall" desc = "A strange-looking alien wall." icon = 'icons/turf/walls/plasma_wall.dmi' icon_state = "plasma" - walltype = "alien" - mineral = "alien" + sheet_type = null canSmoothWith = list(/turf/simulated/wall/mineral/alien, /obj/structure/falsewall/alien) /turf/simulated/wall/mineral/wood @@ -162,8 +134,7 @@ desc = "A wall with wooden plating. Stiff." icon = 'icons/turf/walls/wood_wall.dmi' icon_state = "wood" - walltype = "wood" - mineral = "wood" + sheet_type = /obj/item/stack/sheet/wood hardness = 70 explosion_block = 0 canSmoothWith = list(/turf/simulated/wall/mineral/wood, /obj/structure/falsewall/wood) @@ -173,8 +144,7 @@ desc = "A wall with rough metal plating." icon = 'icons/turf/walls/iron_wall.dmi' icon_state = "iron" - walltype = "iron" - mineral = "rods" + sheet_type = /obj/item/stack/rods canSmoothWith = list(/turf/simulated/wall/mineral/iron, /obj/structure/falsewall/iron) /turf/simulated/wall/mineral/abductor @@ -182,7 +152,6 @@ desc = "A wall with alien alloy plating." icon = 'icons/turf/walls/abductor_wall.dmi' icon_state = "abductor" - walltype = "abductor" - mineral = "abductor" + sheet_type = /obj/item/stack/sheet/mineral/abductor explosion_block = 3 canSmoothWith = list(/turf/simulated/wall/mineral/abductor, /obj/structure/falsewall/abductor) \ No newline at end of file diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm index 576ac6f993e..7a0abcd2d0e 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -3,7 +3,7 @@ desc = "The patterns engraved on the wall seem to shift as you try to focus on them. You feel sick" icon = 'icons/turf/walls/cult_wall.dmi' icon_state = "cult" - walltype = "cult" + builtin_sheet = null canSmoothWith = null /turf/simulated/wall/cult/narsie_act() @@ -14,14 +14,12 @@ desc = "A rusted metal wall." icon = 'icons/turf/walls/rusty_wall.dmi' icon_state = "arust" - walltype = "arust" /turf/simulated/wall/r_wall/rust name = "rusted reinforced wall" desc = "A huge chunk of rusted reinforced metal." icon = 'icons/turf/walls/rusty_reinforced_wall.dmi' icon_state = "rrust" - walltype = "rrust" /turf/simulated/wall/r_wall/coated //Coated for heat resistance name = "coated reinforced wall" diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 7c6c750c70e..1dbda894c52 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -9,7 +9,7 @@ damage_cap = 200 max_temperature = 6000 hardness = 10 - walltype = "rwall" + sheet_type = /obj/item/stack/sheet/plasteel var/d_state = 0 var/can_be_reinforced = 1 diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 1b1e4755e9b..9e4f7289532 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -344,7 +344,6 @@ desc = "An easily-compressable wall used for temporary shelter." icon = 'icons/turf/walls/survival_pod_walls.dmi' icon_state = "smooth" - walltype = "shuttle" smooth = SMOOTH_MORE // To Do: Add in Diagnaol Smooth Support canSmoothWith = list(/turf/simulated/wall/survival, /obj/machinery/door/airlock/survival_pod) diff --git a/code/modules/mob/living/simple_animal/hostile/spaceworms.dm b/code/modules/mob/living/simple_animal/hostile/spaceworms.dm index c59cdf0570a..64469bb87ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/spaceworms.dm +++ b/code/modules/mob/living/simple_animal/hostile/spaceworms.dm @@ -154,7 +154,7 @@ if(istype(noms, /turf/simulated/wall)) W = noms nomDelay *= 2 - if(W.walltype == "rwall") + if(istype(W, /turf/simulated/wall/r_wall)) nomDelay *= 2 else return From 7173a8fe9fe3204c9f9f74ea9258f336148d15f2 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 17:21:23 +0200 Subject: [PATCH 29/48] Fix aliens double attacking, tank examining and ATM security level 0 interaction --- .../game/objects/items/weapons/tanks/tanks.dm | 9 +- code/modules/economy/ATM.dm | 92 ++++++++++--------- .../living/carbon/alien/humanoid/humanoid.dm | 64 ------------- 3 files changed, 52 insertions(+), 113 deletions(-) diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index d498109b2dd..87e8d52db54 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -78,13 +78,12 @@ /obj/item/weapon/tank/examine(mob/user) + if(!..(user, 0)) + return + var/obj/icon = src if(istype(loc, /obj/item/assembly)) icon = loc - if(!in_range(src, user)) - if(icon == src) - to_chat(user, "It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer.") - return var/celsius_temperature = air_contents.temperature-T0C var/descriptive @@ -102,7 +101,7 @@ else descriptive = "furiously hot" - to_chat(user, "\blue \The [bicon(icon)][src] feels [descriptive]") + to_chat(user, "\The [bicon(icon)][src] feels [descriptive]") return diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index caca591b90b..b583c04702f 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -123,8 +123,6 @@ log transactions to_chat(user, "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per Nanotrasen regulation #1005.") return if(get_dist(src,user) <= 1) - //check to see if the user has low security enabled - scan_user(user) add_fingerprint(user) //js replicated from obj/machinery/computer/card @@ -252,55 +250,59 @@ log transactions var/new_sec_level = max( min(text2num(href_list["new_security_level"]), 2), 0) authenticated_account.security_level = new_sec_level if("attempt_auth") - if(linked_db && !ticks_left_locked_down) - var/tried_account_num = text2num(href_list["account_num"]) - if(!tried_account_num) - tried_account_num = held_card.associated_account_number - var/tried_pin = text2num(href_list["account_pin"]) + if(linked_db) + // check if they have low security enabled + scan_user(usr) + + if(!ticks_left_locked_down && held_card) + var/tried_account_num = text2num(href_list["account_num"]) + if(!tried_account_num) + tried_account_num = held_card.associated_account_number + var/tried_pin = text2num(href_list["account_pin"]) - authenticated_account = attempt_account_access(tried_account_num, tried_pin, held_card && held_card.associated_account_number == tried_account_num ? 2 : 1) - if(!authenticated_account) - number_incorrect_tries++ - if(previous_account_number == tried_account_num) - if(number_incorrect_tries > max_pin_attempts) - //lock down the atm - ticks_left_locked_down = 30 - playsound(src, 'sound/machines/buzz-two.ogg', 50, 1) + authenticated_account = attempt_account_access(tried_account_num, tried_pin, held_card && held_card.associated_account_number == tried_account_num ? 2 : 1) + if(!authenticated_account) + number_incorrect_tries++ + if(previous_account_number == tried_account_num) + if(number_incorrect_tries > max_pin_attempts) + //lock down the atm + ticks_left_locked_down = 30 + playsound(src, 'sound/machines/buzz-two.ogg', 50, 1) - //create an entry in the account transaction log - var/datum/money_account/failed_account = linked_db.get_account(tried_account_num) - if(failed_account) - var/datum/transaction/T = new() - T.target_name = failed_account.owner_name - T.purpose = "Unauthorised login attempt" - T.source_terminal = machine_id - T.date = current_date_string - T.time = worldtime2text() - failed_account.transaction_log.Add(T) + //create an entry in the account transaction log + var/datum/money_account/failed_account = linked_db.get_account(tried_account_num) + if(failed_account) + var/datum/transaction/T = new() + T.target_name = failed_account.owner_name + T.purpose = "Unauthorised login attempt" + T.source_terminal = machine_id + T.date = current_date_string + T.time = worldtime2text() + failed_account.transaction_log.Add(T) + else + to_chat(usr, "\red [bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.") + previous_account_number = tried_account_num + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) else - to_chat(usr, "\red [bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.") - previous_account_number = tried_account_num - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) + to_chat(usr, "\red [bicon(src)] incorrect pin/account combination entered.") + number_incorrect_tries = 0 else - to_chat(usr, "\red [bicon(src)] incorrect pin/account combination entered.") - number_incorrect_tries = 0 - else - playsound(src, 'sound/machines/twobeep.ogg', 50, 1) - ticks_left_timeout = 120 - view_screen = NO_SCREEN + playsound(src, 'sound/machines/twobeep.ogg', 50, 1) + ticks_left_timeout = 120 + view_screen = NO_SCREEN - //create a transaction log entry - var/datum/transaction/T = new() - T.target_name = authenticated_account.owner_name - T.purpose = "Remote terminal access" - T.source_terminal = machine_id - T.date = current_date_string - T.time = worldtime2text() - authenticated_account.transaction_log.Add(T) + //create a transaction log entry + var/datum/transaction/T = new() + T.target_name = authenticated_account.owner_name + T.purpose = "Remote terminal access" + T.source_terminal = machine_id + T.date = current_date_string + T.time = worldtime2text() + authenticated_account.transaction_log.Add(T) - to_chat(usr, "\blue [bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].'") + to_chat(usr, "\blue [bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].'") - previous_account_number = tried_account_num + previous_account_number = tried_account_num if("withdrawal") var/amount = max(text2num(href_list["funds_amount"]),0) if(amount <= 0) @@ -404,3 +406,5 @@ log transactions T.date = current_date_string T.time = worldtime2text() authenticated_account.transaction_log.Add(T) + + view_screen = NO_SCREEN diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 5692c99e9be..876cae4b312 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -243,70 +243,6 @@ visible_message("[M] has attempted to disarm [src]!") return -/*Code for aliens attacking aliens. Because aliens act on a hivemind, I don't see them as very aggressive with each other. -As such, they can either help or harm other aliens. Help works like the human help command while harm is a simple nibble. -In all, this is a lot like the monkey code. /N -*/ - -/mob/living/carbon/alien/humanoid/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - - ..() - - switch(M.a_intent) - - if(I_HELP) - sleeping = max(0,sleeping-5) - resting = 0 - AdjustParalysis(-3) - AdjustStunned(-3) - AdjustWeakened(-3) - visible_message("[M.name] nuzzles [src] trying to wake it up!") - - else - if(health > 0) - M.do_attack_animation(src) - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - var/damage = rand(1, 3) - visible_message("[M.name] bites [src]!!", \ - "[M.name] bites [src]!!") - - adjustBruteLoss(damage) - updatehealth() - else - to_chat(M, "[name] is too injured for that.") - return - - -/mob/living/carbon/alien/humanoid/attack_larva(mob/living/carbon/alien/larva/L as mob) - - switch(L.a_intent) - if(I_HELP) - visible_message("[L] rubs its head against [src].") - - - else - if(health > 0) - L.do_attack_animation(src) - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - var/damage = rand(1, 3) - visible_message("[L.name] bites [src]!!", \ - "[L.name] bites [src]!!") - - adjustBruteLoss(damage) - updatehealth() - else - to_chat(L, "[name] is too injured for that.") - return - - - /mob/living/carbon/alien/humanoid/restrained() if(handcuffed) return 1 From 1a307cd8c9fd8c04b2fa085293e6ee01d81ef383 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 17:51:38 +0200 Subject: [PATCH 30/48] Identity theft objective set fix, tank examine fix, proccall null return fix --- code/datums/mind.dm | 2 +- code/game/objects/items/weapons/tanks/tanks.dm | 5 +++++ code/modules/admin/verbs/debug.dm | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index b21cd769fb1..50595bb23a6 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -589,7 +589,7 @@ var/list/possible_targets = list("Free objective") for(var/datum/mind/possible_target in ticker.minds) if((possible_target != src) && istype(possible_target.current, /mob/living/carbon/human)) - possible_targets += possible_target.current + possible_targets += possible_target var/new_target = input("Select target:", "Objective target") as null|anything in possible_targets if(!new_target) diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 87e8d52db54..ae28bd61d17 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -84,6 +84,11 @@ var/obj/icon = src if(istype(loc, /obj/item/assembly)) icon = loc + + if(!in_range(src, user)) + if(icon == src) + to_chat(user, "It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer.") + return var/celsius_temperature = air_contents.temperature-T0C var/descriptive diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 227188b2209..37ff565f4a3 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -92,7 +92,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that log_admin("[key_name(src)] called [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]") returnval = call(procname)(arglist(lst)) // Pass the lst as an argument list to the proc - to_chat(usr, "[procname] returned: [returnval ? returnval : "null"]") + to_chat(usr, "[procname] returned: [!isnull(returnval) ? returnval : "null"]") feedback_add_details("admin_verb","APC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/callproc_datum(var/A as null|area|mob|obj|turf) @@ -122,7 +122,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that spawn() var/returnval = call(A,procname)(arglist(lst)) // Pass the lst as an argument list to the proc - to_chat(usr, "[procname] returned: [returnval ? returnval : "null"]") + to_chat(usr, "[procname] returned: [!isnull(returnval) ? returnval : "null"]") feedback_add_details("admin_verb","DPC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! From 010fa7d60f17c4bd7c45cdac542865e5bbb07531 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 17:51:55 +0200 Subject: [PATCH 31/48] Alien attack and organ fixes --- code/modules/mob/living/carbon/alien/alien.dm | 8 ++-- .../mob/living/carbon/alien/alien_defenses.dm | 9 ++--- .../carbon/alien/humanoid/caste/drone.dm | 6 +-- .../carbon/alien/humanoid/caste/hunter.dm | 2 +- .../carbon/alien/humanoid/caste/sentinel.dm | 6 +-- .../living/carbon/alien/humanoid/empress.dm | 10 ++--- .../mob/living/carbon/alien/humanoid/queen.dm | 10 ++--- .../mob/living/carbon/alien/larva/larva.dm | 37 +------------------ 8 files changed, 26 insertions(+), 62 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 6797744fbf6..9e91abdd3e4 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -27,13 +27,15 @@ var/heat_protection = 0.5 var/leaping = 0 ventcrawler = 2 + + var/list/alien_organs = list() /mob/living/carbon/alien/New() verbs += /mob/living/verb/mob_sleep verbs += /mob/living/verb/lay_down - internal_organs += new /obj/item/organ/internal/brain/xeno - internal_organs += new /obj/item/organ/internal/xenos/hivenode - for(var/obj/item/organ/internal/I in internal_organs) + alien_organs += new /obj/item/organ/internal/brain/xeno + alien_organs += new /obj/item/organ/internal/xenos/hivenode + for(var/obj/item/organ/internal/I in alien_organs) I.insert(src) ..() diff --git a/code/modules/mob/living/carbon/alien/alien_defenses.dm b/code/modules/mob/living/carbon/alien/alien_defenses.dm index 220b61e28d8..3949948b0f3 100644 --- a/code/modules/mob/living/carbon/alien/alien_defenses.dm +++ b/code/modules/mob/living/carbon/alien/alien_defenses.dm @@ -15,7 +15,6 @@ In all, this is a lot like the monkey code. /N return switch(M.a_intent) - if(I_HELP) sleeping = max(0,sleeping-5) resting = 0 @@ -25,11 +24,12 @@ In all, this is a lot like the monkey code. /N visible_message("[M.name] nuzzles [src] trying to wake it up!") if(I_GRAB) - src.grabbedby(M) + grabbedby(M) return 1 else if(health > 0) + M.do_attack_animation(src) playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) var/damage = 1 visible_message("[M.name] bites [src]!", \ @@ -39,13 +39,10 @@ In all, this is a lot like the monkey code. /N updatehealth() else to_chat(M, "[name] is too injured for that.") - return - /mob/living/carbon/alien/attack_larva(mob/living/carbon/alien/larva/L as mob) return attack_alien(L) - /mob/living/carbon/alien/attack_hand(mob/living/carbon/human/M as mob) if(..()) //to allow surgery to return properly. return 0 @@ -56,7 +53,7 @@ In all, this is a lot like the monkey code. /N if(I_HELP) help_shake_act(M) if(I_GRAB) - src.grabbedby(M) + grabbedby(M) if(I_HARM, I_DISARM) return 1 return 0 diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm index e45fa198006..958742b3e61 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm @@ -12,9 +12,9 @@ if(src.name == "alien drone") src.name = text("alien drone ([rand(1, 1000)])") src.real_name = src.name - internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/drone - internal_organs += new /obj/item/organ/internal/xenos/acidgland - internal_organs += new /obj/item/organ/internal/xenos/resinspinner + alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/drone + alien_organs += new /obj/item/organ/internal/xenos/acidgland + alien_organs += new /obj/item/organ/internal/xenos/resinspinner ..() //Drones use the same base as generic humanoids. diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index 60a1e5daa5f..60a7e4e2f1a 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -12,7 +12,7 @@ if(name == "alien hunter") name = text("alien hunter ([rand(1, 1000)])") real_name = name - internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/hunter + alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/hunter ..() /mob/living/carbon/alien/humanoid/hunter/handle_regular_hud_updates() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm index d93fb0a835c..186577a1908 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm @@ -41,9 +41,9 @@ if(name == "alien sentinel") name = text("alien sentinel ([rand(1, 1000)])") real_name = name - internal_organs += new /obj/item/organ/internal/xenos/plasmavessel - internal_organs += new /obj/item/organ/internal/xenos/acidgland - internal_organs += new /obj/item/organ/internal/xenos/neurotoxin + alien_organs += new /obj/item/organ/internal/xenos/plasmavessel + alien_organs += new /obj/item/organ/internal/xenos/acidgland + alien_organs += new /obj/item/organ/internal/xenos/neurotoxin ..() /mob/living/carbon/alien/humanoid/sentinel/handle_regular_hud_updates() diff --git a/code/modules/mob/living/carbon/alien/humanoid/empress.dm b/code/modules/mob/living/carbon/alien/humanoid/empress.dm index b49bc8c1ad1..346247c8e10 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/empress.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/empress.dm @@ -44,11 +44,11 @@ break real_name = src.name - internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen - internal_organs += new /obj/item/organ/internal/xenos/acidgland - internal_organs += new /obj/item/organ/internal/xenos/eggsac - internal_organs += new /obj/item/organ/internal/xenos/resinspinner - internal_organs += new /obj/item/organ/internal/xenos/neurotoxin + alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen + alien_organs += new /obj/item/organ/internal/xenos/acidgland + alien_organs += new /obj/item/organ/internal/xenos/eggsac + alien_organs += new /obj/item/organ/internal/xenos/resinspinner + alien_organs += new /obj/item/organ/internal/xenos/neurotoxin ..() /mob/living/carbon/alien/humanoid/empress diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index daba3852764..0fcec18e8ad 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -23,11 +23,11 @@ break real_name = src.name - internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen - internal_organs += new /obj/item/organ/internal/xenos/acidgland - internal_organs += new /obj/item/organ/internal/xenos/eggsac - internal_organs += new /obj/item/organ/internal/xenos/resinspinner - internal_organs += new /obj/item/organ/internal/xenos/neurotoxin + alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen + alien_organs += new /obj/item/organ/internal/xenos/acidgland + alien_organs += new /obj/item/organ/internal/xenos/eggsac + alien_organs += new /obj/item/organ/internal/xenos/resinspinner + alien_organs += new /obj/item/organ/internal/xenos/neurotoxin ..() diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index eb5522cafac..8e9e0dea576 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -24,7 +24,7 @@ regenerate_icons() add_language("Xenomorph") add_language("Hivemind") - internal_organs += new /obj/item/organ/internal/xenos/plasmavessel/larva + alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/larva ..() @@ -190,41 +190,6 @@ playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) visible_message("[M] has attempted to kick [src]!", \ "[M] has attempted to kick [src]!") - return - -/mob/living/carbon/alien/larva/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(!ticker) - to_chat(M, "You cannot attack people before the game has started.") - return - - if(istype(loc, /turf) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return - - ..() - - switch(M.a_intent) - - if(I_HELP) - sleeping = max(0,sleeping-5) - resting = 0 - AdjustParalysis(-3) - AdjustStunned(-3) - AdjustWeakened(-3) - visible_message("[M.name] nuzzles [src] trying to wake it up!") - - else - if(health > 0) - M.do_attack_animation(src) - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - var/damage = 1 - visible_message("[M.name] bites [src]!", \ - "[M.name] bites [src]!") - adjustBruteLoss(damage) - updatehealth() - else - to_chat(M, "[name] is too injured for that.") - return /mob/living/carbon/alien/larva/restrained() return 0 From 4858136ca1a2625cbda1c2fbe2346f381349c9ce Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 17:59:47 +0200 Subject: [PATCH 32/48] Cult wall fix --- code/game/turfs/simulated/walls_misc.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm index 7a0abcd2d0e..def35564327 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -8,6 +8,14 @@ /turf/simulated/wall/cult/narsie_act() return + +/turf/simulated/wall/cult/break_wall() + new /obj/effect/decal/cleanable/blood(src) + return (new /obj/structure/cultgirder(src)) + +/turf/simulated/wall/cult/devastate_wall() + new /obj/effect/decal/cleanable/blood(src) + new /obj/effect/decal/remains/human(src) /turf/simulated/wall/rust name = "rusted wall" From 3acde653d296301e6a00d7d4c8e3f35dcd4b745e Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 18:04:00 +0200 Subject: [PATCH 33/48] Fix cult girder layer --- code/game/objects/structures/girders.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 9bca4dc0a75..643728dd6cb 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -231,7 +231,6 @@ icon_state= "cultgirder" anchored = 1 density = 1 - layer = 2 var/health = 250 /obj/structure/cultgirder/attackby(obj/item/W as obj, mob/user as mob, params) From 16adf62319702f3820bd85379ada2300238d8cfa Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Oct 2016 23:11:13 +0200 Subject: [PATCH 34/48] Fix wildwest wall --- _maps/map_files/RandomZLevels/wildwest.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/RandomZLevels/wildwest.dmm b/_maps/map_files/RandomZLevels/wildwest.dmm index ae596b4b18b..113bf83c346 100644 --- a/_maps/map_files/RandomZLevels/wildwest.dmm +++ b/_maps/map_files/RandomZLevels/wildwest.dmm @@ -255,7 +255,7 @@ "eU" = (/obj/effect/landmark/corpse/doctor{mobname = "Doctor Mugabee"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines) "eV" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines) "eW" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine) -"eX" = (/turf/simulated/wall/mineral{icon_state = "sandstone0"; mineral = "sandstone"; tag = "icon-sandstone0"; walltype = "sandstone"},/area/awaymission/wwmines) +"eX" = (/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines) "eY" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines) "eZ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine) "fa" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines) From 1f26c670318a285248d0da230b54452ef30a5ca8 Mon Sep 17 00:00:00 2001 From: Scriblon Date: Sat, 22 Oct 2016 15:25:44 +0200 Subject: [PATCH 35/48] Scrubbers now respect air alarm settings. Scrubbers only worked when there was CO2, Toxins, or trace gasses in the atmosphere, ignoring settings on the Air Alarm. This commit fixes that and makes the scrubber respect the settings. --- code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index 8570977d617..244e9c26aa3 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -213,7 +213,7 @@ var/datum/gas_mixture/environment = tile.return_air() if(scrubbing) - if((environment.toxins>0.001) || (environment.carbon_dioxide>0.001) || (environment.trace_gases.len>0)) + if((scrub_O2 && environment.oxygen>0.001) || (scrub_N2 && environment.nitrogen>0.001) || (scrub_CO2 && environment.carbon_dioxide>0.001) || (scrub_Toxins && environment.toxins>0.001) || (environment.trace_gases.len>0)) var/transfer_moles = min(1, volume_rate/environment.volume)*environment.total_moles() //Take a gas sample From 9815f9e2c6d29eced610e571158634e25f0dc5e3 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 22 Oct 2016 20:51:49 +0200 Subject: [PATCH 36/48] Pressure limit on disposal units --- code/modules/recycling/disposal.dm | 10 +++++----- nano/templates/disposal_bin.tmpl | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 85657dd2b5b..232d2a9b3c5 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -255,20 +255,20 @@ /obj/machinery/disposal/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] - var/pressure = 100 * air_contents.return_pressure() / (SEND_PRESSURE) + var/pressure = Clamp(100* air_contents.return_pressure() / (SEND_PRESSURE), 0, 100) var/pressure_round = round(pressure,1) data["isAI"] = isAI(user) data["flushing"] = flush data["mode"] = mode if(mode <= 0) - data["pumpstatus"] = "" + data["pumpstatus"] = "N/A" else if(mode == 1) - data["pumpstatus"] = "(pressurizing)" + data["pumpstatus"] = "Pressurizing" else if(mode == 2) - data["pumpstatus"] = "(ready)" + data["pumpstatus"] = "Ready" else - data["pumpstatus"] = "(idle)" + data["pumpstatus"] = "Idle" data["pressure"] = pressure_round ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) diff --git a/nano/templates/disposal_bin.tmpl b/nano/templates/disposal_bin.tmpl index c68389a95cb..d211b3fbb17 100644 --- a/nano/templates/disposal_bin.tmpl +++ b/nano/templates/disposal_bin.tmpl @@ -31,6 +31,13 @@ Used In File(s): \code\modules\recycling\disposal.dm
    {{:helper.link('On', 'gear', {'pump' : 1}, data.mode > 0 ? 'selected' : '')}} {{:helper.link('Off', 'gear', {'pump' : 0}, data.mode <= 0 ? 'selected' : '')}} +
    +
+
+
+ Pump Status: +
+
{{:data.pumpstatus}}
From db8d5ce158859555e9e60e10d03d40bbe4c52f85 Mon Sep 17 00:00:00 2001 From: Scriblon Date: Sat, 22 Oct 2016 21:05:40 +0200 Subject: [PATCH 37/48] Fix pAI Atmosphere Sensor The problem was that in the old code, data["pressure"] was stored as a String to round it. While NanoUI was programmed to use helper.smoothRound() on that again which didn't like the String Object pressure became. As all data is integers and rouned in the UI, the fix chosen is to make data["pressure"] a number again. --- code/modules/mob/living/silicon/pai/software_modules.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index dfa79a0d0d1..104c2746d16 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -547,8 +547,7 @@ else var/datum/gas_mixture/env = T.return_air() data["reading"] = 1 - var/pres = env.return_pressure() * 10 - data["pressure"] = "[round(pres/10)].[pres%10]" + data["pressure"] = env.return_pressure() data["temperature"] = round(env.temperature) data["temperatureC"] = round(env.temperature-T0C) From 199f6d91f18aa6e01d72d9f05d8ba0d36307ebcd Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 23 Oct 2016 02:24:53 +0200 Subject: [PATCH 38/48] Fix sans HTML parsing --- code/modules/mob/living/carbon/human/say.dm | 2 +- code/modules/mob/living/say.dm | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 72e6ff63314..26ca4af83e8 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -142,7 +142,7 @@ message = uppertext(message) verb = "yells loudly" - if(locate(/obj/item/organ/internal/cyberimp/brain/clown_voice) in internal_organs) + if((COMIC in mutations) || (locate(/obj/item/organ/internal/cyberimp/brain/clown_voice) in internal_organs)) message = "[message]" returns[1] = message diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 2f44caf161a..3987b709e3e 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -80,9 +80,6 @@ proc/get_radio_key_from_channel(var/channel) verb = "stammers" speech_problem_flag = 1 - if(COMIC in mutations) - message = "[message]" - if(!IsVocal()) message = "" speech_problem_flag = 1 From 5af07cda34fe7d27d77ff33fd18f5bd91f89e8c4 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 23 Oct 2016 02:58:44 +0200 Subject: [PATCH 39/48] Fix chem dispenser spacing issue --- nano/templates/chem_dispenser.tmpl | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/nano/templates/chem_dispenser.tmpl b/nano/templates/chem_dispenser.tmpl index cec3028652e..5c13f8a72a1 100644 --- a/nano/templates/chem_dispenser.tmpl +++ b/nano/templates/chem_dispenser.tmpl @@ -89,13 +89,7 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm {{/for}} {{else}} - No - {{if data.glass}} - Glass - {{else}} - Beaker - {{/if}} - loaded + No {{if data.glass}}Glass{{else}}Beaker{{/if}} loaded {{/if}}
From ac8f14a1316c59cd6ba886bfb3a97e398c15a9bf Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 23 Oct 2016 03:06:53 +0200 Subject: [PATCH 40/48] Fix second spacing issue in chem dispenser --- nano/templates/chem_dispenser.tmpl | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/nano/templates/chem_dispenser.tmpl b/nano/templates/chem_dispenser.tmpl index 5c13f8a72a1..f8988e35e43 100644 --- a/nano/templates/chem_dispenser.tmpl +++ b/nano/templates/chem_dispenser.tmpl @@ -78,13 +78,7 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm
{{empty}} - - {{if data.glass}} - Glass - {{else}} - Beaker - {{/if}} - is empty + {{if data.glass}}Glass{{else}}Beaker{{/if}} is empty {{/for}} {{else}} From 79be3ca8cfd06a56739d7b36cc095283d64fc345 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 23 Oct 2016 15:18:42 +0200 Subject: [PATCH 41/48] Fix up a number of ID checks --- code/defines/procs/announce.dm | 26 +-- code/game/jobs/access.dm | 1 - .../game/machinery/computer/communications.dm | 63 ++++--- .../machinery/doors/airlock_electronics.dm | 171 +++++++++--------- .../objects/items/weapons/storage/lockbox.dm | 104 ++++++----- .../computer3/computers/communications.dm | 13 +- code/modules/mob/living/carbon/human/human.dm | 19 +- .../modules/mob/living/silicon/robot/robot.dm | 38 ++-- .../security_levels/keycard authentication.dm | 36 ++-- nano/templates/keycard_auth.tmpl | 2 +- 10 files changed, 238 insertions(+), 235 deletions(-) diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index c147bd9235c..62774ad61a7 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -60,7 +60,7 @@ Sound(message_sound) Log(message, message_title) -datum/announcement/proc/Message(message as text, message_title as text) +/datum/announcement/proc/Message(message as text, message_title as text) for(var/mob/M in player_list) if(!istype(M,/mob/new_player) && !isdeaf(M)) to_chat(M, "

[title]

") @@ -72,14 +72,14 @@ datum/announcement/proc/Message(message as text, message_title as text) to_chat(world, "[message_title]") to_chat(world, "[message]") -datum/announcement/priority/Message(message as text, message_title as text) +/datum/announcement/priority/Message(message as text, message_title as text) to_chat(world, "

[message_title]

") to_chat(world, "[message]") if(announcer) to_chat(world, " -[html_encode(announcer)]") to_chat(world, "
") -datum/announcement/priority/command/Message(message as text, message_title as text) +/datum/announcement/priority/command/Message(message as text, message_title as text) var/command command += "

[command_name()] Update

" if(message_title) @@ -91,7 +91,7 @@ datum/announcement/priority/command/Message(message as text, message_title as te if(!istype(M,/mob/new_player) && !isdeaf(M)) to_chat(M, command) -datum/announcement/priority/enemy/Message(message as text, message_title as text, from as text) +/datum/announcement/priority/enemy/Message(message as text, message_title as text, from as text) var/command command += "

[from]

" if(message_title) @@ -103,11 +103,11 @@ datum/announcement/priority/enemy/Message(message as text, message_title as text if(!istype(M,/mob/new_player) && !isdeaf(M)) to_chat(M, command) -datum/announcement/priority/security/Message(message as text, message_title as text) +/datum/announcement/priority/security/Message(message as text, message_title as text) to_chat(world, "[message_title]") to_chat(world, "[message]") -datum/announcement/proc/NewsCast(message as text, message_title as text) +/datum/announcement/proc/NewsCast(message as text, message_title as text) if(disable_newscasts) return if(!newscast) @@ -121,28 +121,28 @@ datum/announcement/proc/NewsCast(message as text, message_title as text) news.can_be_redacted = 0 announce_newscaster_news(news) -datum/announcement/proc/PlaySound(var/message_sound) +/datum/announcement/proc/PlaySound(var/message_sound) if(!message_sound) return for(var/mob/M in player_list) if(!istype(M,/mob/new_player) && !isdeaf(M)) M << message_sound -datum/announcement/proc/Sound(var/message_sound) +/datum/announcement/proc/Sound(var/message_sound) PlaySound(message_sound) -datum/announcement/priority/Sound(var/message_sound) +/datum/announcement/priority/Sound(var/message_sound) if(sound) world << sound -datum/announcement/priority/command/Sound(var/message_sound) +/datum/announcement/priority/command/Sound(var/message_sound) PlaySound(message_sound) -datum/announcement/proc/Log(message as text, message_title as text) +/datum/announcement/proc/Log(message as text, message_title as text) if(log) log_say("[key_name(usr)] has made \a [announcement_type]: [message_title] - [message] - [announcer]") message_admins("[key_name_admin(usr)] has made \a [announcement_type].", 1) - + /proc/GetNameAndAssignmentFromId(var/obj/item/weapon/card/id/I) // Format currently matches that of newscaster feeds: Registered Name (Assigned Rank) - return I.assignment ? "[I.registered_name] ([I.assignment])" : I.registered_name + return I.assignment ? "[I.registered_name] ([I.assignment])" : I.registered_name \ No newline at end of file diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 8c139dabdbd..58d041b9442 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -129,7 +129,6 @@ var/const/access_trade_sol = 160 return 0 - /obj/item/proc/GetAccess() return list() diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 7c77ca6099f..01608efedcb 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -1,9 +1,12 @@ - #define COMM_SCREEN_MAIN 1 #define COMM_SCREEN_STAT 2 #define COMM_SCREEN_MESSAGES 3 #define COMM_SCREEN_SECLEVEL 4 +#define COMM_AUTHENTICATION_NONE 0 +#define COMM_AUTHENTICATION_MIN 1 +#define COMM_AUTHENTICATION_MAX 2 + // The communications computer /obj/machinery/computer/communications name = "communications console" @@ -13,7 +16,7 @@ req_access = list(access_heads) circuit = /obj/item/weapon/circuitboard/communications var/prints_intercept = 1 - var/authenticated = 0 + var/authenticated = COMM_AUTHENTICATION_NONE var/list/messagetitle = list() var/list/messagetext = list() var/currmsg = 0 @@ -39,16 +42,16 @@ crew_announcement.newscast = 1 /obj/machinery/computer/communications/proc/is_authenticated(var/mob/user, var/message = 1) - if(authenticated == 2) - return 2 + if(authenticated == COMM_AUTHENTICATION_MAX) + return COMM_AUTHENTICATION_MAX else if(user.can_admin_interact()) - return 2 + return COMM_AUTHENTICATION_MAX else if(authenticated) - return 1 + return COMM_AUTHENTICATION_MIN else if(message) to_chat(user, "Access denied.") - return 0 + return COMM_AUTHENTICATION_NONE /obj/machinery/computer/communications/Topic(href, href_list) if(..(href, href_list)) @@ -62,23 +65,23 @@ if(!ishuman(usr)) to_chat(usr, "Access denied.") return - var/mob/living/carbon/human/M = usr - var/obj/item/card = M.get_active_hand() - var/obj/item/weapon/card/id/I = (card && card.GetID())||M.wear_id||M.wear_pda - if(istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/pda = I - I = pda.id - if(I && istype(I)) - if(src.check_access(I)) - authenticated = 1 - if(access_captain in I.access) - authenticated = 2 - crew_announcement.announcer = GetNameAndAssignmentFromId(I) + + var/list/access = usr.get_access() + if(allowed(usr)) + authenticated = COMM_AUTHENTICATION_MIN + + if(access_captain in access) + authenticated = COMM_AUTHENTICATION_MAX + var/mob/living/carbon/human/H = usr + var/obj/item/weapon/card/id = H.get_idcard(TRUE) + if(istype(id)) + crew_announcement.announcer = GetNameAndAssignmentFromId(id) + nanomanager.update_uis(src) return if(href_list["logout"]) - authenticated = 0 + authenticated = COMM_AUTHENTICATION_NONE crew_announcement.announcer = "" setMenuState(usr,COMM_SCREEN_MAIN) nanomanager.update_uis(src) @@ -131,13 +134,13 @@ to_chat(usr, "You need to swipe your ID.") if("announce") - if(is_authenticated(usr) == 2) + if(is_authenticated(usr) == COMM_AUTHENTICATION_MAX) if(message_cooldown) to_chat(usr, "Please allow at least one minute to pass between announcements.") nanomanager.update_uis(src) return var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") - if(!input || message_cooldown || ..() || !(is_authenticated(usr) == 2)) + if(!input || message_cooldown || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) nanomanager.update_uis(src) return crew_announcement.Announce(input) @@ -213,13 +216,13 @@ setMenuState(usr,COMM_SCREEN_STAT) if("nukerequest") - if(is_authenticated(usr) == 2) + if(is_authenticated(usr) == COMM_AUTHENTICATION_MAX) if(centcomm_message_cooldown) to_chat(usr, "Arrays recycling. Please stand by.") nanomanager.update_uis(src) return var/input = stripped_input(usr, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.","") as text|null - if(!input || ..() || !(is_authenticated(usr) == 2)) + if(!input || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) nanomanager.update_uis(src) return Nuke_request(input, usr) @@ -232,13 +235,13 @@ setMenuState(usr,COMM_SCREEN_MAIN) if("MessageCentcomm") - if(is_authenticated(usr) == 2) + if(is_authenticated(usr) == COMM_AUTHENTICATION_MAX) if(centcomm_message_cooldown) to_chat(usr, "Arrays recycling. Please stand by.") nanomanager.update_uis(src) return var/input = stripped_input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") as text|null - if(!input || ..() || !(is_authenticated(usr) == 2)) + if(!input || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) nanomanager.update_uis(src) return Centcomm_announce(input, usr) @@ -251,13 +254,13 @@ // OMG SYNDICATE ...LETTERHEAD if("MessageSyndicate") - if((is_authenticated(usr) == 2) && (src.emagged)) + if((is_authenticated(usr) == COMM_AUTHENTICATION_MAX) && (src.emagged)) if(centcomm_message_cooldown) to_chat(usr, "Arrays recycling. Please stand by.") nanomanager.update_uis(src) return var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") as text|null - if(!input || ..() || !(is_authenticated(usr) == 2)) + if(!input || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) nanomanager.update_uis(src) return Syndicate_announce(input, usr) @@ -518,7 +521,7 @@ return ..() shuttle_master.emergency.request(null, 0.3, null, "All communication consoles, boards, and AI's have been destroyed.") - log_game("All the AIs, comm consoles and boards are destroyed. Shuttle called.") - message_admins("All the AIs, comm consoles and boards are destroyed. Shuttle called.", 1) + log_game("All the AI's, communication consoles and boards are destroyed. Shuttle called.") + message_admins("All the AI's, communication consoles and boards are destroyed. Shuttle called.", 1) return ..() diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 30e5cac609f..acad5a5a563 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -4,7 +4,7 @@ name = "airlock electronics" icon = 'icons/obj/doors/door_assembly.dmi' icon_state = "door_electronics" - w_class = 2 //It should be tiny! -Agouri + w_class = 2 materials = list(MAT_METAL=50, MAT_GLASS=50) req_access = list(access_engine) @@ -12,101 +12,96 @@ var/list/conf_access = null var/one_access = 0 //if set to 1, door would receive req_one_access instead of req_access var/last_configurator = null - var/locked = 1 + var/locked = TRUE + var/const/max_brain_damage = 60 // Maximum brain damage a mob can have until it can't use the electronics - attack_self(mob/user as mob) - if(!ishuman(user) && !istype(user,/mob/living/silicon/robot)) - return ..(user) +/obj/item/weapon/airlock_electronics/attack_self(mob/user) + if(!ishuman(user) && !isrobot(user)) + return ..() + if(ishuman(user)) var/mob/living/carbon/human/H = user - if(H.getBrainLoss() >= 60) + if(H.getBrainLoss() >= max_brain_damage) + to_chat(user, "You forget how to use \the [src].") return - var/t1 = text("Access control
\n") + var/t1 = text("Access control
\n") + if(last_configurator) + t1 += "Operator: [last_configurator]
" - if(last_configurator) - t1 += "Operator: [last_configurator]
" + if(locked) + t1 += "Swipe ID
" + else + t1 += "Block
" - if(locked) - t1 += "Swipe ID
" + t1 += "Access requirement is set to " + t1 += one_access ? "ONE
" : "ALL
" + + t1 += conf_access == null ? "All
" : "All
" + + t1 += "
" + + var/list/accesses = get_all_accesses() + for(var/acc in accesses) + var/aname = get_access_desc(acc) + + if(!conf_access || !conf_access.len || !(acc in conf_access)) + t1 += "[aname]
" + else if(one_access) + t1 += "[aname]
" + else + t1 += "[aname]
" + + t1 += "

Close

\n" + + var/datum/browser/popup = new(user, "airlock_electronics", name, 400, 400) + popup.set_content(t1) + popup.open(0) + onclose(user, "airlock") + +/obj/item/weapon/airlock_electronics/Topic(href, href_list) + ..() + + if(usr.incapacitated() || (!ishuman(usr) && !isrobot(usr))) + return 1 + + if(href_list["close"]) + usr << browse(null, "window=airlock") + return + + if(href_list["login"]) + if(allowed(usr)) + locked = FALSE + last_configurator = usr.name + + if(locked) + return + + if(href_list["logout"]) + locked = TRUE + + if(href_list["one_access"]) + one_access = !one_access + + if(href_list["access"]) + toggle_access(href_list["access"]) + + attack_self(usr) + +/obj/item/weapon/airlock_electronics/proc/toggle_access(var/access) + if(access == "all") + conf_access = null + else + var/req = text2num(access) + + if(conf_access == null) + conf_access = list() + + if(!(req in conf_access)) + conf_access += req else - t1 += "Block
" - - t1 += "Access requirement is set to " - t1 += one_access ? "ONE
" : "ALL
" - - t1 += conf_access == null ? "All
" : "All
" - - t1 += "
" - - var/list/accesses = get_all_accesses() - for(var/acc in accesses) - var/aname = get_access_desc(acc) - - if(!conf_access || !conf_access.len || !(acc in conf_access)) - t1 += "[aname]
" - else if(one_access) - t1 += "[aname]
" - else - t1 += "[aname]
" - - t1 += "

Close

\n" - - var/datum/browser/popup = new(user, "airlock_electronics", name, 400, 400) - popup.set_content(t1) - popup.open(0) - onclose(user, "airlock") - - Topic(href, href_list) - ..() - if(usr.stat || usr.restrained() || (!ishuman(usr) && !istype(usr,/mob/living/silicon))) - return - if(href_list["close"]) - usr << browse(null, "window=airlock") - return - - if(href_list["login"]) - if(istype(usr,/mob/living/silicon)) - src.locked = 0 - src.last_configurator = usr.name - else - var/obj/item/I = usr.get_active_hand() - if(istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/pda = I - I = pda.id - if(I && src.check_access(I)) - src.locked = 0 - src.last_configurator = I:registered_name - - if(locked) - return - - if(href_list["logout"]) - locked = 1 - - if(href_list["one_access"]) - one_access = !one_access - - if(href_list["access"]) - toggle_access(href_list["access"]) - - attack_self(usr) - - proc - toggle_access(var/acc) - if(acc == "all") + conf_access -= req + if(!conf_access.len) conf_access = null - else - var/req = text2num(acc) - - if(conf_access == null) - conf_access = list() - - if(!(req in conf_access)) - conf_access += req - else - conf_access -= req - if(!conf_access.len) - conf_access = null diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 7cc71918905..448395df3e4 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -16,41 +16,41 @@ var/icon_closed = "lockbox" var/icon_broken = "lockbox+b" - - attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/weapon/card/id)) - if(src.broken) - to_chat(user, "It appears to be broken.") - return - if(src.allowed(user)) - src.locked = !( src.locked ) - if(src.locked) - src.icon_state = src.icon_locked - to_chat(user, "You lock the [src.name]!") - return - else - src.icon_state = src.icon_closed - to_chat(user, "You unlock the [src.name]!") - origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D. - return - else - to_chat(user, "Access Denied") - else if((istype(W, /obj/item/weapon/card/emag) || istype(W, /obj/item/weapon/melee/energy/blade)) && !broken) - emag_act(user) +/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W as obj, mob/user as mob, params) + if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) + if(broken) + to_chat(user, "It appears to be broken.") return - if(!locked) - ..() + if(check_access(W)) + locked = !locked + if(locked) + icon_state = icon_locked + to_chat(user, "You lock \the [src]!") + return + else + icon_state = icon_closed + to_chat(user, "You unlock \the [src]!") + origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D. + return else - to_chat(user, "It's locked!") + to_chat(user, "Access denied.") + return + else if((istype(W, /obj/item/weapon/card/emag) || (istype(W, /obj/item/weapon/melee/energy/blade)) && !broken)) + emag_act(user) return + if(!locked) + ..() + else + to_chat(user, "It's locked!") + return - show_to(mob/user as mob) - if(locked) - to_chat(user, "It's locked!") - else - ..() - return +/obj/item/weapon/storage/lockbox/show_to(mob/user as mob) + if(locked) + to_chat(user, "It's locked!") + else + ..() + return /obj/item/weapon/storage/lockbox/can_be_inserted(obj/item/W as obj, stop_messages = 0) if(!locked) @@ -64,7 +64,7 @@ broken = 1 locked = 0 desc = "It appears to be broken." - icon_state = src.icon_broken + icon_state = icon_broken to_chat(user, "You unlock \the [src].") origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D. return @@ -84,23 +84,21 @@ name = "Lockbox (Mindshield Implants)" req_access = list(access_security) - New() - ..() - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implanter/loyalty(src) - +/obj/item/weapon/storage/lockbox/loyalty/New() + ..() + new /obj/item/weapon/implantcase/loyalty(src) + new /obj/item/weapon/implantcase/loyalty(src) + new /obj/item/weapon/implantcase/loyalty(src) + new /obj/item/weapon/implanter/loyalty(src) /obj/item/weapon/storage/lockbox/clusterbang name = "lockbox (clusterbang)" desc = "You have a bad feeling about opening this." req_access = list(access_security) - New() - ..() - new /obj/item/weapon/grenade/clusterbuster(src) - +/obj/item/weapon/storage/lockbox/clusterbang/New() + ..() + new /obj/item/weapon/grenade/clusterbuster(src) /obj/item/weapon/storage/lockbox/medal name = "medal box" @@ -116,14 +114,14 @@ icon_closed = "medalbox" icon_broken = "medalbox+b" - New() - ..() - new /obj/item/clothing/accessory/medal/gold/heroism(src) - new /obj/item/clothing/accessory/medal/silver/security(src) - new /obj/item/clothing/accessory/medal/silver/valor(src) - new /obj/item/clothing/accessory/medal/nobel_science(src) - new /obj/item/clothing/accessory/medal/bronze_heart(src) - new /obj/item/clothing/accessory/medal/conduct(src) - new /obj/item/clothing/accessory/medal/conduct(src) - new /obj/item/clothing/accessory/medal/conduct(src) - new /obj/item/clothing/accessory/medal/gold/captain(src) +/obj/item/weapon/storage/lockbox/medal/New() + ..() + new /obj/item/clothing/accessory/medal/gold/heroism(src) + new /obj/item/clothing/accessory/medal/silver/security(src) + new /obj/item/clothing/accessory/medal/silver/valor(src) + new /obj/item/clothing/accessory/medal/nobel_science(src) + new /obj/item/clothing/accessory/medal/bronze_heart(src) + new /obj/item/clothing/accessory/medal/conduct(src) + new /obj/item/clothing/accessory/medal/conduct(src) + new /obj/item/clothing/accessory/medal/conduct(src) + new /obj/item/clothing/accessory/medal/gold/captain(src) diff --git a/code/modules/computer3/computers/communications.dm b/code/modules/computer3/computers/communications.dm index 726de710a1a..a4fad8a16cb 100644 --- a/code/modules/computer3/computers/communications.dm +++ b/code/modules/computer3/computers/communications.dm @@ -66,16 +66,21 @@ if("main" in href_list) state = STATE_DEFAULT if("login" in href_list) - var/mob/M = usr - var/obj/item/I = M.get_active_hand() + if(!ishuman(usr)) + to_chat(usr, "Access denied.") + return + var/mob/living/carbon/human/H = usr + var/obj/item/I = H.get_active_hand() if(I) I = I.GetID() if(istype(I,/obj/item/weapon/card/id) && check_access(I)) authenticated = 1 if(access_captain in I.GetAccess()) authenticated = 2 - crew_announcement.announcer = GetNameAndAssignmentFromId(I) - + var/obj/item/weapon/card/id = H.get_idcard(TRUE) + if(istype(id)) + crew_announcement.announcer = GetNameAndAssignmentFromId(id) + if("logout" in href_list) authenticated = 0 crew_announcement.announcer = "" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ed48c229b89..c3eb5ece3a8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -709,12 +709,19 @@ if(!.) . = if_no_id //to prevent null-names making the mob unclickable return -//gets ID card object from special clothes slot or null. -/mob/living/carbon/human/proc/get_idcard() +//gets ID card object from special clothes slot or, if applicable, hands as well +/mob/living/carbon/human/proc/get_idcard(var/check_hands = FALSE) var/obj/item/weapon/card/id/id = wear_id var/obj/item/device/pda/pda = wear_id if(istype(pda) && pda.id) id = pda.id + + if(check_hands) + if(istype(get_active_hand(), /obj/item/weapon/card/id)) + id = get_active_hand() + else if(istype(get_inactive_hand(), /obj/item/weapon/card/id)) + id = get_inactive_hand() + if(istype(id)) return id @@ -1977,6 +1984,12 @@ var/obj/item/weapon/card/id/id = wear_id if(istype(id) && id.is_untrackable()) return 0 + if(wear_pda) + var/obj/item/device/pda/pda = wear_pda + if(istype(pda)) + var/obj/item/weapon/card/id/id = pda.id + if(istype(id) && id.is_untrackable()) + return 0 if(istype(head, /obj/item/clothing/head)) var/obj/item/clothing/head/hat = head if(hat.blockTracking) @@ -1992,6 +2005,8 @@ if(wear_id) . |= wear_id.GetAccess() + if(wear_pda) + . |= wear_pda.GetAccess() if(istype(w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/U = w_uniform if(U.accessories) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 7e771b2f372..335ecbcd1f6 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -730,18 +730,18 @@ var/list/robot_verbs_default = list( else to_chat(user, "Unable to locate a radio.") - else if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) // trying to unlock the interface with an ID card + else if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) // trying to unlock the interface with an ID card if(emagged)//still allow them to open the cover - to_chat(user, "The interface seems slightly damaged") + to_chat(user, "The interface seems slightly damaged.") if(opened) to_chat(user, "You must close the cover to swipe an ID card.") else - if(allowed(usr)) + if(allowed(W)) locked = !locked to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s interface.") update_icons() else - to_chat(user, "\red Access denied.") + to_chat(user, "Access denied.") else if(istype(W, /obj/item/borg/upgrade/)) var/obj/item/borg/upgrade/U = W @@ -957,29 +957,15 @@ var/list/robot_verbs_default = list( user.visible_message("[user] pets [src]!", \ "You pet [src]!") -/mob/living/silicon/robot/proc/allowed(mob/M) - //check if it doesn't require any access at all - if(check_access(null)) +/mob/living/silicon/robot/proc/allowed(obj/item/I) + var/obj/dummy = new /obj(null) // Create a dummy object to check access on as to avoid having to snowflake check_access on every mob + dummy.req_access = req_access + + if(dummy.check_access(I)) + qdel(dummy) return 1 - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - //if they are holding or wearing a card that has access, that works - if(check_access(H.get_active_hand()) || check_access(H.wear_id)) - return 1 - return 0 - -/mob/living/silicon/robot/proc/check_access(obj/item/weapon/card/id/I) - if(!istype(req_access, /list)) //something's very wrong - return 1 - - var/list/L = req_access - if(!L.len) //no requirements - return 1 - if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access - return 0 - for(var/req in req_access) - if(req in I.access) //have one of the required accesses - return 1 + + qdel(dummy) return 0 /mob/living/silicon/robot/update_icons() diff --git a/code/modules/security_levels/keycard authentication.dm b/code/modules/security_levels/keycard authentication.dm index 188bf7597c2..8ff0ed6eb64 100644 --- a/code/modules/security_levels/keycard authentication.dm +++ b/code/modules/security_levels/keycard authentication.dm @@ -3,6 +3,7 @@ desc = "This device is used to trigger station functions, which require more than one ID card to authenticate." icon = 'icons/obj/monitors.dmi' icon_state = "auth_off" + var/active = 0 //This gets set to 1 on all devices except the one where the initial request was made. var/event = "" var/screen = 1 @@ -14,25 +15,25 @@ var/mob/event_triggered_by var/mob/event_confirmed_by var/ert_reason = "Reason for ERT" - //1 = select event - //2 = authenticate - anchored = 1.0 + + anchored = 1 use_power = 1 idle_power_usage = 2 active_power_usage = 6 power_channel = ENVIRON + + req_access = list(access_keycard_auth) /obj/machinery/keycard_auth/attack_ai(mob/user as mob) - to_chat(user, "The station AI is not to interact with these devices.") + to_chat(user, "The station AI is not to interact with these devices.") return /obj/machinery/keycard_auth/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(stat & (NOPOWER|BROKEN)) to_chat(user, "This device is not powered.") return - if(istype(W,/obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/ID = W - if(access_keycard_auth in ID.access) + if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) + if(check_access(W)) if(active == 1) //This is not the device that made the initial request. It is the device confirming the request. if(event_source) @@ -44,6 +45,8 @@ return event_triggered_by = usr broadcast_request() //This is the device making the initial event request. It needs to broadcast to other devices + else + to_chat(user, "Access denied.") /obj/machinery/keycard_auth/power_change() if(powered(ENVIRON)) @@ -51,16 +54,16 @@ icon_state = "auth_off" else stat |= NOPOWER + +/obj/machinery/keycard_auth/attack_ghost(mob/user) + ui_interact(user) /obj/machinery/keycard_auth/attack_hand(mob/user as mob) - if(!user.IsAdvancedToolUser()) - return 0 + if(..()) + return 1 ui_interact(user) /obj/machinery/keycard_auth/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(user.stat || stat & (NOPOWER|BROKEN)) - to_chat(user, "This device is not powered.") - return if(busy) to_chat(user, "This device is busy.") return @@ -74,19 +77,18 @@ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) - ui = new(user, src, ui_key, "keycard_auth.tmpl", "Keycard Authentication Device UI", 520, 320) + ui = new(user, src, ui_key, "keycard_auth.tmpl", "Keycard Authentication Device UI", 540, 320) ui.set_initial_data(data) ui.open() /obj/machinery/keycard_auth/Topic(href, href_list) if(..()) - return + return 1 + if(busy) to_chat(usr, "This device is busy.") return - if(usr.stat || stat & (BROKEN|NOPOWER)) - to_chat(usr, "This device is without power.") - return + if(href_list["triggerevent"]) event = href_list["triggerevent"] screen = 2 diff --git a/nano/templates/keycard_auth.tmpl b/nano/templates/keycard_auth.tmpl index 7f8f24b80eb..af58b061a9f 100644 --- a/nano/templates/keycard_auth.tmpl +++ b/nano/templates/keycard_auth.tmpl @@ -29,7 +29,7 @@ Used In File(s): \code\modules\security_levels\keycard_authentication.dm {{/if}} -

Please swipe your card to authorize the following event

+

Please swipe your card to authorize the following event:

{{:data.event}}
{{:helper.link('Back', 'close', { 'reset' : 1 })}} {{/if}} From 216965da8bcd5c2bef15d20511c26fe140ab95f1 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 23 Oct 2016 19:29:57 -0400 Subject: [PATCH 42/48] Automatic changelog generation for PR #5416 --- html/changelogs/AutoChangeLog-pr-5416.yml | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5416.yml diff --git a/html/changelogs/AutoChangeLog-pr-5416.yml b/html/changelogs/AutoChangeLog-pr-5416.yml new file mode 100644 index 00000000000..15ddb58b102 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5416.yml @@ -0,0 +1,39 @@ +author: KasparoVy +delete-after: True +changes: + - tweak: "Refactors markings. Now split into head, body and tail markings." + - tweak: "Refactors morph again. Changes made while morphing are now reflected instantly on your sprite." + - tweak: "Darkens Vulpkanin and Tajara for improved colour fidelity. Species base colour changed to compensate. Add 27 to R, G and B values if Vulp, 15 if Taj to keep the same colour on your character." + - tweak: "Darkens Vulpkanin facial fur patterns for improved colour fidelity. Add 23 to the R, G and B values of your facial hair/head accessory to keep the same colour on your character." + - tweak: "Darkens Unathi frills and horns. Add 27 to the R, G and B values of your frills and 21 for horns to keep the same colour on your character." + - tweak: "Vulpkanin tails are now split-rendered. Tails overlap hair when facing north, but are overlapped by hair when facing all other directions. No other differences, only affects the fluffy husky tail." + - tweak: "The heads of tiger markings have been isolated and can now be coloured independently." + - tweak: "Hair can now cover facial hair, and glasses are no longer covered by facial hair and head accessories. Means that two-piece Vulpkanin facial fur patterns won't almost entirely cover whatever glasses they're wearing." + - tweak: "Tajaran head and facial hair have been darkened. Add 28 to the R, G and B values of your Tajara head/facial hair to keep the same colour on your character." + - tweak: "Vulpkanin head hair and one facial hair style has been darkened. Refer to PR notes for darkening factors." + - tweak: "The HAS_MARKINGS flag now represents all marking locations. The HAS_location_MARKINGS flags are for specific locations (head, body, tail)." + - tweak: "Improves the quality of some Vulpkanin/Tajara/Unathi mask sprites." + - bugfix: "Naked Humans and Skrell will no longer have exposed flesh poking out their wrists when facing east or west. Male Humans now no longer lack a butt pixel when facing east or west." + - bugfix: "Mutated limbs now render correctly as soon as they're mutated." + - bugfix: "Mobs will now correctly appear as fat/skinny." + - bugfix: "Species with TAIL_OVERLAPPED will no longer wag tail at max speed when facing north." + - bugfix: "Species with TAIL_OVERLAPPED and body accessories won't crash the game when they wag." + - bugfix: "Tiger Head and Face markings adjusted so they don't look ugly on certain species' ears." + - bugfix: "Fixes issue where Unathi dorsal stripe didn't render." + - bugfix: "Tajaran ears are no longer in their hair sprites, but on their actual heads." + - bugfix: "The adminbus body accessory now overrides the TAIL_OVERLAPPED flag and will now be rendered correctly on a body regardless of species bodyflags." + - bugfix: "Changing a person's species via CMA will no longer result in a mob with all the same cosmetic attributes as the old species." + - bugfix: "Dressers now have species fitting checks for undergarments. Drask are now able to wear undershirts and underwear like they were originally meant to." + - rscadd: "Adds some head markings for Tajara and Vulpkanin." + - rscadd: "Adds body marking(s) for Tajara, Vulpkanin, Unathi and Drask." + - rscadd: "Adds tail markings for Vox and Vulpkanin." + - rscadd: "Adds 5 Tajaran hairstyles." + - rscadd: "Adds a tweaked version of an existing Vox hairstyle. Shouldn't clip with certain jackets as much." + - rscadd: "Adds a hairstyle for Humans, Unathi and Vulpkanin." + - rscadd: "Adds a facial hairstyle for Vulpkanin." + - rscadd: "Adds secondary hair (head and facial) themes. Skrell can now colour their tentacle cloths independently, the beads in the Tajaran/Hippie braid hairstyles can be coloured and the same with the webbing in Unathi frills. Can be changed at nanomirrors, via morph and CMA." + - rscadd: "Adds alternate heads. Unathi can now choose a head with a sharp snout. Can be changed via morph and CMA." + - rscadd: "Helper procs to convert a hex colour into either R, G, or B." + - rscadd: "Markings, body accessories, head accessories, alt heads and their colours (if they have colours) can now be randomized at the character preferences screen." + - rscadd: "Adds a system that attempts to fit mobs with alternate heads with appropriate mask sprites. The sprites just need to be suffixed with the alt_head suffix in sprite_accessories.dm." + - imageadd: "Adds mask sprites tweaked to fit the new Unathi alternate head to go along with the new alt. head mask fitting system." From cc00a84848f1cd1e693d85eb57838aba9c651aee Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 23 Oct 2016 19:34:25 -0400 Subject: [PATCH 43/48] henk --- html/changelog.html | 41 +++++++++++++ html/changelogs/.all_changelog.yml | 70 +++++++++++++++++++++++ html/changelogs/AutoChangeLog-pr-5416.yml | 39 ------------- 3 files changed, 111 insertions(+), 39 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5416.yml diff --git a/html/changelog.html b/html/changelog.html index 6ab1e019045..2d41f163168 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,47 @@ -->
+

23 October 2016

+

KasparoVy updated:

+
    +
  • Refactors markings. Now split into head, body and tail markings.
  • +
  • Refactors morph again. Changes made while morphing are now reflected instantly on your sprite.
  • +
  • Darkens Vulpkanin and Tajara for improved colour fidelity. Species base colour changed to compensate. Add 27 to R, G and B values if Vulp, 15 if Taj to keep the same colour on your character.
  • +
  • Darkens Vulpkanin facial fur patterns for improved colour fidelity. Add 23 to the R, G and B values of your facial hair/head accessory to keep the same colour on your character.
  • +
  • Darkens Unathi frills and horns. Add 27 to the R, G and B values of your frills and 21 for horns to keep the same colour on your character.
  • +
  • Vulpkanin tails are now split-rendered. Tails overlap hair when facing north, but are overlapped by hair when facing all other directions. No other differences, only affects the fluffy husky tail.
  • +
  • The heads of tiger markings have been isolated and can now be coloured independently.
  • +
  • Hair can now cover facial hair, and glasses are no longer covered by facial hair and head accessories. Means that two-piece Vulpkanin facial fur patterns won't almost entirely cover whatever glasses they're wearing.
  • +
  • Tajaran head and facial hair have been darkened. Add 28 to the R, G and B values of your Tajara head/facial hair to keep the same colour on your character.
  • +
  • Vulpkanin head hair and one facial hair style has been darkened. Refer to PR notes for darkening factors.
  • +
  • The HAS_MARKINGS flag now represents all marking locations. The HAS_location_MARKINGS flags are for specific locations (head, body, tail).
  • +
  • Improves the quality of some Vulpkanin/Tajara/Unathi mask sprites.
  • +
  • Naked Humans and Skrell will no longer have exposed flesh poking out their wrists when facing east or west. Male Humans now no longer lack a butt pixel when facing east or west.
  • +
  • Mutated limbs now render correctly as soon as they're mutated.
  • +
  • Mobs will now correctly appear as fat/skinny.
  • +
  • Species with TAIL_OVERLAPPED will no longer wag tail at max speed when facing north.
  • +
  • Species with TAIL_OVERLAPPED and body accessories won't crash the game when they wag.
  • +
  • Tiger Head and Face markings adjusted so they don't look ugly on certain species' ears.
  • +
  • Fixes issue where Unathi dorsal stripe didn't render.
  • +
  • Tajaran ears are no longer in their hair sprites, but on their actual heads.
  • +
  • The adminbus body accessory now overrides the TAIL_OVERLAPPED flag and will now be rendered correctly on a body regardless of species bodyflags.
  • +
  • Changing a person's species via CMA will no longer result in a mob with all the same cosmetic attributes as the old species.
  • +
  • Dressers now have species fitting checks for undergarments. Drask are now able to wear undershirts and underwear like they were originally meant to.
  • +
  • Adds some head markings for Tajara and Vulpkanin.
  • +
  • Adds body marking(s) for Tajara, Vulpkanin, Unathi and Drask.
  • +
  • Adds tail markings for Vox and Vulpkanin.
  • +
  • Adds 5 Tajaran hairstyles.
  • +
  • Adds a tweaked version of an existing Vox hairstyle. Shouldn't clip with certain jackets as much.
  • +
  • Adds a hairstyle for Humans, Unathi and Vulpkanin.
  • +
  • Adds a facial hairstyle for Vulpkanin.
  • +
  • Adds secondary hair (head and facial) themes. Skrell can now colour their tentacle cloths independently, the beads in the Tajaran/Hippie braid hairstyles can be coloured and the same with the webbing in Unathi frills. Can be changed at nanomirrors, via morph and CMA.
  • +
  • Adds alternate heads. Unathi can now choose a head with a sharp snout. Can be changed via morph and CMA.
  • +
  • Helper procs to convert a hex colour into either R, G, or B.
  • +
  • Markings, body accessories, head accessories, alt heads and their colours (if they have colours) can now be randomized at the character preferences screen.
  • +
  • Adds a system that attempts to fit mobs with alternate heads with appropriate mask sprites. The sprites just need to be suffixed with the alt_head suffix in sprite_accessories.dm.
  • +
  • Adds mask sprites tweaked to fit the new Unathi alternate head to go along with the new alt. head mask fitting system.
  • +
+

15 October 2016

Crazylemon64 updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 9dfe354606f..7f682f24250 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -2978,3 +2978,73 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. messages. - bugfix: Fixed camera monitors immobilizing you if you reconnect while using one. - bugfix: Fixed selecting datum types through SDQL2 never returning any datums. +2016-10-23: + KasparoVy: + - tweak: Refactors markings. Now split into head, body and tail markings. + - tweak: Refactors morph again. Changes made while morphing are now reflected instantly + on your sprite. + - tweak: Darkens Vulpkanin and Tajara for improved colour fidelity. Species base + colour changed to compensate. Add 27 to R, G and B values if Vulp, 15 if Taj + to keep the same colour on your character. + - tweak: Darkens Vulpkanin facial fur patterns for improved colour fidelity. Add + 23 to the R, G and B values of your facial hair/head accessory to keep the same + colour on your character. + - tweak: Darkens Unathi frills and horns. Add 27 to the R, G and B values of your + frills and 21 for horns to keep the same colour on your character. + - tweak: Vulpkanin tails are now split-rendered. Tails overlap hair when facing + north, but are overlapped by hair when facing all other directions. No other + differences, only affects the fluffy husky tail. + - tweak: The heads of tiger markings have been isolated and can now be coloured + independently. + - tweak: Hair can now cover facial hair, and glasses are no longer covered by facial + hair and head accessories. Means that two-piece Vulpkanin facial fur patterns + won't almost entirely cover whatever glasses they're wearing. + - tweak: Tajaran head and facial hair have been darkened. Add 28 to the R, G and + B values of your Tajara head/facial hair to keep the same colour on your character. + - tweak: Vulpkanin head hair and one facial hair style has been darkened. Refer + to PR notes for darkening factors. + - tweak: The HAS_MARKINGS flag now represents all marking locations. The HAS_location_MARKINGS + flags are for specific locations (head, body, tail). + - tweak: Improves the quality of some Vulpkanin/Tajara/Unathi mask sprites. + - bugfix: Naked Humans and Skrell will no longer have exposed flesh poking out their + wrists when facing east or west. Male Humans now no longer lack a butt pixel + when facing east or west. + - bugfix: Mutated limbs now render correctly as soon as they're mutated. + - bugfix: Mobs will now correctly appear as fat/skinny. + - bugfix: Species with TAIL_OVERLAPPED will no longer wag tail at max speed when + facing north. + - bugfix: Species with TAIL_OVERLAPPED and body accessories won't crash the game + when they wag. + - bugfix: Tiger Head and Face markings adjusted so they don't look ugly on certain + species' ears. + - bugfix: Fixes issue where Unathi dorsal stripe didn't render. + - bugfix: Tajaran ears are no longer in their hair sprites, but on their actual + heads. + - bugfix: The adminbus body accessory now overrides the TAIL_OVERLAPPED flag and + will now be rendered correctly on a body regardless of species bodyflags. + - bugfix: Changing a person's species via CMA will no longer result in a mob with + all the same cosmetic attributes as the old species. + - bugfix: Dressers now have species fitting checks for undergarments. Drask are + now able to wear undershirts and underwear like they were originally meant to. + - rscadd: Adds some head markings for Tajara and Vulpkanin. + - rscadd: Adds body marking(s) for Tajara, Vulpkanin, Unathi and Drask. + - rscadd: Adds tail markings for Vox and Vulpkanin. + - rscadd: Adds 5 Tajaran hairstyles. + - rscadd: Adds a tweaked version of an existing Vox hairstyle. Shouldn't clip with + certain jackets as much. + - rscadd: Adds a hairstyle for Humans, Unathi and Vulpkanin. + - rscadd: Adds a facial hairstyle for Vulpkanin. + - rscadd: Adds secondary hair (head and facial) themes. Skrell can now colour their + tentacle cloths independently, the beads in the Tajaran/Hippie braid hairstyles + can be coloured and the same with the webbing in Unathi frills. Can be changed + at nanomirrors, via morph and CMA. + - rscadd: Adds alternate heads. Unathi can now choose a head with a sharp snout. + Can be changed via morph and CMA. + - rscadd: Helper procs to convert a hex colour into either R, G, or B. + - rscadd: Markings, body accessories, head accessories, alt heads and their colours + (if they have colours) can now be randomized at the character preferences screen. + - rscadd: Adds a system that attempts to fit mobs with alternate heads with appropriate + mask sprites. The sprites just need to be suffixed with the alt_head suffix + in sprite_accessories.dm. + - imageadd: Adds mask sprites tweaked to fit the new Unathi alternate head to go + along with the new alt. head mask fitting system. diff --git a/html/changelogs/AutoChangeLog-pr-5416.yml b/html/changelogs/AutoChangeLog-pr-5416.yml deleted file mode 100644 index 15ddb58b102..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5416.yml +++ /dev/null @@ -1,39 +0,0 @@ -author: KasparoVy -delete-after: True -changes: - - tweak: "Refactors markings. Now split into head, body and tail markings." - - tweak: "Refactors morph again. Changes made while morphing are now reflected instantly on your sprite." - - tweak: "Darkens Vulpkanin and Tajara for improved colour fidelity. Species base colour changed to compensate. Add 27 to R, G and B values if Vulp, 15 if Taj to keep the same colour on your character." - - tweak: "Darkens Vulpkanin facial fur patterns for improved colour fidelity. Add 23 to the R, G and B values of your facial hair/head accessory to keep the same colour on your character." - - tweak: "Darkens Unathi frills and horns. Add 27 to the R, G and B values of your frills and 21 for horns to keep the same colour on your character." - - tweak: "Vulpkanin tails are now split-rendered. Tails overlap hair when facing north, but are overlapped by hair when facing all other directions. No other differences, only affects the fluffy husky tail." - - tweak: "The heads of tiger markings have been isolated and can now be coloured independently." - - tweak: "Hair can now cover facial hair, and glasses are no longer covered by facial hair and head accessories. Means that two-piece Vulpkanin facial fur patterns won't almost entirely cover whatever glasses they're wearing." - - tweak: "Tajaran head and facial hair have been darkened. Add 28 to the R, G and B values of your Tajara head/facial hair to keep the same colour on your character." - - tweak: "Vulpkanin head hair and one facial hair style has been darkened. Refer to PR notes for darkening factors." - - tweak: "The HAS_MARKINGS flag now represents all marking locations. The HAS_location_MARKINGS flags are for specific locations (head, body, tail)." - - tweak: "Improves the quality of some Vulpkanin/Tajara/Unathi mask sprites." - - bugfix: "Naked Humans and Skrell will no longer have exposed flesh poking out their wrists when facing east or west. Male Humans now no longer lack a butt pixel when facing east or west." - - bugfix: "Mutated limbs now render correctly as soon as they're mutated." - - bugfix: "Mobs will now correctly appear as fat/skinny." - - bugfix: "Species with TAIL_OVERLAPPED will no longer wag tail at max speed when facing north." - - bugfix: "Species with TAIL_OVERLAPPED and body accessories won't crash the game when they wag." - - bugfix: "Tiger Head and Face markings adjusted so they don't look ugly on certain species' ears." - - bugfix: "Fixes issue where Unathi dorsal stripe didn't render." - - bugfix: "Tajaran ears are no longer in their hair sprites, but on their actual heads." - - bugfix: "The adminbus body accessory now overrides the TAIL_OVERLAPPED flag and will now be rendered correctly on a body regardless of species bodyflags." - - bugfix: "Changing a person's species via CMA will no longer result in a mob with all the same cosmetic attributes as the old species." - - bugfix: "Dressers now have species fitting checks for undergarments. Drask are now able to wear undershirts and underwear like they were originally meant to." - - rscadd: "Adds some head markings for Tajara and Vulpkanin." - - rscadd: "Adds body marking(s) for Tajara, Vulpkanin, Unathi and Drask." - - rscadd: "Adds tail markings for Vox and Vulpkanin." - - rscadd: "Adds 5 Tajaran hairstyles." - - rscadd: "Adds a tweaked version of an existing Vox hairstyle. Shouldn't clip with certain jackets as much." - - rscadd: "Adds a hairstyle for Humans, Unathi and Vulpkanin." - - rscadd: "Adds a facial hairstyle for Vulpkanin." - - rscadd: "Adds secondary hair (head and facial) themes. Skrell can now colour their tentacle cloths independently, the beads in the Tajaran/Hippie braid hairstyles can be coloured and the same with the webbing in Unathi frills. Can be changed at nanomirrors, via morph and CMA." - - rscadd: "Adds alternate heads. Unathi can now choose a head with a sharp snout. Can be changed via morph and CMA." - - rscadd: "Helper procs to convert a hex colour into either R, G, or B." - - rscadd: "Markings, body accessories, head accessories, alt heads and their colours (if they have colours) can now be randomized at the character preferences screen." - - rscadd: "Adds a system that attempts to fit mobs with alternate heads with appropriate mask sprites. The sprites just need to be suffixed with the alt_head suffix in sprite_accessories.dm." - - imageadd: "Adds mask sprites tweaked to fit the new Unathi alternate head to go along with the new alt. head mask fitting system." From b8c6e5c6e565ae96c2e2cc94ff0c132e42629708 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Sun, 23 Oct 2016 23:14:53 -0400 Subject: [PATCH 44/48] Fixes 2 Bugs with PR #5416 First bug: Changing your alt head in CMA wouldn't update it correctly. You had to proc update_body(1, 1) twice in order to do it because of where the head_organ.handle_alt_icon() proc call was placed in organ_icons. Resolved Second bug: Lack of sanity and inability to select head marking styles with "all" alt heads allowed. Resolved --- code/modules/mob/living/carbon/human/appearance.dm | 6 +++--- code/modules/surgery/organs/organ_icon.dm | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index b135e5e6625..eb58d39ea7c 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -80,13 +80,13 @@ if(head_organ.alt_head && head_organ.alt_head != "None") var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] - if(marking.name != "None" && (!H.heads_allowed || !(head_organ.alt_head in H.heads_allowed))) + if(marking.name != "None" && (!H.heads_allowed || (!("All" in H.heads_allowed) && !(head_organ.alt_head in H.heads_allowed)))) return else if(!head_organ.alt_head || head_organ.alt_head == "None") head_organ.alt_head = "None" var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] - if(H.heads_allowed ) + if(H.heads_allowed && !("All" in H.heads_allowed)) return if(location == "tail" && marking.name != "None") @@ -450,7 +450,7 @@ if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. continue else if(H.alt_head && H.alt_head != "None") //If the user's got an alt head, validate markings for that head. - if(!("All" in M.heads_allowed) && !(H.alt_head in M.heads_allowed)) + if(!M.heads_allowed || (!("All" in M.heads_allowed) && !(H.alt_head in M.heads_allowed))) continue else if(M.heads_allowed && !("All" in M.heads_allowed)) diff --git a/code/modules/surgery/organs/organ_icon.dm b/code/modules/surgery/organs/organ_icon.dm index 5e8c675bb18..272adcad52c 100644 --- a/code/modules/surgery/organs/organ_icon.dm +++ b/code/modules/surgery/organs/organ_icon.dm @@ -159,12 +159,12 @@ var/global/list/limb_icon_cache = list() gender = "f" else gender = "m" - new_icon_state = "[icon_name][gender ? "_[gender]" : ""]" - if(limb_name == "head") var/obj/item/organ/external/head/head_organ = src head_organ.handle_alt_icon() + new_icon_state = "[icon_name][gender ? "_[gender]" : ""]" + if(skeletal) icon_file = 'icons/mob/human_races/r_skeleton.dmi' else if(status & ORGAN_ROBOT) From 82cf3fb93dc6045a17a432a42a2eb40d9050b8b8 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Sun, 23 Oct 2016 23:47:51 -0400 Subject: [PATCH 45/48] Fixes a bug where certain species could not select undergarments. Their species names were just missing from the species_allowed definitions. --- code/modules/mob/new_player/sprite_accessories.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 5067a7d848a..0e8f3456335 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -1104,13 +1104,13 @@ /////////////////////////// /datum/sprite_accessory/underwear icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Drask", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask") gender = NEUTER /datum/sprite_accessory/underwear/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Vox", "Drask", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask", "Vox") /datum/sprite_accessory/underwear/male gender = MALE @@ -1230,13 +1230,13 @@ //////////////////////////// /datum/sprite_accessory/undershirt icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Skeleton", "Drask") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask") gender = NEUTER /datum/sprite_accessory/undershirt/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Kidan", "Grey", "Plasmaman", "Skeleton", "Machine", "Vox", "Drask", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask", "Vox") //plain color shirts /datum/sprite_accessory/undershirt/shirt_white @@ -1466,13 +1466,13 @@ /////////////////////// /datum/sprite_accessory/socks icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask") gender = NEUTER /datum/sprite_accessory/socks/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton", "Vox", "Drask") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skeleton", "Drask", "Vox") /datum/sprite_accessory/socks/white_norm name = "Normal White" From e1bc27f8639a9519dfa28659bd154830194a6d3c Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Mon, 24 Oct 2016 03:21:16 -0400 Subject: [PATCH 46/48] Jagged Hairstyle Pixelfix --- icons/mob/human_face.dmi | Bin 71795 -> 71789 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 179d418230e8243298ebcd9ecafd734abc411e39..bf6507c412c5483797fb5bae45417d7e6de7b644 100644 GIT binary patch delta 10653 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 ui8rTCFK$1 Date: Mon, 24 Oct 2016 16:43:30 +0200 Subject: [PATCH 47/48] X-01 grammar fix --- code/modules/projectiles/guns/energy/nuclear.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 99a1660ba35..8d920a7e736 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -49,7 +49,7 @@ /obj/item/weapon/gun/energy/gun/hos name = "\improper X-01 MultiPhase Energy Gun" - desc = "This is a expensive, modern recreation of a antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." + desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." icon_state = "hoslaser" force = 10 ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler) From af74d49bec81b898bcd4e541c2d9482b485e62e4 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 24 Oct 2016 15:48:27 -0400 Subject: [PATCH 48/48] Automatic changelog generation for PR #5811 --- html/changelogs/AutoChangeLog-pr-5811.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5811.yml diff --git a/html/changelogs/AutoChangeLog-pr-5811.yml b/html/changelogs/AutoChangeLog-pr-5811.yml new file mode 100644 index 00000000000..33d9eb32a8b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5811.yml @@ -0,0 +1,7 @@ +author: KasparoVy +delete-after: True +changes: + - bugfix: "Fixes a bug where changing your alt head required two icon updates to show." + - bugfix: "Fixes a bug where you couldn't choose head marking styles that would ordinarily be available regardless of your alt head." + - bugfix: "Fixes a bug where Tajara couldn't choose undergarments." + - bugfix: "Resolves an issue with the Vulpkanin Jagged hairstyle missing a pixel."