From ee7e560919ebffed6a531db55886c1a85c4c8594 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 5 May 2015 17:13:16 -0400 Subject: [PATCH 01/13] Superhero Update --- code/__HELPERS/global_lists.dm | 6 + code/_onclick/click.dm | 2 +- code/game/machinery/wishgranter.dm | 111 +++---------------- code/modules/mob/living/carbon/superheros.dm | 70 ++++++++++++ paradise.dme | 1 + 5 files changed, 92 insertions(+), 98 deletions(-) create mode 100644 code/modules/mob/living/carbon/superheros.dm diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 34082be122e..03dd3e3f739 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -36,6 +36,7 @@ var/global/list/all_species[0] var/global/list/all_languages[0] var/global/list/language_keys[0] // Table of say codes for all languages var/global/list/all_nations[0] +var/global/list/all_superheros[0] var/global/list/whitelisted_species = list() //global var of unsafe-to-spawn-on-reaction mobs @@ -141,6 +142,11 @@ var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Al var/datum/nations/N = new T all_nations[N.name] = N + paths = typesof(/datum/superheros)-/datum/superheros + for(var/T in paths) + var/datum/superheros/S = new T + all_superheros[S.name] = S + //Languages and species. paths = typesof(/datum/language)-/datum/language for(var/T in paths) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index c00a79e1e6b..7b23ec040cf 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -295,7 +295,7 @@ var/turf/T = get_turf(src) var/turf/U = get_turf(A) - var/obj/item/projectile/beam/LE = new /obj/item/projectile/beam(loc) + var/obj/item/projectile/beam/disabler/LE = new /obj/item/projectile/beam/disabler(loc) LE.icon = 'icons/effects/genetics.dmi' LE.icon_state = "eyelasers" playsound(usr.loc, 'sound/weapons/taser2.ogg', 75, 1) diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index 1f14f105557..caf7f8a1343 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -8,7 +8,13 @@ anchored = 1 density = 1 var/datum/mind/target - var/list/types = list("Owlman", "The Griffin") + var/list/types = list() + +/obj/machinery/wish_granter/New() + for(var/supname in all_superheros) + types |= supname + ..() + /obj/machinery/wish_granter/attack_hand(var/mob/user as mob) usr.set_machine(src) @@ -22,109 +28,20 @@ else user << "The power of the Wish Granter have turned you into the superhero the station deserves. You are a masked vigilante, and answer to no man. Will you use your newfound strength to protect the innocent, or will you hunt the guilty?" + var/wish if(types.len == 1) wish = pick(types) else wish = input("You want to become...","Wish") as null|anything in types + if(!wish) return var/mob/living/carbon/human/M = user - switch(wish) - if("Owlman") - types -= "Owlman" - M.fully_replace_character_name(M.real_name, "Owlman") - - for(var/obj/item/W in M) - M.unEquip(W) - - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/under/owl(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/owl_mask(M), slot_wear_mask) - - var/obj/item/weapon/card/id/syndicate/W = new(M) - W.name = "[M.real_name]'s ID Card (Superhero)" - W.access = get_all_accesses() - W.assignment = "Superhero" - W.registered_name = M.real_name - M.equip_to_slot_or_del(W, slot_wear_id) - - M.regenerate_icons() - - var/datum/objective/protect/protect = new - protect.owner = user.mind - if(target) - protect.target = target - else - protect.find_target() - target = protect.target - user.mind.objectives += protect - - if("The Griffin") - types -= "The Griffin" - M.fully_replace_character_name(M.real_name, "The Griffin") - - for(var/obj/item/W in M) - M.unEquip(W) - - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/griffin(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/under/griffin(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings/griffinwings(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/head/griffin(M), slot_head) - - var/obj/item/weapon/card/id/syndicate/W = new(M) - W.name = "[M.real_name]'s ID Card (Supervillain)" - W.access = get_all_accesses() - W.assignment = "Supervillain" - W.registered_name = M.real_name - M.equip_to_slot_or_del(W, slot_wear_id) - - M.regenerate_icons() - - var/datum/objective/assassinate/assasinate = new - assasinate.owner = user.mind - if(target) - assasinate.target = target - else - assasinate.find_target() - target = assasinate.target - user.mind.objectives += assasinate - - ticker.mode.traitors += user.mind - user.mind.special_role = wish - - var/obj_count = 1 - for(var/datum/objective/OBJ in user.mind.objectives) - user << "Objective #[obj_count]: [OBJ.explanation_text]" - obj_count++ - - - //Time to hand out the powers, since they are currently generic - if (!(HULK in user.mutations)) - user.dna.SetSEState(HULKBLOCK,1) - - if (!(LASER in user.mutations)) - user.mutations.Add(LASER) - - if (!(XRAY in user.mutations)) - user.mutations.Add(XRAY) - user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) - user.see_in_dark = 8 - user.see_invisible = SEE_INVISIBLE_LEVEL_TWO - - if (!(RESIST_COLD in user.mutations)) - user.mutations.Add(RESIST_COLD) - - if (!(RESIST_HEAT in user.mutations)) - user.mutations.Add(RESIST_HEAT) - - if (!(TK in user.mutations)) - user.mutations.Add(TK) - - if(!(REGEN in user.mutations)) - user.mutations.Add(REGEN) - - user.update_mutations() + var/datum/superheros/S = all_superheros[wish] + if(S) + S.assign_genes(M) + S.assign_spells(M) + S.equip(M) //Remove the wishgranter or teleport it randomly on the station if(!types.len) diff --git a/code/modules/mob/living/carbon/superheros.dm b/code/modules/mob/living/carbon/superheros.dm new file mode 100644 index 00000000000..7d6891bcfb8 --- /dev/null +++ b/code/modules/mob/living/carbon/superheros.dm @@ -0,0 +1,70 @@ +/datum/superheros + var/name + var/list/default_genes = list() + var/list/default_spells = list() + + +/datum/superheros/proc/equip(var/mob/living/carbon/human/H) + H.fully_replace_character_name(H.real_name, name) + for(var/obj/item/W in H) + if(istype(W,/obj/item/organ)) continue + H.unEquip(W) + +/datum/superheros/proc/assign_genes(var/mob/living/carbon/human/H) + if(default_genes.len) + for(var/gene in default_genes.len) + H.mutations |= gene + H.update_mutations() + return + +/datum/superheros/proc/assign_spells(var/mob/living/carbon/human/H) + return + + +/datum/superheros/owlman + name = "Owlman" + default_genes = list(LASER, RESIST_COLD, RESIST_HEAT, REGEN, NO_BREATH) + +/datum/superheros/owlman/equip(var/mob/living/carbon/human/H) + ..() + + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/under/owl(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/owl_mask(H), slot_wear_mask) + + var/obj/item/weapon/card/id/syndicate/W = new(H) + W.name = "[H.real_name]'s ID Card (Superhero)" + W.access = get_all_accesses() + W.assignment = "Superhero" + W.registered_name = H.real_name + H.equip_to_slot_or_del(W, slot_wear_id) + + H.regenerate_icons() + + +/datum/superheros/griffin + name = "The Griffin" + default_genes = list(LASER, RESIST_COLD, RESIST_HEAT, REGEN, NO_BREATH) + +/datum/superheros/griffin/equip(var/mob/living/carbon/human/H) + ..() + + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/griffin(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/under/griffin(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings/griffinwings(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/head/griffin(H), slot_head) + + var/obj/item/weapon/card/id/syndicate/W = new(H) + W.name = "[H.real_name]'s ID Card (Supervillain)" + W.access = get_all_accesses() + W.assignment = "Supervillain" + W.registered_name = H.real_name + H.equip_to_slot_or_del(W, slot_wear_id) + + H.regenerate_icons() + +/* Dont fill out until ready (sprites + powers) +/datum/superheros/lightnian + name = "LightnIan" +*/ diff --git a/paradise.dme b/paradise.dme index b15100499bf..534c3eb3d2f 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1183,6 +1183,7 @@ #include "code\modules\mob\living\carbon\life.dm" #include "code\modules\mob\living\carbon\shock.dm" #include "code\modules\mob\living\carbon\species.dm" +#include "code\modules\mob\living\carbon\superheros.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" #include "code\modules\mob\living\carbon\alien\alien_defenses.dm" #include "code\modules\mob\living\carbon\alien\death.dm" From 0e3b3edd29dbb7abd8c4d36d012d0bdde9700c7a Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 5 May 2015 19:12:49 -0400 Subject: [PATCH 02/13] Added the wizard lightning spell, NOT to wizards for now --- code/datums/spell.dm | 40 ++++++++++++- code/datums/spells/lightning.dm | 98 ++++++++++++++++++++++++++++++++ icons/effects/effects.dmi | Bin 268982 -> 269670 bytes paradise.dme | 1 + 4 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 code/datums/spells/lightning.dm diff --git a/code/datums/spell.dm b/code/datums/spell.dm index e03f172f2a2..7aeee98f92e 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -1,3 +1,6 @@ +#define TARGET_CLOSEST 1 +#define TARGET_RANDOM 2 + /obj/effect/proc_holder var/panel = "Debug"//What panel the proc holder needs to go on. @@ -235,6 +238,9 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin var/max_targets = 1 //leave 0 for unlimited targets in range, 1 for one selectable target in range, more for limited number of casts (can all target one guy, depends on target_ignore_prev) in range var/target_ignore_prev = 1 //only important if max_targets > 1, affects if the spell can be cast multiple times at one person from one cast var/include_user = 0 //if it includes usr in the target list + var/random_target = 0 // chooses random viable target instead of asking the caster + var/random_target_priority = TARGET_CLOSEST // if random_target is enabled how it will pick the target + /obj/effect/proc_holder/spell/wizard/aoe_turf //affects all turfs in view or range (depends) var/inner_radius = -1 //for all your ring spell needs @@ -260,7 +266,26 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin continue possible_targets += M - targets += input("Choose the target for the spell.", "Targeting") as mob in possible_targets + //targets += input("Choose the target for the spell.", "Targeting") as mob in possible_targets + //Adds a safety check post-input to make sure those targets are actually in range. + var/mob/M + if(!random_target) + M = input("Choose the target for the spell.", "Targeting") as mob in possible_targets + else + switch(random_target_priority) + if(TARGET_RANDOM) + M = pick(possible_targets) + if(TARGET_CLOSEST) + for(var/mob/living/L in possible_targets) + if(M) + if(get_dist(user,L) < get_dist(user,M)) + if(los_check(user,L)) + M = L + else + if(los_check(user,L)) + M = L + if(M in view_or_range(range, user, selection_type)) targets += M + else var/list/possible_targets = list() for(var/mob/living/target in view_or_range(range, user, selection_type)) @@ -300,3 +325,16 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin perform(targets) return + + +/obj/effect/proc_holder/spell/wizard/targeted/proc/los_check(mob/A,mob/B) + //Checks for obstacles from A to B + var/obj/dummy = new(A.loc) + dummy.pass_flags |= PASSTABLE + for(var/turf/turf in getline(A,B)) + for(var/atom/movable/AM in turf) + if(!AM.CanPass(dummy,turf,1)) + qdel(dummy) + return 0 + qdel(dummy) + return 1 \ No newline at end of file diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm new file mode 100644 index 00000000000..9e4994b5b9d --- /dev/null +++ b/code/datums/spells/lightning.dm @@ -0,0 +1,98 @@ +/obj/effect/proc_holder/spell/wizard/targeted/lightning + name = "Lightning Bolt" + desc = "Throws a lightning bolt at the nearby enemy. Classic." + charge_type = "recharge" + charge_max = 300 + clothes_req = 1 + invocation = "UN'LTD P'WAH!" + invocation_type = "shout" + range = 7 + cooldown_min = 30 + selection_type = "view" + random_target = 1 + var/energy = 0 + var/ready = 0 + var/image/halo = null + +/obj/effect/proc_holder/spell/wizard/targeted/lightning/Click() + if(!ready) + if(cast_check()) + StartChargeup() + else + if(cast_check(skipcharge=1)) + choose_targets() + return 1 + +/obj/effect/proc_holder/spell/wizard/targeted/lightning/proc/StartChargeup(mob/user = usr) + ready = 1 + user << "You start gathering the power." + halo = image("icon"='icons/effects/effects.dmi',"icon_state" ="electricity","layer" = EFFECTS_LAYER) + user.overlays.Add(halo) + spawn(0) + while(ready) + sleep(1) + energy++ + if(energy >= 100 && ready) + Discharge() + +obj/effect/proc_holder/spell/wizard/targeted/lightning/proc/Reset(mob/user = usr) + ready = 0 + energy = 0 + if(halo) + user.overlays.Remove(halo) + +/obj/effect/proc_holder/spell/wizard/targeted/lightning/revert_cast(mob/user = usr) + user << "No target found in range." + Reset(user) + ..() + +/obj/effect/proc_holder/spell/wizard/targeted/lightning/proc/Discharge(mob/user = usr) + var/mob/living/M = user + //M.electrocute_act(25,"Lightning Bolt") + M << "You lose control over the spell." + Reset(user) + start_recharge() + + +/obj/effect/proc_holder/spell/wizard/targeted/lightning/cast(list/targets, mob/user = usr) + + var/mob/living/carbon/target = targets[1] + + if(get_dist(user,target)>range) + user << "They are too far away!" + Reset(user) + return + + user.Beam(target,icon_state="lightning",icon='icons/effects/effects.dmi',time=5) + + switch(energy) + if(0 to 25) + target.electrocute_act(10,"Lightning Bolt") + playsound(get_turf(target), 'sound/machines/defib_zap.ogg', 50, 1, -1) + if(25 to 75) + target.electrocute_act(25,"Lightning Bolt") + playsound(get_turf(target), 'sound/machines/defib_zap.ogg', 50, 1, -1) + if(75 to 100) + //CHAIN LIGHTNING + Bolt(user,target,energy,user) + Reset(user) + +/obj/effect/proc_holder/spell/wizard/targeted/lightning/proc/Bolt(mob/origin,mob/target,bolt_energy,mob/user = usr) + origin.Beam(target,icon_state="lightning",icon='icons/effects/effects.dmi',time=5) + var/mob/living/carbon/current = target + if(bolt_energy < 75) + current.electrocute_act(25,"Lightning Bolt") + playsound(get_turf(current), 'sound/machines/defib_zap.ogg', 50, 1, -1) + else + current.electrocute_act(25,"Lightning Bolt") + playsound(get_turf(current), 'sound/machines/defib_zap.ogg', 50, 1, -1) + var/list/possible_targets = new + for(var/mob/living/M in view_or_range(range,target,"view")) + if(user == M || target == M && los_check(current,M)) // || origin == M ? Not sure double shockings is good or not + continue + possible_targets += M + if(!possible_targets.len) + return + var/mob/living/next = pick(possible_targets) + if(next) + Bolt(current,next,bolt_energy-6,user) // 5 max bounces \ No newline at end of file diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 97b9a24eb2f1e45e5154e6d7192518affb558e07..62998f37b7cb64669c191ab2708bb0aa39fd5d13 100644 GIT binary patch delta 10082 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 delta 9388 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 diff --git a/paradise.dme b/paradise.dme index 534c3eb3d2f..282559a4f76 100644 --- a/paradise.dme +++ b/paradise.dme @@ -167,6 +167,7 @@ #include "code\datums\spells\horsemask.dm" #include "code\datums\spells\inflict_handler.dm" #include "code\datums\spells\knock.dm" +#include "code\datums\spells\lightning.dm" #include "code\datums\spells\mind_transfer.dm" #include "code\datums\spells\projectile.dm" #include "code\datums\spells\summonitem.dm" From 2cb22ac64705bedad48976db17d69feb7bcb7827 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 5 May 2015 19:52:38 -0400 Subject: [PATCH 03/13] Finished adding LightnIan and the spells datum stuff --- code/datums/spells/lightning.dm | 3 +- code/modules/clothing/head/misc.dm | 2 +- code/modules/clothing/suits/miscellaneous.dm | 1 + code/modules/mob/living/carbon/superheros.dm | 31 ++++++++++++++++++-- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm index 9e4994b5b9d..a8b1d454572 100644 --- a/code/datums/spells/lightning.dm +++ b/code/datums/spells/lightning.dm @@ -3,7 +3,7 @@ desc = "Throws a lightning bolt at the nearby enemy. Classic." charge_type = "recharge" charge_max = 300 - clothes_req = 1 + clothes_req = 0 invocation = "UN'LTD P'WAH!" invocation_type = "shout" range = 7 @@ -13,6 +13,7 @@ var/energy = 0 var/ready = 0 var/image/halo = null + icon_power_button = "spell_tech" /obj/effect/proc_holder/spell/wizard/targeted/lightning/Click() if(!ready) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index e0741ed1ac7..753f0454fe7 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -237,7 +237,7 @@ desc = "Woof!" icon_state = "corgihead" item_state = "chickensuit" - flags = BLOCKHAIR + flags = BLOCKHAIR | NODROP siemens_coefficient = 2.0 /obj/item/clothing/head/bearpelt diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 1655618eb8f..6b5b86e00f5 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -156,6 +156,7 @@ body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET flags_inv = HIDESHOES|HIDEJUMPSUIT siemens_coefficient = 2.0 + flags = NODROP /obj/item/clothing/suit/monkeysuit name = "Monkey Suit" diff --git a/code/modules/mob/living/carbon/superheros.dm b/code/modules/mob/living/carbon/superheros.dm index 7d6891bcfb8..9de25fcd5d1 100644 --- a/code/modules/mob/living/carbon/superheros.dm +++ b/code/modules/mob/living/carbon/superheros.dm @@ -12,12 +12,18 @@ /datum/superheros/proc/assign_genes(var/mob/living/carbon/human/H) if(default_genes.len) - for(var/gene in default_genes.len) + for(var/gene in default_genes) H.mutations |= gene H.update_mutations() return /datum/superheros/proc/assign_spells(var/mob/living/carbon/human/H) + if(default_spells.len) + for(var/spell in default_spells) + var/obj/effect/proc_holder/spell/wizard/S = spell + if(!S) return + H.spell_list += new S + H.update_power_buttons() return @@ -64,7 +70,26 @@ H.regenerate_icons() -/* Dont fill out until ready (sprites + powers) + /datum/superheros/lightnian name = "LightnIan" -*/ + default_genes = list(REGEN, NO_BREATH) + default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/lightning) + +/datum/superheros/lightnian/equip(var/mob/living/carbon/human/H) + ..() + + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/under/color/brown(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/corgisuit(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/head/corgi(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow(H), slot_gloves) + + var/obj/item/weapon/card/id/syndicate/W = new(H) + W.name = "[H.real_name]'s ID Card (Superhero)" + W.access = get_all_accesses() + W.assignment = "Superhero" + W.registered_name = H.real_name + H.equip_to_slot_or_del(W, slot_wear_id) + + H.regenerate_icons() From 3503c285fa262141f24385562cac5497934de594 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 5 May 2015 20:48:27 -0400 Subject: [PATCH 04/13] Add toolbelt with smokebombs and bolas to owlman --- code/defines/obj/weapon.dm | 98 ++++++++++++++++++ code/game/mecha/equipment/weapons/weapons.dm | 29 ++++++ .../objects/items/weapons/storage/belt.dm | 12 +-- code/modules/mob/living/carbon/superheros.dm | 4 +- .../designs/mechfabricator_designs.dm | 11 ++ icons/mecha/mecha_equipment.dmi | Bin 16768 -> 17394 bytes icons/mob/in-hand/swords.dmi | Bin 29521 -> 29948 bytes icons/obj/weapons.dmi | Bin 45334 -> 46072 bytes sound/weapons/whip.ogg | Bin 0 -> 12638 bytes 9 files changed, 147 insertions(+), 7 deletions(-) create mode 100644 sound/weapons/whip.ogg diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 2462c13c2a7..62013c9b60e 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -266,6 +266,104 @@ SA.health -= 20 ..() +/obj/item/weapon/legcuffs/bolas + name = "bolas" + desc = "An entangling bolas. Throw at your foes to trip them and prevent them from running." + gender = NEUTER + icon = 'icons/obj/weapons.dmi' + icon_override = 'icons/mob/in-hand/swords.dmi' + icon_state = "bolas" + siemens_coefficient = 1 + slot_flags = SLOT_BELT + throwforce = 2 + w_class = 2 + origin_tech = "materials=1" + attack_verb = list("lashed", "bludgeoned", "whipped") + force = 4 + breakouttime = 50 //10 seconds + throw_speed = 1 + throw_range = 10 + var/dispenser = 0 + var/throw_sound = 'sound/weapons/whip.ogg' + var/trip_prob = 60 + var/thrown_from + +/obj/item/weapon/legcuffs/bolas/suicide_act(mob/living/user) + viewers(user) << "[user] is wrapping the [src.name] around \his neck! It looks like \he's trying to commit suicide." + return(OXYLOSS) + +/obj/item/weapon/legcuffs/bolas/throw_at(var/atom/A, throw_range, throw_speed) + if(usr && !istype(thrown_from, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas)) //if there is a user, but not a mech + if(istype(usr, /mob/living/carbon/human)) //if the user is human + var/mob/living/carbon/human/H = usr + if((CLUMSY in H.mutations) && prob(50)) + H <<"You smack yourself in the face while swinging the [src]!" + H.Stun(2) + H.drop_item(src) + return + if (!thrown_from && usr) //if something hasn't set it already (like a mech does when it launches) + thrown_from = usr //then the user must have thrown it + if (!istype(thrown_from, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas)) + playsound(src, throw_sound, 20, 1) //because mechs play the sound anyways + var/turf/target = get_turf(A) + var/atom/movable/adjtarget = new /atom/movable + var/xadjust = 0 + var/yadjust = 0 + var/scaler = 0 //used to changed the normalised vector to the proper size + scaler = throw_range / max(abs(target.x - src.x), abs(target.y - src.y)) //whichever is larger magnitude is what we normalise to + if (target.x - src.x != 0) //just to avoid fucking with math for no reason + xadjust = round((target.x - src.x) * scaler) //normalised vector is now scaled up to throw_range + adjtarget.x = src.x + xadjust //the new target at max range + else + adjtarget.x = src.x + if (target.y - src.y != 0) + yadjust = round((target.y - src.y) * scaler) + adjtarget.y = src.y + yadjust + else + adjtarget.y = src.y + // log_admin("Adjusted target of [adjtarget.x] and [adjtarget.y], adjusted with [xadjust] and [yadjust] from [scaler]") + ..(get_turf(adjtarget), throw_range, throw_speed) + thrown_from = null + +/obj/item/weapon/legcuffs/bolas/throw_impact(atom/hit_atom) //Pomf was right, I was wrong - Comic + if(isliving(hit_atom) && hit_atom != usr) //if the target is a live creature other than the thrower + var/mob/living/M = hit_atom + if(ishuman(M)) //if they're a human species + var/mob/living/carbon/human/H = M + if(H.m_intent == "run") //if they're set to run (though not necessarily running at that moment) + if(prob(trip_prob)) //this probability is up for change and mostly a placeholder - Comic + step(H, H.dir) + H.visible_message("[H] was tripped by the bolas!","Your legs have been tangled!"); + H.Stun(2) //used instead of setting damage in vars to avoid non-human targets being affected + H.Weaken(4) + H.legcuffed = src //applies legcuff properties inherited through legcuffs + src.loc = H + H.update_inv_legcuffed() + if(!H.legcuffed) //in case it didn't happen, we need a safety net + throw_failed() + else if(H.legcuffed) //if the target is already legcuffed (has to be walking) + throw_failed() + return + else //walking, but uncuffed, or the running prob() failed + H << "You stumble over the thrown bolas" + step(H, H.dir) + H.Stun(1) + throw_failed() + return + else + M.Stun(2) //minor stun damage to anything not human + throw_failed() + return + +/obj/item/weapon/legcuffs/bolas/proc/throw_failed() //called when the throw doesn't entangle + //log_admin("Logged as [thrown_from]") + if(!thrown_from || !istype(thrown_from, /mob/living)) //in essence, if we don't know whether a person threw it + qdel(src) //destroy it, to stop infinite bolases + +/obj/item/weapon/legcuffs/bolas/Bump() + ..() + throw_failed() //allows a mech bolas to be destroyed + /obj/item/weapon/holosign_creator name = "holographic sign projector" desc = "A handy-dandy hologaphic projector that displays a janitorial sign." diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index fc8c5ee658a..3f82973767d 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -468,3 +468,32 @@ log_message("Launched a mouse-trap from [src.name], targeting [target]. HONK!") do_after_cooldown() return + +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas + name = "PCMK-6 Bolas Launcher" + icon_state = "mecha_bolas" + projectile = /obj/item/weapon/legcuffs/bolas + fire_sound = 'sound/weapons/whip.ogg' + projectiles = 10 + missile_speed = 1 + missile_range = 30 + projectile_energy_cost = 50 + equip_cooldown = 10 + + can_attach(obj/mecha/combat/gygax/M as obj) + if(..()) + if(istype(M)) + return 1 + return 0 + + action(target) + if(!action_checks(target)) return + set_ready_state(0) + var/obj/item/weapon/legcuffs/bolas/M = new projectile(chassis.loc) + playsound(chassis, fire_sound, 50, 1) + M.thrown_from = src + M.throw_at(target, missile_range, missile_speed) + projectiles-- + log_message("Fired from [src.name], targeting [target].") + do_after_cooldown() + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index b1286930c42..db68c73ee56 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -191,7 +191,7 @@ "/obj/item/weapon/soap", "/obj/item/weapon/holosign_creator" ) - + /obj/item/weapon/storage/belt/janitor/full/New() ..() new /obj/item/device/lightreplacer(src) @@ -352,15 +352,15 @@ origin_tech = "bluespace=4;syndicate=2" allow_quick_empty = 1 can_hold = list() + flags = NODROP New() ..() - new /obj/item/clothing/mask/gas/owl_mask(src) - new /obj/item/clothing/under/owl(src) new /obj/item/weapon/grenade/smokebomb(src) new /obj/item/weapon/grenade/smokebomb(src) - new /obj/item/device/detective_scanner(src) - - + new /obj/item/weapon/grenade/smokebomb(src) + new /obj/item/weapon/grenade/smokebomb(src) + new /obj/item/weapon/legcuffs/bolas(src) + new /obj/item/weapon/legcuffs/bolas(src) // As a last resort, the belt can be used as a plastic explosive with a fixed timer (15 seconds). Naturally, you'll lose all your gear... // Of course, it could be worse. It could spawn a singularity! diff --git a/code/modules/mob/living/carbon/superheros.dm b/code/modules/mob/living/carbon/superheros.dm index 9de25fcd5d1..f218fd96074 100644 --- a/code/modules/mob/living/carbon/superheros.dm +++ b/code/modules/mob/living/carbon/superheros.dm @@ -29,7 +29,7 @@ /datum/superheros/owlman name = "Owlman" - default_genes = list(LASER, RESIST_COLD, RESIST_HEAT, REGEN, NO_BREATH) + default_genes = list(REGEN, NO_BREATH) /datum/superheros/owlman/equip(var/mob/living/carbon/human/H) ..() @@ -38,6 +38,8 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/owl(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/owl_mask(H), slot_wear_mask) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/bluespace/owlman(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(H), slot_glasses) var/obj/item/weapon/card/id/syndicate/W = new(H) W.name = "[H.real_name]'s ID Card (Superhero)" diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index b7d49332314..f794e062c64 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -741,6 +741,17 @@ construction_time = 100 category = list("Exosuit Equipment") +/datum/design/mech_bolas + name = "Exosuit Weapon Design (PCMK-6 Bolas Launcher)" + desc = "Allows for the construction of PCMK-6 Bolas Launcher." + id = "mech_bolas" + build_type = MECHFAB + req_tech = list("combat" = 3) + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas + materials = list("$metal"=10000) + construction_time = 100 + category = list("Exosuit Equipment") + /datum/design/mech_teleporter name = "Exosuit Module (Teleporter Module)" desc = "An exosuit module that allows exosuits to teleport to any position in view." diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index 1aaacb76193d1802a91c03305bac2d9c0958eb27..de73cb8d08869b762a3092b9c0042a171526b534 100644 GIT binary patch literal 17394 zcma&O18`qa_b&X48a0j4*l66SF&Z>U!^XC4+eTyCwr$(CZGETjJO7z)KHPgVlbktc z4)$Jq?S*GOE5Xu|A_#EUa3Bx}LG+iPEO6ZX_Y3n0_=`e?7v z*%@0}fIv>EaWP|(Jq$>G6IXwf&d`Ze8uxuvvhbG`gIMoT=!cnK^OJ_eE6dzhlgSAY_~`<_5gMtsh#i94J@QO7 zeh;T8udl}?cL4>-R)p^u7-*61dq0cLHCV4bYsCr5>E znSWY6H`=rlb~`LAhRDUe!$9po52jB-_NV1_58|`MEC^Of_uxQ<)B& z$48&IHZE#BE404vvixg2_0+L9?;rM0fugcM^}`o6)WkFnU)3>7zJfic;gOb z_k@fEtyUHYX@f*t7!Bk2dESWYWNR7@ZZ3!xh2W@=UEBgroN@sS+LU<$yrP#xrTrNx zgYi8mob40A?VYd68Se=@tiNiIGBWZVU8a=7sr1|f%Snh>$(&fZ;rC6ZfNu?dkRauX zpGR&8H!-dMK;Ql-oYN?32;I;T6cHIg+&ro1u(+m3OgNXp)R{7>lQ`chrmZ0+_KW)& zpu|;A!k!dVu5N0-c7TX$WJCN{Z4widkv3a4u810l#0d>1wHf#6_i;Ws2Zze#MN!sG z<^XVDMAn^6CF^$IAvt2Pf_w;%%yqp0^W$KuxeIICZpmI4slXc=I{hVC--M{O7e$1i zqkQ5Mn#F?wb@@Ge4i$2SODrS&LHr=;qUM%+XJSI$-EDMo$TIHm(1_n<$z9|wh-u~l z!KmkN^w!}`2<0fRu?-Ey5%GjzxB}jr0V>G5A?U7#lt&lr>jk_*Nw8?6K&6U=;6gbK z&X37`o*PqUbTy$#vAk+Z{2@H_u<;tZ@+cGRjnWiU}E0sY%Ty80!*cFxUhFc2X+$PoU^b`dB7(CChzzB~{k(Ur8 zI9&bMM=~5KE&pVw7%x1H(}Bpcpi1V*Uwr3G(z)$}7c?}6zx1?+e*Mb&fXCDlz=Hjf zzQ%BDMxbrism9fB&u^L?d#_r|hJBHsqKpjH*r&1&?!Gc@Ih?VGf5T1zPtRx`U-Ysm zyD6fYv7g(Liz2t=J(?}B{0tqNq$*#xTKg8Oq8gYy4GmL#DoyKt3zcaB)_EMMu$<?tGJ+~6`p>6FJCJ87lDs68& z5VfW35X|CxU3W9@(|Bq;8pYkUids}!^5ICJ>~HOtekr`? zvlshgJ!{VfhqK1SXc_a5r<()Qwh5H`^%`ru*77?`Hp0)lUu;_#Fq6m_m$!e-?W^w( z>?8aj?Zy3?%K=FE=POI8YF#pZ+0UzmIOMBcLRPnX-u!x80o9CRUh0~|@8<3t(aLs7 zGeuWi9usJw_8;xxgF`itqJPcbd`;2(xQ`y_EPCA6F0z_9ytqXJVYAs91yl+6G&_Sd zbWPIULn1l1Zmhxh3GnymvtkeD%hl(){v=4hJZ<7kenNs?J-!KPv~(kVV%KT02gE>U z7)*EKQ~0%X4h89q?%6;PU1&S{$IuV~`$8fBECH^R* zxG?kx*GPb-`p_K`tFoAEX+$vRbReE=D0{^-<^*H~@_)v)unVXc?c(Bc$0DeBNu5Fs zKyj?xkC{xrCA)%pu7`356DN5W6?P$4eo8tOeaxCa65rN*UWV?@d80`B`znhk{4FgO z1#yO|vVw-SE+f(mnT+*fJ9tPJASYNkLPkoGn{%5TE4)dL)jk{`-1uoE!qvr1E%Kij zRS%R&Dokb;w(kOIc0v@z;Z(TBY-h<;vV*r)m>3UlequtIYkS0For+{frsw;-A2a%`@+qiQNh`xz6lEsp@hM~LBvQ*Mfsg)Rtb2)(q~9KJMm<)s?z<`+cA#|!`4 zM|-oU_xC5W!H+R0Vq)T8jVl`)$4#<3!}n(^!JV~Tee>oxyOOIPn3w4S0W$DP)z z^Oxl(b~bJVwoDkKBZ$Atug=Gj`|>G5`vdEm_Px7XO-|2n>$u->nyN-5L0daY^?(R^4 zr@AZPmw<`Y6gH2omHCdXjoW0%@CqH!J(1pA%TjOoD!2D375dYvx9H9<-{~fko5_ItTValz6-$L1oeZ=B%%E|hQh||+6N7Wt+07}9)_Y+Ykjr6GW@xuJ| z@Qg#5*L6+HOVZn2beM?WE zOL4=VOC7MY&FW}WyAiDKC%qU-;U`rx((B?Ulhq`1*hLi#+0oT7JuhEN@^Ups8LU4@ zH9Ymc0y?#OeErDv&Iw9JFY1I=uyiYs^lY!YeW}Bw-sz`1ynQhMPgL4z&bKrjl=~MW zG%;;UQN;Dyqo=dbG^NmH9=PtOST@JYG&;@QEwhhPenAVMTBSW z$B0=)@<5}l_8|GARm6eUl!ONfs*xa(8$-!*M^G0z*>Ov=CvX&!+f^!n-zYoJD<4S!xO*bW8h1Zp#9D>#Fu4VusJ_=vbT_gI`XCA}$N}qyaYoWSKl>f#xrJWRa zorJCYFY^VM^iF$n;Zgb=AQ6+*z1Vn#7Y;(N75*|-&r0DNOTus1kK(lSdY0k`@bW2~ zh$eLlcoHJmODOEl@eIevRp@eO>tTNe;%&awRdx})y1PCM8i(O@@UvLB%~cJ}wv8Jj zBJ5ct>rRY%1Hmg~kyLg2aTdzbkSN#djl=VXBlN|yyk$@6MKptS%?V$f z1~h&KLOB63-KH#NX;Y>nm?t_LwU^>aV%VwA@rXs`Wl;yy3xR!mu8(hGhRF~a zHA~Y$E$H!K78KRtLVb}QOv1S|%XR|9oC6VfzO3&036=Tocizq?w(9UWY+gXH{M3a# z#@RVzN&IE9b*odzEF6brf2?>65twBG-b6VSprWU773(NW;1-Ib1KRuPGt5(wyV=Cv5EJ~QxQ^yAX5WItq zxp3Ocq->i=cqSWY-8q;sv3sE8jeY>HHNc;@Jxk|3bh!Nvi>~7vw7V|`S&P~NQym*S zIP}<~*P+J}{=gRhVnJUG0!G#h4BBaPVQA6?dYiPXx&Fu*0>^8hH}WZH1a*JqF+^Pt z1AQ3pDoH3o`Egb;1l|Qz*BE!7V8JuzK~qD2dkW*#{Qef(KWECwk5OhykAh;V+0=2| z^F=#01i&YmAZ9Qqy82nU`^=#2BQ$Lj$pAsbXq5^^C;OK;dcUFh$_yb6EJdiE>J z_;NbLT3}v&YPzlC9XgI#0IK-YZ%&u+fKf|#EpzSlh#>0RHTZ46wglwB(Z!#bz4POR z#p(sfeTqASm{9&Ju&UxSuEca!Z6NFW=2n_F4?#^?lZ0a*EM^^s?Ocr<<8%Gaz)oIZ z&h{l>)Re0}i>Rr2B-#8a0sKJ@(gBU{(<9JzDyHr)K*Gn(0w>+Ag)BlCLD~Xu{aL}W zXNwo<#Oc8MENE*8Ewmt08o~iynx8-Gy$B;!2smCzLl$ab%Gk!k>{HuJ;8+zd!?=kb zP$`KZX9|Q1jwutjzHSQ$fBuMVl{(Ieo&O$(#rP`4Rj0Kqfr{I=L` z$z_CXE6dQ8&hH9zxIg+27rL9`1$?CC9Doj zduncIHN3I;bHwbR?96TYzm2;iWDeXcYp$(PiHAEaLwY3vg9G<3c2>f!la>}-tTjSk zj2?Ht*czV;b;f`>V;jwH#7$Bxn4s2~SUBk=L(0ykoyW0MEQXba8zH0pu%H$AE%A%) zz{>*BYBw7Tvq3t8gnnaPu4tnBz+hWN0S?GIs*yz|1~L{0_|q$H?AbhS>rEe%$aHoz~K-@QL);h=xvKGi9zoJT``kLjyZNR-t@gZLA&3e7t-8QZ76W z)3~MTI`jTU+p$C2N{4^|+;h&z&)5Dl4{jvHPp;bj}%Oy=UP!>Jq~ zJgl~uGf6Ii*sWAUmij_mSPg-!PLhaxt;qPPd(W+1ikl>G7klyyjL(kgKT&fYu)#wt z&_;r>rE*yYmiURxh4RaShh&(b#4jRrs0HnRUahfd7JWHe^(v=~3|1-ohChY!W!}gn zt-k89{RmlddWi&gxhbpvIiu~v`>HSnki6gO$-)U2TmjvOr#XYMUlQA96w-HF)R*u4 zp7LSZwR%r{AP+azqHp9H-H6$jUV$8|R0BOLv6sHBYYmE6pc2Pc;g@)R5M(_}@0x^! ztvyH+cSFG(qb1MZ89V1T)<9KNWg66(BY{(G&vq%(ko(IMkD$(2&z$Ou&z1F#_xuCqeK#7s3l!gD60`<`Czf;X8F8XwXVq&W%%KDJsamhI58fAW7WX9O% zuk@p_afySgO}75iC5luJj7qbedJ{0gR9th^S69Dr8B-(Q?};w_db*WhJ{aN` zI|5MOwP_OGvByd1!*}u$G`9ONHJP0WzA^?I@8D~XG;A?+e9*X9=EES?+Kz{wWX3 zZRj@)fk+C(`2TFs>`1jAVZh$-nAt!S1vKOLMH?kLU75WKRSFBc#u>eirpxc4aK@G< z48_`KT@Z;&InZ5MS*<7pQdWZuF`nzhykT8LJx&%=yDrE%W0!JQSEs8r30~al%CL~2 z1aGf3`3n)RXyn+=?iR@ch|RqOO>%DTH52?(Dj1H74T%hc?I-uo^2dahMhm}%8k;E) zS3P+h0|K@$4hHBu-iJ*~6ktEp+FM1L$wkv{<{91*?*~HD^-N5@;c?gz&Pg|d!oFfs zRRnxOLVjWfse^At(l|LxF_ZsBgCI0ps`fXY$%i$aFO@N7#^yK8lV+5B2}H=WSlBo; zY6{kdIb25oUyic7hp~<4r3W&iu(6hsY`&%E)rAjI&ko)&M^AKnV))B9c@eo81EQCS z`EDQdIQg*}3Hu^!F_YGfc^>h_yUjbygv|5jP3H2{4aI_(wNz(_FR;o)IG5iRbZNQf z24A3&kO=EH9Znac|Ncd@v9SSB($M5qRz~fQrKq~m(_x%+9336~jfVUz zH&!@?Ab%#60dw(yrV{Azcysbx0?FPlqINIV=0d0|4TpvqKm!EDWcGoeoFX%k90^!BH(&MP*1AOf<*yxCsFQ zHiq6+Yx4H&*y)t76unxMx`gfd=Q0f`7#32YQs;Z+|81hkBW5RkoSRtayIn#5vA3wFGM)wi2roy72?6Z zBM@v2f0IaSF3w3oJ=l8$LNMPUsgU*Zm^u zE=I!CXpjF^4}P_4OSas=be=erI0AeBRuQSsoXPnGb3~#aHHIqd#o;s@A|j%gxcJr8 zRaRl);Py+#>e>_cmCsMlh&-Ro>aOQHqjg+Q-VPHT&WyjktzFPd9u6@>9{hO%Ca+Hf z@wAnUn&;sZTbCF1CPycW?KvhB>l^+r{USc&&38=XXUUKFFDZvwIH7}1oa24|i1cYO z4P(*c>aU|E*W9zDJXB|YNnuWHMmIe|b`R9zR>;E=8aJMgQdXJtK1++57aD+-_4TzR z%l_)P&$5A`^V;i@r;EJu5cSjF({F5P0$`27j8Y|D@kCxHYqG7|?;QB6tT2dDh~4Lh zqWgJ|*bTao=Wz`!kPX|B)C)8rlRvo7`3e&fM8kgE(D?!0+j*(xPy9?I4}scLOzfwCoHTzX(=gj)iD&y*u)J%M6*)n06!Ld*Buyir3TL708U?a`_NsS4IvIV7{!(;Abbalo@T zGBN)>1-vO`DfXciBULclhTBY*n?^Iz2!P=yHQOOz`wrHsl!+yiG#;jX>*~XCpLlGP z`-naEU_szz$}gu@;gt=%V7)h4M&Q9Awz;MO(-K&ecE&BtlXMCOoN4zk(a&A!-f3UV zSSz7)aNE0XeuHt(fKXWL*VYe;!1_8@&&{{H3(hu{NsUo>pJ4^{()eT9jSN9`m5@A1 z=;f2W}MiYk#D{;a}5okb)Iyqm!PT~?? zMa2UvE+a;*YQLo-ObjC8{y8{248D0Y!K=u9)r;ywvVvd}+dvp|7wgwZY{v)+^^7p+ z?qAru+4k-&G@9q4JpZ%*u_TovF&Iaag(A4O{}V;Wc4IyaTTaaS#QE`4ZPu8HOq60m zc{J@>A%EU$JY_(jg-KRtGVyQ>8r&BWiRwF+W6VFRqsv(^(pd^vj@8r_24^ymg_)az zf9?6v(Ncqm`JkXEvSFn8yMlq_LfVQr1oZFn+|e(%1_JExeGM%-9mri$tsI4tx2dM4 z<~rbMke6_d@(SQ}{Fw|!H_KbjiCI`!++Oa_B8{1o?>bS+6iRFz@GXUatRi#DNTd1X zyaluUvKzkEVlBDqA$Th4%NOo3(~34$$B}qieXRjf0jNM3j%`a@X6*0+l`=ZzDjle< zuC7|MB@|6f%~=x`baZqy420(s3oSR%xxCzq`29?U|_`42D8OPOPL1H-5 z;cVIZ?b#kM5ltR%9JDI6QJ4|m=;;d-D>U@<^uj*Pv$K^n;Ip-X$hIU>YkQ9wg@RbG zN(&1&ulGhyKTJ4x499v`R#Jf2aBFL;>se8Q>~@DAls-OwST-ne<};qbDV+Gj7*@T- zA@1Snrbw=_scGx{ToMR2FYoUS z7RuH23=KER=1j~hWMn*@o6S{pX@x~%>QAa^UYGs1alh~E!Jl?b-L^QK4Ua0XX;f`M`wFxt=XRBJ>jPx4?|E)49fWX zD?GpBny7=r{j)IIhWQ+}DRJj>$QLG{GPE`Ou)UrC=fDKgRp{{7bIcut-W7L)8#edq zR@2^$lm3CE0}h5w8Zg6~g9u~`Xlg7L!{E)CY#bq|{1eT22KIY`uV25W>+9>=a{Ao~ zT_RJ`(d8>!AsJ3jltRz58Ra9aMwC^}(PUnstkwm8AyMIxdgihV`JnMFJF))dS0}1j z?N)_Dc!CIXnyq`h8a%q#gc`OwrJ4pMuH)CPF0$pUXsYGas_DqFvTtIhQdSS1STJSu z?s&Fb*TnZ@TMQM)>khbDnssAg6z;CQ-5addL03-MaC6{WIA?PG?HT}pcL4(h&w@SH z+;0+Y{#kJm!EC@l3A+e+xuJR@POU|n#83Oa*70Xf{tFkirnkt7u{KZN0Vz1LKuzx>YUzx!>`D{6zTD>-FOQBfUmC@IM3Khbodh8Q zsSE#juX@A&81N+nbj9f%6#oz>uX>sMBYKsCwR`adrQ@m}M__nw1S7JI0QC>`)Uw!0 z>&DCqf?QHnse0qEg=0ssH6=B5=;^6hcK`yJP@K**Hm8LFTFdwa_~J%Xl93s(EG7|O zQ1|uEeI&~rvYy~EDjl{QVgtMDZuriRxuQfZX`uz#q_aP(BK;2+z>%Y6+3`%`U$&>c zwsIo}GJQDoW7=pFIQ?{m-M;}=titb|_TilJAzrzmTeU-ZgM?3Kg1`uw)i@S{*^t`2Bcz_ST!`VU#AArwfjOht`=+0 z?aVf!**2CZW_cY8>`Ue$At5i(YwCNTwOcMC{n@R&D{)&6ymuN<^; z_SVs*Gfdmfk*Bs49-#oBH8t-Cl{yoa2KSfy$Hzx$S=sKn5=BudDb2`5Lc3<~8wR=` zKOR%SAU-KM`V(OFX8jC&&zdvYC^mJ$5b6Gl7IIhANhe>vIiEhDM_pqt7}pmaAs$W_ z1FwQvnrAsa+f-@)#>k^VWuZxVqqm()2B;xK_8tT-20>zTuP=cr(S_#gt#2;Lr=`@J z1P^I7$^iu2%1x@P+?j3DacH(in>{#g*L%H>cf2~W6_v`tGI$N$M{22|tK)yuD9G?Y zIYueyTw?a0SHfOGXGP95wo5F2i!n7k-Bw=4Y~dGqJpG0_IOWlhJk6F*39alTtshP{ z^|gRkDF^urM-<`^S$fC0Jke@K)3>8(-T=`bt7akbbl~v{*@1?BhyN?oL%K%(0KwGFcgzn(4N5 zlY=t@%D^d5%5=n3+|6u%t}MTx)CQrUN!c9GZy)_ZGc(srC;R7_FrPM~BWM3Sx(hp8 zOX?P1cXa0#?D6?ofm5p5ZMvmbaixB$Mv*>rql(R3wTqZP><@41x2vNX@n1vkfhEoL zg>U#IbQYLx-YJ=PHB{3^5U9mXnHLow{49VC?^=ujdo?YNICP9Uaq)U}j!B|e?NO)5 z*rBYS{#a3viak+5$*9#To&8XpCBe-gWAtJEp36Ftcc5p8iiE`H;lTs?8t~)d%*W?9 z4|J`C`E}dts~a3VJVJbRV9pTuysuDzr;7r@|&R6S;pn4Uc=iGT3o*;PZ;>S<%r1S7kt*yX75 zIrbPKIbCl#7bCvA3Pi2r9fdv6l%lu-V{vK2uTzm|$t1jWX*-QchL_?XuxbPo&d%40 zF5X?p(pQb`PfTe;&M%t6Dz8+pAMN*#xtk*Q19xK>dOOoC2z`(%GcCqISZKi7) zq><&bm*}#1wxTu{cCK6wGLL$5KvDo9F^VxC8|T{elkEV^68oN$YYW5u7CQ)c(Ng7O zd>n&hLo!m0PuPWn_x#O&lhxz;YWW^Q4Db=&-$FYvdWEg1O0X`yDWB0LtX@{%@GNMIO(Xo3}1HU)Fl*_%=+zO7Ku6`yNWKZuQO2tSTO ze%^rGEHlEM^ooj_7RLxxvU+RUO&RnHN&~2>`A9|dpxU6P_DZyohxv4mMWEma{6C`1 z|DWLVzn8=OWTXp4aMdMLku$q#C3J;VipNZrf$-Eq8JlTZ)?9H$q2K2lGt79zl_63u z{2Zk9K66FeJ+^ASnX^dA-2BM(wLR=jnG&DB%fJ%jdn%G~(R_(9HF#^E5pn##E7+XV zvSkn>l;ExYjR>@nEdMzN-U_LN_+#Z5>)MJ_1>cnU74uH#N~6K9i5nVt0o2Nv@ds6{#adh)-K`8xKS_w`)! z*V})8iAR*@n7eQ&* zHCaV|G%a)1vP1`?z||ek*#uA;Mq%&L`Ni4xJx5iPt;*IqmQ2C1keB3_$h}&WX=RHG z^Zid8oN)5K0Rn{+7BGf=W>#XbM>L^UElu9z5$=nVSG>m(UXq{XrVq(-YiPR94nJXA zx$vb2gg82h_XZf9M(JaR8wdi`K}X)_!yG49*PVj{#W7;H_osu?jgAkhG6hw7j4a0I zT(jIY((Ui-Az;oHaaEb&>H-`+#H;ldnKC@AHladmZDf##kPi!A5g;1caGa=Z#2Yim zJ7Fy0m zD*V6OmSQ4qsM`)n>J`%d#GT{9&{RtSr`12!47j^dap|i2E zeWRwHI=PdRlOu!yhk{~<@!`AKF9TrFRs)+fiIjT4OAM*-8U7uVtQM41|1-B#GQ6bo z99H006f1%anVH?%y1MP`Lny7R4EvdN*|fQA$_P?K@NtxBs+%M-42myLmIx+(1dJc4 z6hAg7EcKfbYL+^9E1ueS3Z9_xbfc47p*UJ?ns%R<@3+r3a_DT*C3C+NU^BC`y9s%a zch0=LK-JeFU|5_ErEC8d3ezu;0HaS)Nj88GrV++vb#;}Jo<3owytMRh!ITTFKX*uOoR>Fw)7#>5m65CE5&2+A%k z{fu1>suU9vf?8Ty3iEXO9DIN(Q}jDSvrPlhD>M|Ij*bqQhztrGo^!wW$ zSlQd#Q>uIU_<-YMIT0KwmdlB&a){)~Cbg1Y-`spM zvTy0cLP2-?FS}2IAro*H*kZLaDz~d$_u86zJzq?ot*vd(+?@P3Qc7A{s3@Vw28s+l zz7N;QqtlYASNC(8uD%|r_VaSE(af0-jSrYR z04uCE5;Ygl(PjUkfW2OC`4H46d&Njl(_MD$cu`7Z)u&W<@dItHmm)koTqx{33|pXK zk6Y4NLabuqlUhb%xBHYB5BSeeNPd5f?ikFUj)$^~C$kAbN_`^au$GVyCTE)AVWUo) z>Nyv-=Sd2V{Jg)+QYCbCpgCc6J?fmyVk?3KXc!76x*Rr*tUg(xx_Y5tX(W)}$;xQ( zyW|@Q^_-s$#*Ne~!aUu-XnuW|eCzG&-#R8X=^ZFgF1yGpJPde!%g)9@!<29EtA}*r zY}S)>M@p+Z)j*{Lg&`5h^7CPABxrhw3ij%Oe0-K=)zrcQ1EF2oG|tPXj_j&mV6)+m zkB`LywWf&A7OQgl|8A&%1Rr168p4`XC~yIg`)Z@LuPGTJOq@+RDXF3y5~Qr`%;8rX zXz4kf=aUK%82FRWC<h5lgFjv5Q~-*v)Rs^G0>YSsC7gseOg`fFo;wnM#XKO|R! zclgLW-)}PZpgHO3BZr5@ELI!6#qtCSW`-;P&?mk^Mp;=@UqA1(Djbh99)MWp67O41 zcx7mnE*-lD25=l5>)dEX&17{$Z=ZIHYPcATKu}OnHavjcaK7x~KV5H20MeOEg%%lE zSu;lN67beE_3HdP2~UsT>lF$mRMgb5Cti`*zD!e_BJv6 z4B&zJk*pjYq0JtU=VuX}RGanS#`~1~^734`xMs=UTtRQo{#mj`gJZOre+neI-XC|| zuKF;8Hjn{)Xh#DH(&Fzi-gqD(Om$^gS*G1@wA4cfu{B&-p1gULBR4j-x;|zzxXGpX zUt9NNjeji1)f)vL=+3ABOsln3?c7hXWDY1K{54;x-@4fFDJ-O{H(wD}QNi|d(@<7s z-`hinp#xvIfiwLjv-@vRYJ!%F0zB7ROkSywzIQyrSS}Tz1b2t;lc;VVihUSr>U_q z%Hz%@{77^SsX!|A?*n_yzu>UQZ*49%JDd2aMx~7PYbY#`z>2xKammQY0QM`%P6!K; zw`KrbYz^srz0B#d3z~|GYO7gNNI!4aL19=O*+)89Y_Gd-SN!%1LRPL|U}z|uG+4H{ z3jiBBu1-P3iS=#u1U^0PNZ}p-XOOa<8KmFZH0UE60N4%y%Ax4#5!an|5S({InK^{J z0lNgiS`51U+iQ0jg&4FhDwkJR{e42fkH6^8FgZj3IqU^aFD8-h&(|gnr%1qdZ|=`H zJEMqvks+%HDqB}=NTP`O{K*G;scijL0rFZ0CO$qsU|E~ysu~*;fpV6#v@}SL`%<=- zk{^kZ9@ENRK1(4q(otENs_>K`OkG(yxTS>?uv66~rmKV53MJO|WhPNyxm`$G953Q- zAQ(l1}TFGQC7O!!$|$; zYykKcz)smOM?{|k0|yTvKYap8%gG4>)*6r;8Ybq*o2N7jMs4NfdsXIK3laF)a82D3 zQhykByV_BJbR+w(9|@luEA>YdGGl=400$Rh<%oH(i;jktcnc+Vo^{1jv?W|E7fT^! z0N~ZEGxE(uXcn%;0a^0bhdGhc`4Tub*Y=IhECtoSaVOn&`VpEKd)L-{r>Aj%V(iX& zxiHeVy{{+$vb?F{0gI0AqUN7G;0q{Zp(=yHD5V_-p0aWPG9$Xa7oUEf7Bk&!cnBOf zI>4?1%x+6oUmeQ70+vN1p;|>|wc5l`EQRyK+5@g;i~xUD)s)FY3E!#7;LwnE|1H&P zv>g~yS=u7rR)|JLL1kqp!|$=UkPsW^D{_9M!NI}Jsv*>0QW6cEXO0V=+07o@s8Ui= zfaJb1nf!oya%MIqukUYeYT75 zWKVXp`^1kXd894)tp7f&yJk3;gYOmzk0rD8^a+tkjl~KAI{anz{uZrZ0M4fqn!xQ> zOFbBC#YXM|lzd~`lo50HY|)>+30aZGwv!gDf9Xr${HJgrGUIwa%-EZlCOlb&d3w3% z*twZtQ~eF(fC91oZrU2gUFtiIu7zXWt|&=Nm|`#KdE7q0xz=BQF2rRc3Ivf46&O^#qQ*jFXXqCg~_)fI>#>&BMjo z$ckk<70uHC?_cQb2pW~zK|wu~x0i>5#VTFkEC`6-JYLS&4D~MZ_w$i9;U~B$u;3AU zkvh5iqNZ#}<#hwT5RAXKxjO&*LLbU}IPd_z%OR2Tk)s#DU1l<#CIyr*I5^mA?}NXK zbq*2>XpBg(tLS)l$>D8O#$ko`t|=HfQb8dgRBe5IeKna!6g_9VZ23K47=rorO;zW8l@Z)aB>D%! z(MS8DV#QGs48wn0aJm4ZIY7V;1_(UZs(!#HOR8DTFdXoC$KpV2OM8FC6sdOq*3#lJ zVQe+|K`ui}v-VcE61$QH*@+|3Fv%Mp!=2nbK7(&gpfCYN2H`BSxh;-#wMJ9z@C3$~9*kYa@jONj0zYZGwVW$P?+HW{ zDVT|li2;{mDbCHyV+2Mv_psrqdFIN<$XGm|k7fs0~%g<^nRE6=n)0CXdy#!4GJo8n(y~&Oz=M6pBqt6+9_l6J@{ulJ3u8H^xmx zhgf#M7f#Toe!<(>3Kj^NaI^uM%*$n2`zfGTa&T}En2>;}tgKv(6uyCqirTaj!D(e{ z8=Jr)#o>wXilZ|szPW0SPz6*KfXg zb@@WWLnGqL0lXRQ{n4b{{QT*xpU@u9M-)$Pyg=1`;qvlQ3orl<1#M1OIz-ge;`NoF z7_Btt50rlSi~<4za+)SbaL~fHZ@_GACUzosc6K26#LMDM(b3Jq-Xc!Mx}_WLzc;n> zwDjsU$KMi54aTjukJex5siP-2zMTERD;7IsCrQ!GDZSfW@_?kJ=3{FaCExb!FCaNQMT!b{L(HFk(zWzWQ8WSB&ME}HNI#0u=CRHPq z!QYgCcA@wi>kKGLxj+OFx!S{$IY3?lI%0|Tzb z+_(U4*sphI_!ep_D-DsQr8M9W5MNo%ut-EA^d8RFfY@S~c%{vi4PWq}p!hQo85wvLA214uBf%z7VFq zrk2QWLjXK0@XhoWoDLXLzrU zLqaZhR(mse3;I`kdwa-wg)4al1v~ru0SyfeuWJC5|D<-*R$Dt;&XGBLd2^8d5baF$ zNxeS(ubC3NAdRu|2lydHdeq{88V4DGH;AC4qLTbh=Sqse;~c*0Xl>;JEnWNj`5~bYziY?fzz%}LfBxL7!Yy6x zME=B_dNTTw5OsaI;F$*l8LGi2_ef&Hqtid3f8UM(0}E@mQXfwBC*R6?h4nhb{i~ZH z*1>r17SJH)m9t@1eTYv%POd=hv1}3e!coRT%I{&MPWwwWX!M861AnKAVvFBe{8cg16x6{(;7N zOK#M(;h*#1u_ z>dpS&D2!#0@yB@1#v)%Cbs$~uPrZxiL6^Og$2n~x`V+Qos`bZ+#%spqy!b=0fe_&?dZ@aJB0vSZyO8v-KmmNpp}`Nu zU%xWlR#>;id;8$lZVM-?^~K+xCOpAmEIVk^b%{HfeHEi) zAidQizOG6|1KZJN4PdbUlgED;UCJx2Y+a4W`^$H9H@O&$j%u&l|i^Yo>xE%7j76Y{cOHGQWTCR0F(i6U-X(3(%RVcv}~-TW16Ih zib}E?B3s3cLjevDuFhL7hMmo2PkfGL`{89tK6j#y z2*7q6;Kynk#w_O2!Q40^`5yqJpz{omZFgwlg9$+13SYhoxQPbS@FAsixgy|t^Hc=& zZgkW+hlA&E7!G{FGfPj2NgiI%^fY&T|JSm7=rO9P|kz7Uk8_Srn3C@4P3pJ@P6Gq7Qut+K7aUT99LVt+%tcc4*Xk^>5Eu zJay}|8;m9rf!yww3?-PjlAKAxFLW4??zA1e~)f)-(vsp;e2O~0LEQr&_=_k-3^&SrUMTxa&%ZDe%YpJ_Bl3r z6(LJT@JN>x7F@eE$g3m>Ke#`BM|gmaeWK=-)_9C!(o4959h==|LgpnGwSXGPXjXskmG}DCb>$O%1PF?XC}K?e6AI9@yn@`uW+fQWzl3 zG6Ktnqib-SL2t%&tN_`=Nq`SJtd1NHUjmbf>Acjn&7gsOQ3D-NUB3OO%vd}l&r7~M!6NuP0-8|(=z)+Y| zWemF+qqrPJ&uU_7gS5HhxffDuF|pV@eCuIng(1xOHqc=GVaspwI+vDK2q8k$uRD6} z6A?}&96gqnM$4Wm^OWa%gskbWf*@mbto*&ukF0AXB}A%2Quo3iA^T5Y$|xKw2qY)7 zBg5fdmqL*#vqxjp%gx*}j3~+R?Jrcr*{~JK<+6ucID3V@h?5_aQ(2>!V;@uZ!IT{; zkliL!Z3&atx(LDlKz<)spj&_ne}HBvKZ_h;7iQgec;wzzztE6UjT?V{R2!n+9m8WX zrscvlR{M3?TmSaOxrOMrysbiXMuqLyjPe7lZAu#y{J$seXZVD?xnW9b2}n{@ zNW~-LG}BW@)%0y(9jBQj0wTO*qqD$>2ASPTOV54GNr+CFN^u~S4WHfCh=5MIZp_c> zBS)fX;a);MgK@-h1Doq;9};@34l1gGTctzb_4Bp^^1a^KAFoQMwJMw{??&&eeVy_B zN5AabvZ>?SFCzw-c2LZCxF8P*ckr1Yfx-uZ51lY>#FNJ(8J#uZQsiRWUju?&Tlcyn zx>a&o;_t_x-;mlJ1gqq$WIw2?*qPhFJ5lR?95Ti>T z@O3=#Aus&9M__KeL^^l_!-p9nRl&&fhguN&3b}<$={-)7&oqRMkkZ8onCJtw|+a2Jb8Yi1Bh&eW`K z77SP*Ed4{yGPvW-Ds%OPgPe*=+z+hpd#hUKA7pw+t`hmev{BS z=jHhLu#=S*@q1spcfVwe+?^nPl!wzCH&=cM0?`u!sP;gt+mu-bSs9r~)W0GU141$A ze?`ox{v0euguHF%A8bYp3@R&YE^EvDAZF+cBf{y#q799hF{Hwp5fFfa@$v(oPBrLU8~(;@X5;gQyN$?JJIk|3z}{7H+Un?l7mQ}*FvKT)WX8T(7r<* zdDL%Xeuqla4*V_{cEieHgAIx%;1af*XIHEAK(GxU{%*Yn%spmS2CF#eE4R0Xn@IdP zk=b3`{;$L)8hHlyBd_oSYaphIGn)5ak)nVuCX{gwm#jfcAOTP$7jyu1@6Z%$$i+oXU;nA- zQ#}Q90RyP;k!DoyD&yi!YS}Y>#o#?hZO2UaUldiBM+8|k6nG^b-t8QG>}`x9Ry}Sy zU(OAl+tyvG-xSu;O5ENb&n&xSvHtQrTI71MG~dM+;P8`YG_zO9WWLWL=67PcyJl88 z&qfZax5v-D!B}!cxY-)JUE0=wRY|w%GEamk)A_K<%608N@3eYx|0|TKOn@-uN{o_Z>uG05| z+VP02@zy9}R>KG8&Xv047aw`4>v-^>oNP@pQqD9|bku9c%Syc3vHUIrHw&EmkZK`fiwXa)zCOXN$W82O-}uYDLnidL`;&OWki{i-v@z1Ccy~h4CHT zz1vapK;|j#0SK>PmYDw7cM=Bn%*YiNw@*Im+c%V#On$q%o11>|qf&mQ$mEIRl3_m% zP*)_d(>c238$;34-A^fjz<}B6cWLT;%@8?Gs4=WV<+V=xw}4Q0lQmBL+Vv+ZSijlr zvvAo$Vjm@=(^yJVQnu&11J4x|ZZ-qZgDT=&mLlj5R5?B>eQt4lCR zt+V-KQ?2_b_Fa~znMuLM>ad`prKxhV%KaIagJ{L^I#GZ?XklrowdKfIJ+JvWxAu;T z-II35`%m-cqnV6$Gx<7~d5tAkmKq2Ow3GETU})0_j8i=I#Ko0Fg$?>JTF=+ z*V^H_%_U-l#SSwQJVHag$%n>T#TNnsxBM2q-W|N#x(P_reG2O#ie52LzI=pf==CTG z4fFT?UVp>pR96}6V8IEbFYXVk6f^}4Gvdhc71b)JvsmxEuCdA9?&VW8N4(bp^1224 z-DtSZ@S`j5AtG(5nx3SB@J#7pT{a4)C$4zx#6U8VADjln)6zg9^N3I4m6o}?wq;33N1%A z^9_7u8id(+X1eFfbaS1)f7)(Zad-bHaMnEvG0)+vj2P4{qTA{~$`JMG0}>fWk4|?I z_JsU$#%Ay{Iu@2{nbKk`KEZ4QLW|~tNt63P*BWzKx*KBaP=7fUu&6)d;)FdOG#Jge z+`OON4g`G^(Zu@uK`Vr~7S~#(j;70vwxULB8%F0Eve}CQC0H#6dvB1nWemDrByR*T z87mWVvOSR0ptNUjzZ;N6^DTGH0(V>7)rdH}JsC4PrRK$^;C9&8PL-Pd_5R?MNGDVPAY=n4>`X!<(~r2)RN{3$dZ)$bvIHJ(@P@ zTvus0N*}jM5>`%8gI=@W4VRafXB9`kk%3Pio8SQpOof&9Q#J5Bd?Y96!D<c!pnZ zL%bjcC8asC5zip!4A1b_^{B$7Kne9rMyd3&(ej@dHll7WgKokU_UKtULOM==cbAGO zlF9R2MxB37RLtiU z9rOMHB4A8{|CftU!&rBUdfAP@N~bP4y9e9-Wh}I0gd7FI5|T>i4avM@+<5qVN7Q+j zCf)IVIX>bfX)}ss>W^KY01X(Z6lNcd3I-Mu1X8^xB-#>7av9q!E}BbJ3bKWc1_s~1 zjaRZQdW5*s*xn2y^A~~{d~75H%MkT*#pY#{v#}$VpFa)l(HFPlZ=qy)SESJ4OpmSz zgsBsIeXpN&sYT-QL4QXA$-=X3z?5-RR?G>kt3CNHhbKBJq0D7c{V5Q7J<|LK@f9;-(X(Dpd%AOR?K3N)V@NyHw*TYnjKNK>sS&> zlXZb#li8TBiBK~Z)F4x9>hTY1P)xTVbJCJ0`hInyAMB}z?|nLfPv-h!I% z*Dv+jb~-dxOGw?DED~S5%xtBn;?mq63kqi2kzqF+1*;|q0hEa!8V!Ea`Hj!DJpJgi zyB7`V^%`|lL>^@mmd2}$d;9Y*{I6S^-qQRCE?3H~HT{HJl%E$H$nVrG@QTvitBLl6zqBIY>VGf zU>B+$C@=R&3Gual<6`F3^J<=c}?j{sP$(i~-yPk4;ueGjJn3fV@TYHL- znd6GUu-J77hCRuJBypcpTjR!%Fsp5`pLgDXjV9uQuXq|{%*{7;4KxM50|6f;02oS3 z5BI9p#^C}QjKx~{AK8;AeD>Yj;jw$ML{y+-Ie@|LQ`vf=NC_91k7sN|@wnxS& zpJKgFCl{;tlgYiW7)QtGOB|Ks`*{uu%$m4PI7D+Gb!RYpd*;W8{C$LJ z2d0wMdUC9VjegVZkVxyiLT~d|cRb4wcopQ7$}_$r)-Kn;if^9FZYBjzoA;ZXvj>Cut_a$z$8w)3OpaF9LXlyk4?s zK>|rPoGsk)N~~gkiSq4C$VSrdpOhK0!owjmuyex0rB;-GojO~ z?_}|87$l-S%vUPcM9~Uj{SckdqiDbB^$|yW5B8Bc%8#G_oQTWvg2Kygf5d=6AZDoo z{`IBb+cn$YcLeUPII;PNq z9wg}6F=cu>ILR3j?CIvyo4XqFOfZmd%eu#R-7pd(r3j%KKx@X!_GXwX=HShEa<%dD zmQNp{kE9~knrKG%HTy0aY~$xdw|`G;dP9e%GtoTCsqdQ$KNa!;V`J;!5rS>h#xXJN za`NHFx5iBG8S}rvAbJGt!2|Vj39RJ#q56zW1F7Z-N4-pxkuCKR>+iqF*ouXqsF5<> zX82;Nc{X`eLl{F#A8O+m2N?@04tbQwBk~XVrs{CuiXxW&y?MB|-9X@riEC^hC#erL zh}Rn( zCP+h{T>sKm0m~BoQ)e8kd$xT6&BAEc$s(=SxvE+^(z~y=<@LuD;2kDp(OEG9HOY{? z>c`J^KJT()2AOgmD1)My+qaP;Ze961?>V_MjaJ|?{3L0u$oT}|V!tPpb+}17NV4OU z$g_yX`z@5=&3`MitLPP+ejg6z=#J6#{m~QF(GK$>R*Zo>`}rZ1qSIsJB*YUrSyAQ6 zKSy-QNg#*q*Cv2jO?Hav0Me0W6}(fe6DyBMR?toun@OI!_R3_07$V)`7Row%u3s3`Fa|5zI#=8H*xfVg-Sh^IB)qV)L$kK&QDn(4&bz6!TKwCwBk9kSZ$ znXcZJ2tv@I&VZM%9-u#$hcy#rqee}Q%<>`$e$zJA*3x(&j|MBTqD?Blr9Dhs`;B7u zm~w`GA!a`NCrhvK)SN^X78YTE&JQ2w7i2CgR4lGK?~S6(SLy2?ub=9CduUylgirGm z@VX<*wXOmatiIcqLDb(0H2b(PtUZ1h*1D^3ddDXG5a&#uS?l8nUaQn?y_mk*mC58* z?KHbRnnS)mqqY@Mwy(P|L3gd`j7&v1qNZQSS^K?P2zuQg`|a`arC?{K*u2?C2YqcQ zs=UniY zYu1TtR2v927+;S8oW5PFArZNtrYTG0339ZsYpc;Cgr zX4Iknf}UGZ@BcU$P()%BU_YO%ZFd zeaGJFDy1Smxw05YXiG#Z?&lpVAF;&^1VI9?FRWGNIy5iFL+HsCGI8AdwuVmve{q<+ z;?yg3a&_C>bV{jpKz|}5;?zYTLnFQL0_1uwyg$4+_oz_GU_z4EEY^N2RW61vQ?Hso zaN!oR&sSiPeQra_v7MRNu_;Y8ggsh<4$_Ksxnr(N=KUmt&lNe=Mw>6VxO|S`5!bbf zKdvnh!5s_zFh2Y{t&}zP)m+=K2VRPHe^Jk|j6llDYh?|P7;d+2F_Lr6eBMXkn;$<+u8CV;rEHXFn1QBVn? zgPl@CC}C@U?q|}&aqELK3wn0?f!ia9j@8}t!|kHGJM5~FM*c&@LK^(N)39l-{d#A6 zon7X|PP?aBSFq)h_CmxKYY`#z#+E$@4Nz9fFo_e%gL&)x4OjnQ=21nO&m`-EtL?T2 zIPU!?m`pZzMcSELahUx48?ERp6f0u`6e=_|DpN;(Tnyh-jp3<-mJ*XkmWu``Hy=Hp zrj{ls@Nx(VIy{PgXZZN~dcIr^K%+1*@%y~{%DOf&%tZ6?e*OJNh(0q>)%?dTN@V{T7zs*R%&M*^!S36wqR$ zl3c>~)jV+U9S2h*l0$jC z`_D#fnB)k%7iZ6#&(}27y1WmEu^=G(o*GPE={4)jqCnNVqv|i`!LM${B>(V(ANNiC zDU1`ujCX+wqFC7(Yzm!vrGkdWV6VA8M;XFirS`zgdN`d9HswH%VLYj0=I`C}*QB4I z0KKZFA{Z=n+O6!z5#w&epfX-TJCj= z5J!>FwBjy8te-z05PgW@fBLfcjgsxs$@rlfCS#3}j-%S+(x^vEB-+x0HVjZKy?G+Z zIW~XIC5`cLH*}ATL~Lyty}Z0oQ&U$zJ;KP#`^oa^SNKOa1Z^mNyS1LLrwIguRr}l+ zX~J59QL0Z*DC)L@#Dixat_8}q4V3wpG30x5^{wZo7dmad$Ike=-~p8_u&42sm2$WB z!Se-Ys)qwB_RuXO9sgXHm(pIFOt#=aomv()g8j<2f9KiH&6)v7KG16r8Gz>j6zvFL$eBKOxKWYBH z>W`oc&nX^yoSY~1@bpIWlR%kf`opur?`IOzzDiRM-KF1Qry5eUSqkd)@fkJh({v-1 ziOwQ@NwZ*-${FrFbTro*C%}SA2z8Y|5ATluo=4W|elF)Ghuqp>4Q}tt(hH#onVRRDHP}Q&zwO9B!NA)y$u(bjg{zoN|7DE1=Nxf4#NZz217GTO<1b5cvWENT%IhmTzIw#1sE-K0Nkd? zu4B$T_a>#8xH$aC55!mzG-)P1n_g8<_|b-In3T(%I-Ref+XKD=D%RRv`#fu!@6lTo zf#XJ+sDK!1Qm2yq^hRMdqeSm2C9MksDEt%?XbDBsr@a0d!QFJLeZGf2qgoc9^PGrs zS@ZSr=#V}W(pX)|%2Z(Wg z)#);!c;b_33P^^I^kPF)Uku<<+4!h-G7^1_j5fS|-C}Wl%f4p&8=^CW{!2*3j*o(r zjLLC8mFT6xrsYC_eGOnUavMc4t zY#tE+`s}^+@w%?8*3kgtz=Bp>fL2vhL;C6S)v7BSo}C$#ypS zK|ETn_fL%FD~Au~`OHRWb3npHZ-~UfXr(+51O@w~i?1TShhD5lSvqj@4dR??pHd$|N&6 zd_O8$2d-~6nlZ$fV=;itug4L4IO4X!>PSW&7{mWk-KuG?a&Y^E&z*Vp4pgPG&!!6z zE(HiFPCA7!v9KKP2C`vWj^#eHvMzAuJm9HXm#2b`X}L$^o&UfVcVgjiW`36V^o6eX zsDMdRKoEOzGoDQ=gi6a3ll$A;X8qS4gB8$zD$KEjUG)Fx`RgBefEHTMRn4}$|p z#jK~5e~K24M*>=aQTi`b>1RWVl2o$QfHkTXj-`)y&aoK)Lw>1s*m12 z+Mf9fW^Ub~bm4QR2(5l)cefyDJlP}uvMq3XZ8_|LFYcOhjsE2s{v|DpPI#T&%`_^= za)q{s45*C8_22ge`;JxeHA#JPaUtXD(Cb3`s}Wp256w7-x2#ZE4f7=$nbj1zT%%6* z=Y0Q!RIA|h;%}e(TdGI#%gaQBSzq5RO|Lysh^?h3LhsNdW}_rm&dJ4_=a`r{{mM`7 z;g0mRb#AzBgdA>5t@^e#?tmz0YUv%yB}GHn9k7=cPv5 zi0o`)F)=ZnHn*tR+1cArB;n#?E|hIy5s@xDW`h7*^@mO&0$z`cbFYrKsHGxvR|*-$ zPK|8%GnGSlyHiJ%#?RUkDp~}G?Xw4DEjbN6YEMZrsgT+W#Jj<}TX&D>_Ed6OqE1eq zNwoNLmbM_BlRYl-M|QRmvOBX?`bg62-dAwouXmdRA@}$w^<1=G(qGSHEA=|0Vu<+u zHrabeO*dlEI~}*H<92S*aOtfUM#jHf{6-PB-NK}fqO1Qi-CbFo3L4A*twNNn!=sEd zu~f5-k0?6&%O&vF^7$UMuQGh?&u=h^^BU-xmQTU1+?#^zSEMa{@|E72u>LL|H8nLY z8nhy@Ms}KPrqF|X1cm(gf%7MU{4QlW-(23w*%__^wn%fe{uDX_N&_FfuHqvRu8xyT zzO32N%C^IqSz6+TU!hCyJU28V!Vc znM|$Ui(F&hd5udPb^8>bNQxNryH*|V2LbuWfyyg}Cdu&$^z!;zrt?XY|4?}=VnU!; zVj@eeYuje&E=Vj0x7hDX;ufnJwj-A}!vbQ()CXQEofSDRaFgJ1G2OHQB*w4iob&Q` zx$B(_mY`Bf$cF_?NEYkZW3PaAfuUZEvpvh7Ri%t~)9=S>_I1x%7}@m(<+JbVlME1D zVl_c*p9`o)3e8Q;&@nMZ?d%vqmROE!%ON2tr!WmRmUkU1D>?xCq@y=&I-)}Oi;Vs8 zQqL4jKL;ZXac;K!6z*kkbAVS^JY8K`J;$9>dfaT*Dfg3prRId;^uv3oJ3pD8ry9xPot+w6Q>o*wE`CjLZ0`F`t_N=JnXc&EBAKCHC=yJ zdV0i^g=pE_G!+F@{uFgvK~isgCCsl?5cwvxMgi5Ms>Rw;Im@1!eTXAFUN4rL6-US{ zH(VY9H;})UT(ZR!78uPkuP!ey+pDkEUEq$i=)m0R{02#Pc`1o0(I05$4?|+GtIWj3 zP|?CLb0XsH4*wm4shWikPpvF>J&T}|b#uM<@lj0jb-9Q%2`wwy_4CKDNj31*W7-|0 zl&^15AT5G)e@@9J|A4KV2-|m-swM=vF&Ld{wW`$55}1J|fd%6pGjfl4d1Q{L4hrg` zWy-E9;7cv}1y*%jwWSwS@FscE5lj|Z^;D*5rR`lG~mfG9@U`VUW zt7<~7)-`xxbOCN(`Xsq}+Cx^Eb22UserEBervN#{9XzuL#$WeWRxY1`n>$TnmNp*a z6gHW)VFhRLHb+Du5GjpbjcQ}k%{J`kD!tDxhv>{$vLwwICq(0`$0sRD=Pmdca~w%X zUIqsD{N>I>MUiQTZlkbsKeCmCFBDT-r)KzKozk*Sg)7dmX>x@kqe5#;%h9sC5Tb|{ z3*Y{)_|jEwB|oUD7^>|hi;I=0O~}p>5*{8@0-^H%i8~dcOY-taet}d~FhvRB^7E8_ zsJOG+0ywgX9qFTGDOH(e8H7rUt>xfXX?9&%Z9;@!N=(#*+f~A-6Y6MvsWa_Y!*l?s zG_BC9s*2y;wZ_=fZU~@tjh<$C!wjug*`BLc1+SSkhwdtJ|Irtb(E8Tg~yIm4XCzi)F5m{uz$Ly4LKo)k(>t{Ssin#0baYqw!cLg_b7<1`vE#`;FaFlWJj zY6UlmrN@CY@`Fx;(4rt|0E~op-&s^<$-^M1?zyN#O(=_4n$F@MiNpvg15N>+r}P?IQ@MhC4?qOZ%fa^Z_kXdf5)7&d5=K zm8YF#23~m4%wd{!!_x8nnm5zg*_j0!US0Co!a_2D#p6;_J>7kiYAfSV;$PYqi)8Ux z%krlzOv(V|H1*c2!_Url|2LWZRA|NTU%M^P4qo&nW$iYVaWUcT)I>8nyYofdtEiP* zTg_7Zvro}d6{UAJuaa`3jdEc|0gss zX4R=fxN&mI`fL;wOX-eSF@-bXCsmC&N>;L{6`L2_fmgLLibzEu%GmhJG0$w48>6!Q zo=Vr?@0UWd+>*F!0xHq#gk1gYu z@>uY7C`}emqlLd^#C`Mb7^XoogtyQ{*r?#aqyt;m-48q&mC*r+ii74ADjU*H<7U|QUgf*$Fwh4jM4E|7Ez zyd?6z{XFdqMj~u3gP$|yIP-j;@7jp`9t;5$3=S5y#0ZW5aR=k>boo932w9AXNmO4Y zw`sSq=Ex>v!K`IddJB={pHdnj;>RD-c8tlJG-p?rg#+N5yQJ6<*}OO}+;$orgc1e8 zP3o?Y_980ac~r_?4Njzv#i|tzuPps_^ULWj zh2xdRaCj#c3u011OUvq(TL_h!i3#RIIsyCo{Gp4mtLVc?9ZRnWN))tU{uBx9{0LYG z)g~)GG(3&$FM6&rgbgBNY7kT2G=?pfzRDtA(bfnZZI1=Ln6ev2g<6D3B4~Jcn6~ee zQ7a*ER*K7!f{X{EUA00c`0m>;HiGjWt|FvRp}?Fyp+A1W6c!dbE$!~^UNsh?zP`Q= z(KN$#2cyVU(+K}qMa4=wIEY~C#O(kUJhZ`jf!}N0_ujX7=FrHMTQ{={Gf8-Gbkt-Z z2Ik>>Gka(V?b~FLZ2BWWA*~5NF?59v4GmFHQaZl9c*e!Yx40alfBg9I=427Wz=g2b zn!oMs%5*$iV4}r&|Er9Q34pD~GkIWcn@+NHK;_<-lycepvN}2hj*gB%-QeQp#zIO; zD(4Lzl%9~77@L|p^Z+yP(}NK$>d(t7J6;s1xus=uZ|}QWS^vn0^xMeru+d(2k<(k# zx`VrWm0Byv)6;W>vs$23y-H0|yHz}YD&P>_1{scq zz1X2EXBqQl>|#)iI|cx=z<+B!G5A_tyJu#U8wKMEuP-jTS66juDX1A4Kl~JXSooA> zAlT*2jGIwb^I|(L(=$dV*!kY|cFXU6cNF;J#}A$Tc>2t?HXb`WyM&~qG)<8(&NYvC z{toX&+2tY-ey()UPDIIHQEeP*&}hoTpiQobh4W{7%o^8cy)>AIk$rK*u%8Slp%Bz` zboqdgkj^P~KRYJtazr8Yc6lbCpoiSmN691OJ;6x~t4#b+s@QH7d|@*k?)~iQ_|OrT z{)n}}nb-t=k_Z`G&i~G|tu@TDc@q|o=zlO#TUu`pP6VP8R%i%Ev4>riQpc>w*G-%@ z|Ho?7p3Y|sV!YAYW21aV-IIj-*c1U3A7o11c) zmLE$G^RSS*>iE=|7WGMYj_v);Rv_=u-FcDSITgwM{A8_O=%JxGch7M!R|=|geo@wc z>i%;ONApBR+i;SFfC-`sWhx~hi8!yD;3xm=^ch4-T0uik-#0RX0AMTk1zf}ri?2{q z(5~+8#kwUHv5ofYXUw}z^Zq4|%NeOb^Tp8j>;A-?_G>#{Xt2U98K2;Wu&|&4N7R)L zre2YAYWr{Yvr#aJ)?i2_ataDUFh2R2uD1TAjbgro`g@@BdBF<}pGaNPoprOxWJ`{K z{H%{9Cu4xfTgI=(*~tmmrTc)M1DsfhAA(QZtQxc)iGZz>keob1wEVZmc(KK~_;>xf z)_bnmT6-6qpI@hkm({Mfq)|MccEM|W@wn4^4tQsGcj)oomEN9VYOEKCz9SO`sT~U` zD(24J*uYn_w3$?1k#UIMJo(~f+LeGV{u;*&4>V{oP*PGl5nfD56f@hci15BWY}0Gj zhGg-1$Hm3<&d3WyB`4$b_xC$B1zL7YeH6u+|6P75iVC%|y6Ol_ReQUR-OpG&{?(Ng z6T{ZFHgZ^qtgNhnSAJoM*MKNMK2gM0M#ILzzr31GyFCZroZAI`kcsz~aOz`1_h&&I(08+mYG!Tz|41~IX`iwhf&y3BOZ zihfUI)C4GTh7{W)oOQkXg@=bX8%`?dF}7sxI;n?{B;-#uJCZ(tC)0;$wFFy zrYQNmIZ}Df4!(=$Z%*cl_+0cz%pHAKP*lV$?UF}NoU%w5&<5g<$a4qH$EV%npH2|V zG<|>z=kD%aLv C#X;RSYVc3r9>KPYSF+$J;T+-I&Bd>J7=}4HUQLS)7Y)W z_4J4o9($$H@}Y!s>Q%Z|b%WLDI@c&E`*R%qnB6=*xq#pTvh+}8r6qX;kdaqAYK6>h z4q{K18YIS1x`6?qhBz&HEeQh$wls_1w9Mvs7GcYd=IFlu$)7e&Wl!FNZa+S-V^UCC zo5Z&fm_O4>;StgoS64+Pe+4})xlB!W6B6NoXv&%D9%9AG91mvetZ#1Cz)n5X5j{+? z{PA+JDMAMi$C*<*(^*SA`9x0*-~mQ4JwH;yrKY_}A-?OqvE8TJW7wc>`5zNb{EKh1 zMAjxI;jUlJ{{#j7McQ1XP{2+$nd0T+Gv#cmuUDzmZ*6HABD~(BPL*;D-yaiT0C2~a z5-epZ7IskvKBwKr+1dD8w%jyRUYn1sg99oE8X6jyg3aAsF+;=Lm3Np#W1;KoOkxDB z27I!=rM$~&NQT2Do6@s(u!-8iA?tBq&PJO>_yi0>LRmdMa8}k<1|Z+^)^!RF@v-qy zv9Ekhvbx$C0?^`^U8@ymh*W;D6Rs8)iogqVg;oO@-9o?*dF5g0KJXZj{1Wg*c=gS+;|>m%;G!w3LBJ*? zBT#J%^HI~WDydO%3t7Y+l<%lH-ZkWu3FQ0*NZ05$#tfVKgA1f<1Wrw8@DvpxEJS$?rqJl%Cv&4$;NUu_)9m8Y)-fkQohW+?) zF!(X5@T!$r>3ApTTZH8ThlZVCDWiSYE3&N?^pJAYKXE%fT|6u8Q&?@g4ngzjDT7=L zaBR4*`^Ioo1fQ&}7XpO_%N3yDZaADkbJaPEc6Rc_SOoNS)M;4wSd2~NcPpy**U+t zIVCR6Xn0r(co3f~jR_S9B-~N6rT-$46_EdDO+)b+tcu6ZohdhUql)mqY3Ba}`2MFB zV%K69x}VI5^^(p`-ee?;3O8dseJ4$)rsDk&8_wmtKaK@5GA{doUDN(&%9U2N#T4q{ zWx5cedvf#lu5lM71!xkGH2nSj>yGbF7k{T$burREJ+IH<_iB(RN#R35LjFaU3QCStoLqz(2o8mJn*)PGh z{Uc*z6-KXu_0eeeE59#|2aZ^pTw^-c|5<5R=`evNoL0QZt17!C8XB4mZr9yLroBOe((R?o&$XNJ5a#_ykDqpoo8gf`}_J}`MmE60R2*@ z%WswbRJmC05*Vk$>yxWiy#*AAUHuGugh z4RqQRbhUaU9T}b911kOhZslqkbo%3dgU4f&yls>NVE1?x(%$ zT~kw&HkQt5&0*ije^}2={rDo419X(tE(1V6gk_4wgzD2&t+P5Kv2KKWCm3)X!At-C z<>R^iY(M{q!tCBH)MLA(4sxNjl3X}jH7&zIMGc6FK>_Zu7FAXN0|TRFJDTU>;^JpA zyF9l$vN^sHz4XS(`VG?7_vNS83Ex*D&{_qen!mrTG%+9ow=X@WU(Grh9xqQ=fh*drNeq0zz}3&Vls%0Er?zY z%<7GSji+$s&Rt#3R4}?mnPL zCi?JQ7BKT~ZMh9+CqaEr`SCa`Crip)Q1NnwOvI~!%k4r9l>4sY&RNaJq55vwyzkGV znwpyEiGq6qnwmJ<+)j;l24nmB`_YJq?CvoP07qEbHv}B`X>)P$@2Rkf9)5+;)C=Hb z-$`&6$`!2VIqbSE$Tr=NDmihuQpo0HAIkL%CicdYYa6 zMvjK&(BA92;4VPYHOj;PkvwufObBU$D#?j#s(l<-VL>4wFfhu0b9LK0tKv9EC+QOx zaYU~K=d&}22H}06(Xz#$<#q<&9ci};i-ce-=EIx2`Xlyb8~a}oTdzV3ZOIo`8b_uQ zgC*_l%^x{kG?~MeRz9nhy31$4e~qzA5KWi7MdH(UM`RS@kwU~N({voZOjmpXv)&6s zpB8hb#Zsf=LW!C2guPFYg9D&7zh~Q4*JE)lEj(bt3IM`t<{97DzbSYmU8FJUR-O$ycOt2 z_W!ipaiXFpCQIt3+uA<-YtIYHJkOTes?xvSe7a@FUVD3e{sx#%Lgo1%MIjTr-nZ1( zu!zn+b@~AP7ocXXn!n{LSMIQ9B0o0xw^-F*P=KUjcE8?k%@jy#%Z2KX9AJw-_S;An zFk^fjkjvzzyg6Id#=ys?lgZ*u1w@>Y+pdfZ0?^`>>-k#d*=oOk%8ochZFf*`aE&TT z0)3VyKV7Bj)nnoxND^SCkOKT05ByBB`K1*3b>xDe&mq^gPy`j|a;|#7e`GZT6^=>B zo^SueTUEMxb!*VK14$?JdqgMZpn)Xg){#^#k6 zfz?APz~hCfiR zVW@EY|F9Hgw+{Vuf39M4SN9OqKklDmDq2OJ*AilwkOm;C)9d%`!4hW}0?f~?_T9y^ zp%v&Fzub2U2n_o|(N5Mn@QZj+y0=Am>b`s#KI4#n9|=Xh!|{8%6!oFA`D$;inUo9y*XJIm=|4$jXf zdcPq+k8ta|;#truUOnRDv4V?KJg}1ENt$P-;O~_wIFHkGI6uFlHTvCf-y?p6OjwZo zE`x7axqe{cHeTO9gB?AtP5y6%@nLGd&`N=>(Q$Ly%pv+i87%<+M>3OMfp?Q#^-T<@ z9lCy>p>27!&2<}a1zqt?WD4k05_5)!gPPTJM!(gwX}%~Zf=sYu6FfEe%@7$$%C`J3 zce6SOLIpm}7O0~B#McKTmKLAK+7rK^13PRSoOIV#e8dj`CEW39HqEqOs<-R~ti`GP zzO6Hlz*rJ{Wdh1L4%yM_M8Qz!3&RzPAh;iW)7*5Y?sfP;?L1pCUwm#zM4O}c>(`15 zP-kbS(`r?9^<+8L>@;D8r9`_WoX?yEMJ07m7S(>0>Z~b5d1NInxN5u01(hY5f0FD;C#*C_f5M!UT{8|r2&R&+nP=6|5AgBgEIhBLIL*j z9}u83=|1mY{5M#Gqt~YbsNpfu(W%=nPQj9<`wSQr;rGYGqKK5FEoD~}D6{q9 zbgY;gP01rw{8S%qyD}Kq0r^q~TCU@eTQx^thn^)arejyDew$K6%>wVHF|Yn}zS2eu||CJT~3#tF#aro6cji=~7r&CTC@Shbxl45eAmBI!= F{|n~!;FACV diff --git a/icons/mob/in-hand/swords.dmi b/icons/mob/in-hand/swords.dmi index 89d35809a9e53ac20666e15ff348ae3492a59781..b4a7a6724d554adfe11a38135c1892990abc379f 100644 GIT binary patch delta 6697 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 jH3$AOxmsa{IHk^Rxc~WiY$t delta 6371 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 z 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�)B%(X}iAu?Fsiw9DmznNFq)YVJiurup^omzp^5-=<+q?bu>0XWGXhJ!;6v)Bw;4Ej6RuUP z8I*Dyefl|mQ0MU~jgBEtGgym*Yz_ARs!2)^$QhP0j}g#?2jXUgp6#&#aCIY4Nb&!! z#t<&AR?Q$9dIO~fe`h;rVW_G=#OpR~vv}*lo>u)c;zl+I_-K5kCu9;1%Vjn?1GB7L zx}I1f&d+Gbs+0>}d~1FN$~>|(@f{5??uP--3H(6<{QX}QJUsp7|6N7sUZ@bqHPk74R^aw$$i~(JCoTmK(+BlSU@-k4wFufeDUbhA zF>J~AEL@PEggmgzc$7s)uM=oLY~>vJ@=>+p&u=_`o~$mEjs3IhQP<;C@mOI34f)tK z9Eg%Bftl_-xjdvUT38YHVj>F;=-R+8zTPc^(MJ{hsPft6*(7X^;T@hN_aGw5FfiyY zKBm~O#<~dR_Bs*D^tc(|?aj8~&Z|Ng9hQS07&ox8e2;>ie%rqFP&#R1`#CtnwPJJt zb|&Z1SDdaiQa?of_DH}iy&y$ZDiZ$Ro-oG_=^GgMuJOHL#P0cu(cb@BUxQgp9-E$o zy?kQJG_*-kf$4#*gnkGHHNsRlvmg1njHE<`eBtSM!%S3xxlC(AeKw^Yq@U#luaDyu zl|_vASpwvR_?YoCo&;7>$FKZ9m1v74Yfz(AA)>vt9hpS)mzN!{;NN8`E6<)0fLIf9f7OvT3)w$E+tcc9yKgb@ zBe!E&o$u0-uwO<8`}kBV@)Ly*e2IjU*pj|F1k9m6VR_`ugY? zMvv`i*e`o`7Z;a2#6p8z?LHb^-eEO7m_jjjR3k_V{-mU&bZvbLGf*v5R4h$3gu0v@ zW^TSS+06f4PWHqc3}!DE)Qfy~`z9f#xRP7HiSJ|av#`z0FL>itCr28V{T%A^2>vBK~a&pWmM1vGkey6s!;YP-eZrLbTg`d5|?-q;2$U7R6!Q&Fl2i#m?e9N+L^B;lTh%CbMPYa*zF2}X;&DGyAcy6lr75k=Y3<$1l9xjhuRi|L zRbrPzo~?KGMQs7X^!X5UcsNNDBHrqDxDLmSQZYZpdRWbpcxf`u^mV>U=G><`7kRkQ z7zlpy^%`3^u9B#n_8p9Kqi4{b!zh?WbZ0ybT+g6FF%gEYD+$X&Zyi)YR!NF`? z95NA_J4_c_ zFNN2Tc~SE|L&W*(2W*9QvfuUxrz8rOoOJZwNbP*h%f(P=DB)m_iF^2cPI4@C)H%j=TyWM>29n2hIpL5V;9`GW+k#jh)n_GRbpM8`9@9j}S)nH{r< zg82%>$CcwSK0e+H+CMV#FM^Eojc05y!riVJx7U&$3xu~Kvgo2$0`@<;oan;>#V}G{ zEtr6$*D1{`ZLZb-r5&Y&(xVC!V1mfV$cidTY@B?V9vZC=dB^9S!8}b zliC1S!2}>MKR+M+Po=tB)?ZdJ=#*!cK2NA}L5*ihljr^ET<>ZBi24a|sKS$8bpS2J zq(nk9vq$Idu2W%czD4KP|AJU$+2hkC5^zRZ}Z^Q7oICyTMN|l2yySLBW94}!Or`y z#7Hz#r9ap!K3IA>9m#OBUP>&3R28d{XJ!|+gT!OW@F`*?a^|7!g_;|?ox4V+H4*16 zf2|H~Gk~QpgA?;!SI{&GP^|@Fk^4i6iosV76cxl@cY@xsxmrHkOD;U2ghz{>&wCm) zl=ar~7RC7TVB;tE^|o9Ym@Y6NP{yGQoc-j`y5%8!G)wUrKc;|y+H-VJZ$LtSXa85R zv5mUs9~J6DS;ROXDhlVd^`moEP*kRPLC?bc0nZMwy~eMuu3Gf>CU5)b#XG22ZJ)h% zIoSpldol?DBwiLGU9R8D_T&mxTC$Cs!4SfDJb|XuGl=DZ%^3!$FF33?iI4dHYw1^o zFJqSWvmy_dPy`H1wK204bH?+iE?QuH`{9PAaHwKfDn7KB`04h>eN}iPC3;QRg<*9)EA8RjN*HBkqNMfV_|}u(2X^%H1{u}kEwy~7 z=4@2^8MV*=A>t*e{t?TMt{T%oAc;4TkC1moO((XY<=ymGDPEKN2GKv`wcUeQ-AVSB zQ?CmUK5#?#qMm`g{zUeVO+L4mKj!pGF|J|+mj*^gDz3yD#0mT1yIW_J?Ka5lhLU+I zT7B1|5vpwK+p&X&4BP_O3)q`0eaB z2a$H>zf+odzI`rkZDh4^X_5Lp94$^Z`J2CFpacqVTWh%^A?ihEwNsx~=5IaNJ9g%2 zMUVUpnCO8fgu?w%B=1{VNi?;;@ex&ALKcW*rNe~J{yIMMO%r96tt=JnQ^qZcy`UPO z^X@$1Q4}#@b8;HXt}HI0p7;A?OaMA>TQG9l?Y_9fZ`aO4E##(GfNtmd07k4T1TUn0 z^`H!k;nhybg`?Y6&di|AF~6i5$f|zc3s-P9LW2J22G@V$fVsAB=^-w*XnOj&L^B@k zoy0h1Y+PR5kpG`&?*?}KVje6;1Mk-M4yP+~XKZS4(;C2loGt+)cOeBl0nKd5V~(AR zAAo<0G{Os^?ECVn&xV&X9vdQ@$}c=Z_3HP+m57Ll%+_X5#DH?*=bvod$p_$DlB0t$ z+kJcUloyCsHJprTR*+ZNAMHURM zFY}9vvU1;JeyZOBuF#=6AWX(r$Hl)nL}HwsU0s7~OF0+C#f^)S_y_^BPPg=}mZ!)Q zhMlp}nR0kdP1B6vSC4lQf@+=?^B@QM#xDj*1O)}?c`WEM2?i|>r$?f_@fPpM#;1k}aWVF@m80`ECnT?H!7N6Ye+`Q!ZR*LAlIH*XdSU0}RNc^& zpMS3d{1+7|ma=n{uvZrKF$BFq`^4+EP&gc&ao1hTe=p?t#36ZM{eF6?=)pc#?CE!?vYu#|%luA7qMMht-R`Db-BTq;yeN zjzRZPFlOMG;59tYfC5Dyod~*er8>l)|Eub$#PLx?jWS_yic$3Xxw>_nt0O1r{ZWaX z%8j6R!=ApK%)Z_d4lu+1v(@{NGkJ;~CS5y1T$G};juHi+G*qE$bT5X@7`0q6UvE2B z5SO1&2uRT^uxegI^3h8Uic&JQ4J9qkjFSpJ-o-7 z#rUzkFz8}aEK!yQ9j>Lo@Xu51() z!xqL1RD|{}Za&Q)ngV`_{6d!@40pEJ-^|QxFe4*F{0t7SGV3Kcs_vyr2XFj~cF4=i zi}boWYEN^!ou`g)E@rZp{wZfDSq}t&CWg$9@r_sz-j6Dj{~3*UGOuyyw!hHVSx2A0 zA^3*2GZio%BS=(K6dwGrapg$Lb#HP4@G!jh7n_}ZtQxDibA?lst5z{K+|%shI8<^~ z*By9;Au-nk`{B-mgi2&aSZN5H;8)?=k`F>TclV7!Qmj$Terl8|hqba|9TFzT0FPCu zG11Y7_iLf_%MU#iMwF8_0zyvfZ{SC*$M=QWr3%~zEiQ60GF|&1i*b9_zmPS;d!;oe z4JLV+K-JIz`lib@5FqOP4jbeo^yRa7#&9K zOWXhIbWAQhpSGQ$J4lG1#92G^!g?S{jd$~#|0s#Vr|}1@*Y?l`4umlXT7T4b!z@(w z{QjERM8e-5G&0Xrj~E?s;H@J=pt`ZF;?oG~uhf`Fih9y^CzRwQnQvDJCA zskGS2^kcjMeA+`1pMACsqXAcm)i`FRff2}mfRs`nr&H@$W2qdSQ;->UgS>`QSaIe~|DlEwN6uPIXO+0c}R|Mj8&6 zTLmdKW~2(H&!Y49 zN7e}_Xzz{-No!C|2fI{uyC z-hk4y$Y2k~zC>oSSD=c|`~+fmB<`*hHf)!sE_HX_tk-CdK~6@7;d^&6vp7|%Q*Wzf zyJT;^Vsm@<`o)^n6fZYIm)h}-zbN7ljuw~I*ABBgw-S-DLKW= zZ8NF)6KVl8fZ7~V^FAoFk)yP)2csp8dK2{g&5cZ7-I-n_AX(~Y%pjsS^76_Mlt0KE zw64d1)rxLeh5wnz(HztqQ~!7~B;g9(ADIE z2^#K%m5Ja)+SVdxRDE}*;)P{HPSlG{mE0S$0iA<`5Q6(ZIPbW)w0zNQTQdXXl#r`@ zFBeQYlKl3GwQIozoMj$}g+JM@JzgIL4)A&VkeOvA{z|U+As953j?XYxrxaM@SP7XG zFD1uE9Pl}kBKlz8^qU+}THTa7^lkM<8g)A*@V@jZkFTYp=?uy`xHxxZNmJw$JvAS( zr^*_3a4yv-ol=AH{Cvwp*d8{*x_a;uFBr<12%%>!rfuP{KTfK2%;z6H?=n(Fe5O9> z-o}L@8gvkX4R;L#eSl;Mf~7~<%z|+#IahP$kEf<|n_5~@eW#ble|^{dvypsypy@n< zqSM;4>T-0bQow>DjJ(!dms-XbmB=Zr@HaBYj;KR_xSshTy5M1Q#uSfBu$1|vV&8n{ z=!-a>!2}ik@$Q@F8&6)jg0RpMBMB$HW39FuNg?n&_Kt>(l>^w5j%|*^*$VUyyX4owi0+DFrSWxBdK9KX_eF}qtCl;6pM=3qq$P60^}H&ISai?d(_4A z#_FFEE4!yEo56OeOOsYc)JfR|DC!?Hm%%`An}XACAd&Tn6b>~=Jachvu^+p|R07o5 zoInyGV7~grAItsrrD0R|!HT1uIay5&KXp6#Ckao~-S?W>+mMdC*7fXK3CG-jxD5Gt zjXA-7o>T-zl`>UPozftpPX1YZ2?=oA=Uf@SZPX^p(#y0zPn$eE12#Ygo>cnn?YX>_ zomqp=w#th2mVlwf2E*Jp`-p**qTYzZ^z$-HiXo|W<_U?6jm^uH!os#*^>)!F2}hX@ zvxYJ}`aXSkP@HNfcEZ%rMoj!8Nx4_cq1zGBgS2^VQ&h zt>{ZKmG4`5KHRX#&raz&_j@P8Yzx)Mv$M0cjlCGK0hK<>9T1tlJjutss{efaLx%Ed)iLJFN9*aEBF z#H#Xcg~#6dZ<)#Q__5f#1>u(q^@~8*!;gIcB12Kx`{O;QN&C;aI&0N7|JRJM`*nHb z#Ulto!Fe4n?9}Wtf$U9LRTSMlHyvdrKZXxk&R17g3J*%os*E`wAqz4030ptuwvV@= z2zVpnXpg4jP`t>GI6vH^YNm-%bym>Q7h{StWeWSN&g55lrvAjNh-ihu2Zr7GUNKyCkUdMM=ckt9wV^_Y)NxyRW(&h0v(~2!gB~15DFiGYqzN--0p-!7W zj4CS#EvtLLZbwwdMDjTVblAM`Im%8*nCc;P3wjHe%2p5iyF~I!^$IIGE#M5>snEGg z=KHq(a`nFwoZ0eAFI%>C6on8qKn1Oz3n^| z*U#QIRYu80Ib)?PQXBl^{)M}TF~WSX;NV(r=P0MT1dMTk)ULLg^4dK8Now#nv{7^K z_?AE9m6e(t;kxBpi37~&p#0>@55-LR+BI8w87QY1eGXF3m)I;-mMXRq^g-*9P{R?C z32H}+cM$G{&TOP^cM3zW%X`(UYbo%TPsA0P|%QzEN*>Z&Yojd&R!~kZtS;e6?4@!dpXC8nXA~WetNH)7%qA43=I?hz`ShQ zP1rD%3A<|Hco6HueU2pMUz!})etPA;=?Nbof57%#xbg_dRqigQwKOGbA^LD*w$Z%C zfqu^J*ocynP4LfceZ&G%#L_#7_xXqv13pjLXy@fZ3qDc+vQ4s1eb-#oG`sEtDuWPs zB*utIo&7-F_SC8_swLwylcXW$rad5nZ0e^z~Ar*%tEVP-e}99LP{s zY3VGgGji^3e_Y3*kfQqT)s(ybbQM2GS3!gE>aQQZJ&KnlH@H%Z(c|GhUC^!>1K>;2 zaXvYmI+FsN;d>R5#rSvZPw6+0-6w0D((F}<>P!a~_ExvdsnbfJ@_jJE)&nu1Q$khf z(VezjE%G|q!B^=g*l8d9`VrMJsKAym34hkN$lFsgEVVn z^~&pq8(KZY_7f@ZrOK@OZJ%ItN9xSta|*^}LC?}m2y?YOQT=6end*21P<*k^pPX+JfWYsic$D#dnP;oxM{_E(?Pbt^GVZ$G)Png5|!rR8&+Kbhy~q zT{JW+A#jNI+Xc6I#HFI1?o?4honj}*@uHgjhzwJ%N61UU7kdY^gGYI^8$;7Vtc}cm6M4pfyXT+Y3~O4LqR+~rt8qPUx20HO$Ghz{+>`_1>EE&?RK7u&aw$A{4PiNf z$c6SL*V}SSHh}w8JY3e9-Zy5tLE6`zz%g_gjI&CV)bT{rUHr7Eo_OtM#yLFyv|8C) z<}Zx|Gt=C(BHyQ0zI9b1ySZ@>r3=X^KXw>ycy~s1NS2F?kDn|Y1Yh^|B(+sk|IzAiTFV0 zRQ#t?Q%8$53t;`x+<*QY<#bC}*UvYV+10cuS1Aqxf4#szPm;FMIObjuY^R;LDdeB$ z#P3(x=kO$W5mU}Kt3 z6tXFt1`g21nVr(eYi`uVR1f4|?$E-vvlh@lM?b~Ta-1P~bHP9;8e6zDa03%&he?9+YTWDQkJc-{a-)tHDe2*@mDBzN}TpF!^p#M@duy4uTd1d>E2 zi3qeRc#4{fQQAa}e`RB_==1!Yr#m`%P1JT3b57v~pg=GKC1bdZa*_;2#g7Oj-U$0S zNFU+5TuNK3F)N#cT%Kv@V+uQY6fgRFmzLz>?D#jkdv$(>nrs9=)$4wIJdb<56OQqf zX?4Ww@3(ipr}I~XoYjBJ(PUjjcZ8)mo#kcUGuLEfD&vi)*>XT0Ob*k=Hhc%2oe`n9 zGOpo6#o65drB}x=bJ>hcB=Lbsa`4@rAmS%86T`+UmY{R_aSKsSoFug@RV!GB#jMms{WvumGg2*sEY6O-ce;j8T$&(A(kW+`gqOT9$xG^MY2!O4z5}8ljGHfeBQG*|P z(VDo8s1ZQwlltr5!4!Fj21MsID-#sUelSJbSI=@VnVUeuqsGkGFLc>AuUR2*^M1bsdo7b1OoA? z-X=*-IV^=Yf$uN5B8#yKJgMb&W_gp-^{TSHUuW+KKq7>2H~mOZX~m9m`~D8oL;wT8 zAXMh{U7bOtSbybACmSUIOc-)0WQ{GmHgyY`!%A#@%Mp_F6h)xu~V+5VRQjBVR zDuTm!{=+sX#2?f9Ap?LE=UHeNH&Yw%U_UvKL`tUBUq6V_B9v788AP-FO}ERSgZ?gG z9is2v)Y zd~2NwbTw+PqgPl{6YoZH5HdUa>FFppXl*SIc!^L2D<;(mTm|3n=q<@35TlZ@pQ37U zs?BaeP_0;V9^9#>(7rs)JI8}qYenbn@JDedAjR_%U(+m7fT~G=>6^rEO%1D$;aJ|D zcbfAbL&b;5zV3d+zbW|iNAJ~KL!-o%5z7t;KaY1kY!+lid z_3M1&a+PyFbl}$;D2~n+-96f;onv>r-p7Ix92T%ooBX@$*g|-39tlh?e)3v5!Kz3x zeST=s5FrE%c7Q?ax=4m_f1WqFJixLfBBY z?fKymNwa0mr(Tv0`Q`k=s@6r%s9oN<-j*gD5m^|~0$FOND_1pcx#{J(y z^#`$zv%Fl|m^|GDToSBo3GI(gYuSXs>TKxw9muh1@rQ%jd~XdR@{!EQHM4&p(9ZoRwa_YzpT8ZY+y5o*l|SD0mIKo18Yjiat$qmD1ZvcsMxN zowM`$H}?vo#?L*lA>!}LOd&dg+j6$5jc6Ur*engj*64=yjR$0?x7id2TvL-2^z$Dr z8*^e+;v0GB^ATG8ID|WS8(6&hApu?7_t>Sx&PEvm;xp}L3p=`|_?f@kUi_E?L_tewV(-pEna_5Dw*C6Hzia?88^;E}>C~4!%hjQZ) zsz@AY#`}zsQ>8t%%RH`A>iCA?U;P5p|Kxoh(;yEgFV^#W=`vtBpn_hd;;FqNm>*Ye za&aUUsAVtv!K+>#luKD4?U?gyU#MK@B4SSUQMOjEsflEXV7u(i;Ni0Z`Ja_@Xrl`Wo1ni7Slt1`*P`=a@hV&5` z-iO;*mY1LWU8hGqiqb>(*s*d;>`Lag&jq3@4I%f<{O@rjX%M-v-P$qn@L!M zmWbD9!C~wx>>bEI<)$P~lN%H256>oRb^4aOKg#L5nlCrOb+FLAm;QW=h}=GE%A1kR zp*Uoj&uEQ7hGF4jy5PZkQ`_QO*KKV;AYjcY&&R;$IX>YD+Uu)(T^vOpq|ZIsAqQ=O z8u2`fDk?gYB2$QgWflc2zGsWx(ltI1W;l%Mr73BOPMksr9#s$^^cs`Dm=#l~TbzVx zSVjPtXrUGC8T1_hgj^L(*@R{)u3wKmG*44{9hAZ8E;lPCeDt3<{YeaX;Jn&;)rh~d zU0eCllJ)&fzqL*WXmqdVtgVMT-O|I;$wYya)ruf9SmcyTIO?Y<0i zZ?jGDcbPvVjaaaM}iy26;&0e3^(xRIFN^v15;TWJ^4WEwINQllrPD(&dcDk)bo`5=^QT(bnk%?4?IttEi-utL-^D?oDA!d7R%ti48hCV*)E*JY;aXK89o%iEp46P`jPs`R4P?n3JT2y~2(lbXR}P7y4jUL( z9^1tI#BRKH9=|X!&~2lVcQTOTuu_`g$;q3yT-cRD~}N(e7_3;Z&V zO#uU=J6YjX{_~9o4=c3-h_fzfr0S zc`fUv#uGg&I;pv}cPH+$D*sFv^>ZF>)&XM<8)E>M@r#J5vx z8b)*Na%TC<7m`j|)eL40I!|u9A^H#73jj@=5jO<;?1)QT*zNL(dAxl`Gg!_iR0(n? zi{SBaXac~#F%tbc#hM>JD<2=CtP@;|_^o|{+WQ=}8SdQgj2y`zN+x`q4YIH2u^^!> zIVU;%1Ioh4vyq@Pzs$vEqsfp@fC|95Baq^C{VIVYoinljqf)@|;r4geb59x@xZkZX*^YDvrf_ zTL-D{Kp&$$Qg&X8(+dvxk(aEFm4(~JD^uy$WjU0sBqYpB^z^jE{u!J&&paE2S`f;q zi?5p*-M=-b{w8)~PVPg+(!2APMI7DdxNgUm7j(&d`l=+;kpEoo!-?P}lM!9<2#R0z z1*w1UyZB-@9)AT^sSJ;^OP{}VRd!onjyF7|TyZXo#%@=C*%M_Pb$nk&lW^MSH6D>T z&W&od&9)<<3Hf)a_qSH+LDf!b@j->WC730*tnJy0tY|BN#S1CpVPh_n##&7{1~t+D zu)oK42k#&sV!?EmdqS=ap6Ye+s(!aLW6Pl{4gZ2%e2o?L9cCi*`mN<;k>K&TE#11> zjf;RFPH{w;jGF{=RircKsCpU8q|Dx-1LqEtK5A|AA~htXbt-Dx9eySQOtzwmWVavD zUIwH816wy%3n3cZ@9(dM;;PN$?-e;R@0)&ln}2sE3;pw}#*U(bf|qMXJGklAYp0bU z0^G1Yszl&CT-pAs{FfB-?{YRCwl}Wz+T(i^e5L-W;K$cFhKq^gkMQvcS<)GUNb!RYN7m<=2BvA2kmZJFqLW`SRk|2 z2gd*@B=ds!5YxSU#uS#v@PeKdNTs8H6P%r0Tu)c`n@@auKSi9yEme$MCe9}t1Zrbz zhjkxCksgW)_y4?7S5D(%80SzU1>zL|oz---sZVpGdGwyU9EEl3==dJf@|022V`Ufq zRCehyftaaNAURWrj7^wj#sfats5T+13N$8!AD)MzI&>dD)q()1#LHSq zYM_J3KkE7~g0N>%swfbU^DBLH42*D&m7YinMp4l;K4N}K*YNOg1|U^=;4Fgzj9H<2 zwxRl;GTfHT4J&}fdv6z)*K-YaH2ZrN!s5K`=kXW&@Rx5)pji?ZM`mP>V*iL?dY?as z4-6=S^zmxH)#X|x`st*KFML~&wn1G2g=kR!&kH0eSPzQT-*8-1%?fvop8`<0efjlINct(mwuIC~P) z2mAgyWuIgK*zZet7K*ev!|D-Q zMH7wyd;ZGHQvwY5nwlD-XV1RIJ32b@0nir|&~e)t!Phz3cKapKny+)O?8kn+{Q@}e zi!HAEPe5FH@|Ln>n13^pICYkF3=Mr>F)@8{QB@s+)-9N+TlpdVo1!yWZ!7`u{nNF9 z_tHymxyr~-{zcRD|0TSq$6Pt{yWWRBFsNpS{~G`1a(UT3H;E_hOIVkItCo3B0wfnX zl1i3n!vHY;1@-8vGfqVo8t6*kha6o((Pvl3*9iC%W;{w5ZYPsDC@eD4wmxX4Tu%Xc zcXztz3{Bl^wHkYY3Tg{O^y<~iM4up|u*o@(V%=F4;l8y1ta`dr2ly7lb?p8crGKb7 zxN2^lyQapZ2Rw04Tsl91B2OGkCqWG$=dB_B!ElMRYyJ!eWPpqbgK&D<`)%*{)*`RQ zXcZpBXO5V@Mg!P?rP=qe!N2YT>Oc8VK&zj#0>44+Pq?4~>a#xO2r#s*erts32OxdWTP_}uVZPfxYBz%-1$e$Fh zMbL}}%8^V6`81`i_6Z}M7s%y`7@NSvCOHW~8k)K>>4@NqEU`Ylz#mt5{*{#ur9%G< ztC)-sohM#K;`Pu{u=z|XeSr;QLS;2-OhkmNtSsu&r%zAJ*R9d9u<{lsJgPFtCF^>& z0|620{GP98n&H-KaMWw~y7uD53q?0Kx6+2*r^qfp#Ks#yueVX^7Q6=N3ppW2vBL zv2B(h?Xpi}TUfteGZ}$A@)ZhpRXjRY5otPZnIbH1G=OS$m$EcBH~ABUy|dgd*5ZB~ z)6^skk~Z0+XS+HG!6sp;Q~ZNO7&hz2m=7j9?N668;^RYbo;LoT`ILl2$;PHc%TFa2>?7*6ddy{(YopX6Th>A_+w&Q7C;AsH zDfxGRMbf0?yx-!Ww*|1mY)|&9Zr3lryjzRE)5ITVepBzN9dNo%6Wc`l`y(^M>ZbjB z>GnX+SDFNeCFc$RKLI55;^O?R*W>_Sxj=6qnOje|b9Ra=W$z%nmNW15O0Ms`$ zBKO|fU}n*8rTv$7mvTY;iIJ%}=$~^7h7NQp!NJeZ9`nKV_hPLY^AON{41H+RHnDOc z_-)_dpd2uj8|)VTeZIMQb^02#I@mo?P8U{hK1j|ZCPo8nOhxWlLQ=*eLiKISaA2Q1>X)d25CS5b(_U#e!1Qg z>8_YML-Z%&%El1;AEYgOpKO#EWISwT34z04oJ@caaB*>KKM^}b+=dBXP=?K3U7>*P zM+W3{=p6tlbO$_S3bnh*HEU<0sSWnYzco*??shgb!S?0F?f#B|OGHH#9y^r+3}6o8 zXg9t8A-K!9Y73@^-tiv5t`wcsmVYJ@VKRNU8TaJgG8Y_-*m_EitYAZ{{t1qT)2=l< z=`FQf>kcQ0j&KE_RnK^Lk~dG6h99Rk(zpzXL?#P%%z@j)0ya2#gJlC$ZUc~YDt+p$ zK`OT>!1`jW5Ab;>wD(9>y>g4lKK>F=JA`N8>-jN;U zR1tAqJL+U^yE(d6d}K!R#~ov2{S7nleb+VU&=WzXQLOn3Hmi4^BNN!y6^QlHeo;6y z`Eht>ZGyp`x*SF-Ge~%&9^8u?wy}i0IKZr2LoK~bSo-d2`>u+*In?Oyz|!r>sr@N= z3m+8vPU4+FcJKR!m1k-2;gJ#Te%QCB)>glIi{Z5559Vh--38KBbZ$4W@+}*Aw6!`w ztJ~X_)i?ETJUoOO*^d}sF_rOd!WVwidLaIlG<>Tr;$0$-{Z2R9$Xa6S@;Fh|o1Ogo zI~ebQz=)d(@a4uQ#I?kusv24T=lly;!cU%E#|iK*ad_;G#qpK{AAoIXLCSmdA(7}*Bhr60h;%gI=)>=a{1~ZAHOF{hnf*SQY>$7UXWjFE1-311E~L#gs-nH zf8ndtYJN8TxTx^u@i@3XWn+1z-{wRj_vgkG+=MF8O4Tb~ZrGky1{_0~VvYSXws28n z*LB`}XI3E>Zso4<&DY|uOv9`@r`F6Y`PjJ7L8@rg92}*qYs)CjnYU)gGuXcjaTiAq zUNpQBKAZAa!bO=p4#D(K1lQb}HaI;e2W8wI8Qe1*1N-m&+`QXjlT%<6jSxZICg%{A zv;jmfHj>wfZf(cXHml>cmmoHLKd8rH4x(p&zen}u&!{CI07pCDpCJS}?v67*lkg(N z{w>uroz(i)N9s|Xf_?%B&*Jj7{N&@cgM)*YZD3$sYgZa|+#7xPBBXWNfa!apB_o5P zU7x({D}cPmD#GyZ|tOM$W?ABgVC;*0FKY@@{u!i0V1XZfEJ6Pu(3p;a9eu_(wq zxNKUA3wl0##o4Z!0zl5ruetz31O4W9_02bG%=5$Wp#$-q_dGUN{LiyohSwBiELmA) zCHdO4Yha4~tgVRcC$RKK&6^2mUh(}7(=+VIsP0#weH>ioB;Jm*4Ai2{v(b27XpQ+` z6RntA91;mm2y;J}mFdnn9mqhGTE_WFE@MC?kl@VQ+l&2B-@BUtT#+E)22nNBBW|*{ zyPFF-GGh1_*YS9{Jzg8a%*@P!7=Xda_Gc=M7~LvvY;(+EALEBlJ$85XV zE8R2%Iiq~U;2;CcaPQRsENM=9KCx{T83=gB`P;Wwz^3!>l<^ob7{_%t68+sYy}{&h z*yr?2K>o2(_f5+iNT0!FoWIB^{x|I$Io055$MZu!Am#GFop=lwJ74{(J<(2rZ5X3?k zP>NC#niT0>KuV-a4WT8Z-NE<$zVE+x-E|f&kZ@+soINvpKl|Cw&@4XNb4ZT>AgF%D z1)r&mr*_c;-7j9ieL8KSI(m3{S_uYyO|uOjcT_pBFTrWLkCvo zFJOVWzr`irG{PpkENMCAi`@#qM~XcLBP9Jshd)S{Nl_^ihvI%aRwcU!IPSKcY;Y;^ zJ^*Gef7nrXyjag?s)U#Tleek#aNkWVlzC0@;)}DwYF*w7Sr2aPk&?Qyf~9ytq1o9A zzGQA!mxJsjmWIFO550WJ#J%tzEyhDcIEuMAQ63+-WB)qUYEe~ny0Jd!*LJJ(TGnO^;P&z?P3 zNF;M3-cBHMN4QY3n`VfO`rb`f{|5 zf2q7%RXXkav!a*QKeFW!ke@taa;w0aO6{V~yBz<_k2qnBWe8%}1?W(>b~_s_n$%C0 zN}ljrN1(_vXr38~y?aYP*R-ZIdoJl*O;1w^vhpzmK(rT#-9GkoyP~t-m6q>@IM;wT`wB$a$sgYI{fH#Q1yYqC7hlGokwAQ5{snGop^|IUvNJW+3 zZSnKr2Q7rb+iK=y=Fq(ZFi-NEwrwhT9dt7{6&J+*2fe+_^z7)|BJ2?}G}~2TA<{(r z(512J=arBIGg;^y;)43V*_S*hIFoDs;z^%e_cy=&cM#~Q+$~@$$1NI@*qV-Ci;H_z z&WiT3`FhAPhOJ$Y14O9O0h3HnjvPFW#4-8By<#ufn2`ryF(~jGZdV7y`@<#o9)uwUeh|7%jYPH<( zWjIy62_(A@&dRFvx?E|ZdTVn6?3W1bQDo-@NyvDIej8zXJhzPMh3PN zxa|^v2b@?WCHvCVOo?FAm)N4{5M@{Ef9B*a=3o@||EX0z&HG1$Oaqvd5dx{y$zb~{KL>MMK84a=aiCXiAmMWUT*#3yPp&TM?RCli7sn=@SsejEpWV=7$p#zR$UHlA<0bcWnTAHa!P*I+nV?Us6&+HVf^TirWRX-6NYl8VQT?#-Rk0!Jqa|$3C2Y|-x@lA(0oqi^l$!yQ%-#T@wCRJ@YW2 z`EVhlrg2LBIt?Mv{bTo*H?IN^FvQ@#Chh4oIn)$ex`hs1p&L=wje;30^C&u~zjs|` zc%H$AvNDT)Dro46I~w#+D&8+~KfbOD$T_qY`R+lHCL~lk4L124Q3Rim9D^UEAmZ|v zf_X18^AmDFs28z#!H4mVMt)brV0s8g>)Vmf7bISKJz+V`^H@!&IZ9;xiXDGFS=A^( z`dDSeXzv@CCcbmU>^eW`+w4 zR{NCJHOo9+?4)P?#PnFSW!1oV{R# zq3m}?DarVA(B{Hj%;~wAV7Vee4I=lIqVJbdTCHxr`il{!BBe}s#R1y-B+1O8tOe$Z zt@AzaN*>G@s~kW6{Qbv|w(?H@#)SnsP_Obz=U?P)SHWTN>uz&r-}QtFKKe_mwt6Kq z^T&0QZk5gR8lxz_Io4Ivz;R}@JMq|)0N_uuLfDBt39oYTByA-DyO8SVH>{ts zFtojQ?2dza_uUTt?bJ`=fQuTSCA>X6F*w~8I!fGJUw7YV#pCfeLHoJxLA$Q$ON=P} zgVpi-L1)8>GbdkZWQY#s4-dVF_I}O^%Qmdzr83Q@WIXkNO44sl$V*A+2d2Y z8_a;^-pKyC4j95La5J##D?$f=mvPl!4+3aGUv`|&#JRI)@6|50(&a>tpC@pgnv;(nF>fpk@XRLO<5WUyrmC?X#i+Gv{No2b zw(wL}Z$TDYx=XaSY0T@ZT9D5N23=2rVN5PzUl+ET&$P|;y;uz^um(~Z+h|+jhcZSF zo!T?bfGRQY+9L=QBU`Ix`s?EL^DH^qHPhvvPrSkU)wBU;mU_+c6r2M=wr_7a-m0+? zuX^+1rAWH%11Yj?R_@|s3BwQ9pJNR8K`Wd(OTI2c z1-o}Em;a-??kA9Q0xziz-WjmXIv~&S{Mm1t)6Ya=*6JhxNr6lUG8)T{|IT~RJ+5u^ z0`bG?3Ll@lUq2^neH5{eQuCt*@a_+SLH+qi!&T1kiV6)#?Ibxu-DY^WgbRWbnM zLP#C!uI5-M=bvw+cgY;lyT4dPm%`Dd+wc*vDiFV4yOy*HRBp0b!~{953oU(ux0a5_ zMO_7<#fJ|c#AmY4-Hm6zs>?q3e08`ln{d7V*Io6)Al9b<;I&Zten-M77Jbj4<9ayF zzL+OTK*?iQzGGqcaU;kapPc}?0z8oVR_VV3?SiKB-~Mj=dilsL)Mdc_0w@QFoWnY? zSn=9Bh9QUfLS#_F{u|5TX>Y#m+KM7i?7EJ|DW?%(>bDs=qj)t<)%?P)d-WjY2{Qc3 zI5NO(nRwcSh)&e0eE-((v63V{OM^sAv|61HiRngtoo(`M54~4yU0nj;!Agv=%QITA zT^WzvKOe+jAhIc&*Fu6~Vn!tQN8~3OT9h4T=&9QNfLe!2kBg)+$@ONNnYMphn-Gpa zjHoqWQ+^49`U36k8{>MOJ=x(cZ>5BFaoLE!;=7+b6S4HtKS!+q`C(7T=sVdC2g?!EOWbROW}2b z68Mcgwb?+yt3}3BT0S;?CjV@QtVh5~H}H+d^i)KZf#HaYWA`%gxO(fZ1io=ajTp(p z)BS3g>njZdixZI2_h;*q3yCezdeKPk$p&*tY{h$H9e zspa%7pJjSY!H_i-a^L>D^Nd-9i1WU_pyE*e-hNEJ<9%cAi=gWb$^H4-lZM8?ph9oK za+@7q$>oC7&~Q-sWvqwp4WlG)Gpjh&c^@^e)c0t)R)AOiyN0$9)Ad3s4KD?lAgjl` zDJ?m^X)lG7&;C~zC|(gEjXJMybjt*(6S!Dd(X#RQ@u{8}*vsOdCq(W3_c0Yj?P;IP zceR)N!3TGlE_CBtuW>0?xsN9`#>CYSkC>IFVOW7pkP#iK+s6TuCt`@ zi}5{qx4&QuXzA>X`ezq+rERQkH{PN$#^RoIDcADAs-ZI54z7I1l41=qajfV1%)~bB zw(QhtUd`^Zfl)LeJ>^1J!Cv&N)s!^aikgau>%pSFN*-x=v`@nG^OaLYp{`QYfPWUm zD_@NMsui^v1~cBtBcy>}wA_U`Hk}VVlZAo&MGGxtWE)yQKwz%EzWy|w^6_gz%Mtjo zjiDD{J7MqzXlSIooufw3@{I#)I+o`gcNK*RtF+z!|YmXH>`CzhtiZQIcPB@bHP=KMR#Km>Vz*_dg zqh~osxS3K+|HQYPs5|q^rs-1SKGw#`uc}^Rk6Gq3r(#2SOl?+b&Yr&~q~5tEl=Ejg|zCMbM!lHeABm( zzL9iv-Xh(yRH9>jPsJHj6+}tDOB7o@gXB#Bcto(TUGsWs@ zdN8^X5Mmr9e!A_pCN`y)-uXFZkx74(khD&m^0DVAzBhTz=Nxidp5^{J6&^gZt`$nw z=t@*D;ieFtW2n;#xC(rm62gB)p$M5TJJqwZ?#MeY@#N{rvY+3!ji6e9RXs~fD`@qZ zTEz#OjUL=uv|x0XF?1fc1v58%iUr7Hv6Wdj^-Xq*fXr@JiTOgiiBqq!)q#o=*4G;~ zUtyK*iDRK>85!{a?-~$rd`r-6wDnVIzV#gOXM~Y$KSt#Y)o_AA=K_=L(~q@Haeu8s zuFHexUY$Uhe9QNoZp6tvE%&=w{@_LGeexDSNezR7D&2TWsJcip z*QtK%Wl-4%*Ncvm6ppiZtdqWC6l~7qpW=<3-W^DRBk)TD`QCR_rLh#EagUNKx2&8T z6J*G7jtK&IVe9S}$hA7xAcBIl095tyyctao*&L#k9%A~?G=RihYgXiy9G{lcMBcfZ zpy*hkI0;_ZaY%5pBL$2koIJ3#&JC*eM*iqcT21_LF#CA*+?}f*%ZPEYv5jwkv4{`) z2{*SXuJz~nUjI0g2mhjsZ&Y$r7rjLeCfNfs8TRIv=UT+c*`tvB5~tNzLjwm&dnw;U zYN@=2vBwWiAj$ju&XQ)F#f9-H7`$=+dRNyy`5!PMO#$AJ1jjO<5)3?(#%tw9nW2PA zMHcHIw`Y=^+S7gRAK8YWP^$*y!m!Zr@NoN^@78o_EVArNw)5BC*C{d@7UXD;ul zc#Ct(W;$#g95{`|1szX}6+r+!Vf1Nm?3fG{w2XiApw(@RrXNg7{*Wg4TZ~Lkj4tBD z&2P&b*jnc(jV`iWMN4Br`D?K*SG4DhlE8$cr-Dc%3_7Hsa4AEjiMUOu$z2w#nj%!J{DmsuS6^Oq&Wjl*+X_KDlRD8)fd9$^_YWiFHxoU>TKi{O| zji=`X=EbqL>Gs#{*$}05F@@=}m3kIn>sZ9i=bay;<()^uRiT?_q1{_1 zW-HzUqgLNDcoa#-PBhPT`Q%?oKIwkc{{HeResQs{Gd_U4rdhNebNckC!qP+T*YzoX zuZpT@n1i0l`e5OW!u+>9@nTu!<)XWm;OnbipLMI69|8TuhE)9)8QP1rJBegkFR2#* zz`mBn$VSwcfgXOASO4B9@P$Bt2vk&KY# z?RG!(y=dqo;lsbzGOvIW#Lx1xhk^X@O(_EQ_E`Br4?YKO#DA{2maf(Iu8ebamja&N zK9PFl-`0*I$IePOZDmf%-xQke!t+2`9B^(#$twIgp64-|@q|wG9U!nBao}3z64WFy zg|-Obe!-jwEC7npfR4h2hb){~ zN|SDAOjY-W{29T$wXFC@TLj(AUb%RSKleEw&Hs2<1$B0L7n$pk53yZJR_-b5J%IM# zGP@_7aZ7D~YD=m>56ZN_y5!Llo&1!O=!y}JG>rG{ix+1xCr`99Qj-3NF;A~%px*Vg zWFUzbz28Jz*$1-K>OlL{*p{6M`Nxjxirn#EkGbuB_wXJO>?i8gqNx6X3&zX~3zx6k zrC(H3y2J$WN>}sbTNPRQGNj0~AsI2Txh?o3D75fK#ZDQ5HKwmu3%Lc@9dFyL-}e^< zvQfMIvr7>0jofG6GT_hdhI6bkXL`$@r?1S+iQKz+Q<5KMJH16SD!dU5#F+9zY2rO1 zIWD*iab@>Y((J|KM0Ag51rwxbf@yMhA9NW(`%_=9u+ZnK`mBflSRNC(dR*Y^rDv(G zw`YwxFLwzZKyPm(*jDgE1&;0BZD=Ex@E#XQ>P84oPe^ivr6Z2-v{~SONYy8m-h59f z6876HNNRFrc4$v{Ps;;kgzBI~Tx|4Y*?x}I0vqY>CQ4DTjLKRkod$Gi;%wtZk#|k*-{T{zWt)~Q;?63$w3%QpeG$~Wjigi_|;WHh0zOT~$bL00USAyQ znEf{9P2azNwar*#(*j$#hWQUvxdz`AmuAp``%X7hRWK(xAwi5ARw_7{2g>|bcJcN) zf%qln)%}OevG4X2;HE5cMuu2s!`c`oSFa}f-JLr?=r#SjE?;JKz}{U`fL&o*$h$`jJ9C6SqvQ2@TlLqbzs2s5 zTUwjHzd>RKPl|omz^73Rq%yurVMCuXQDcMTL4E!dKOeA^tnArDEDEx0DpSnarTWBr2% zk#o1boA# z&(jAnLP)j(k$aIdf%{ezu5Ucq7b`M<5JX51>|45d^X~_ zlrFbpI1WeVV`ph=b;ZRx`mdq^13&udP&y?r#?v=&5>mCSOFiycVRn+&F0$M*TTdC7 z4IWM5>$H0nO2~#~`t@l)#=hUjHzOhqKU|~}NNT+=+E|25s$+&pMP}P~HQw5mp9-*% zXWxix#8zKlL|Mysg`dP7lcNk4KYf9ux=);8)kr%x`i+}a9TCyr8yaT#TX0N+z2mJZ zY3WTvz(NAXY54OUe#4teFHxEVzosmuXxQW(Xgvfw2U9IY$~-Z}RSA`2S~OE{9Ma93 ze9S4=)}bzN+Sk{K9gQZg6J{8cON>j##;UiPlzvtYY~~(K@|xo=tG7Cukx_FgAtW}$ ziQ}N!rvKN4ANbS$SpH4EIFjR4#o{&31ewHW#KVWBeajx<0nUE>UQfJgdtM~II(17l zo`Do+**Tx}`*NW=a)#fiE8#jr{ki;7e^=ybtFhRHUSZz2KhZlp2Xh3t8)0yf0}*VQ zM3!Qqdp01rPk_pEAcOlw|@ZnUNk4s*a zyU$qPQ|rVl4E>Q%e zbRuNf8>+p2q1SB++S_0Ctd+~X^qS)xCD>JXNj1gS)DhP;tV`$F_5A_{Dmjkf!gY{i zCiwhMl|KsSOcQ*52&8pCQaWFOr}#Jn{$cDp^0}Y5Rf)4_&&tkz6fGUB$RsFqNo#9q z*_v*0y$UCR806=Cqmb${9STc{XNKHKdS!0u8+)~Iew_wCQ_=UP4i0MPaLpNCJy2c3 ze@sl`-g-`3_fOfdi?nMt13ZQ*aSc7yI%zxKn6um5o>QZ(4pon>z+kXukcTW7{x1HD z_CVEZs|_WC4dr0^yVJf%JeFhP07i%p`bvK5F66tpS{V1Lcx{ZI687#Bz2=a`tg3Xk zTm3e9U)=frfn!6*kc{ij89_5B)u`A*Q8t>IL268)nn-LV(Kv$PEiH?=eE#|=!}xgA zc+_Qxt+h3PBoc+o4Bo^DWGyOZC$fT#Kg@UWcR@wq_ahj$_?VamjR^?Z6!e^f60sb) znsqLkNwTTZ_nk7%T>uXfAGhXAPwf5Xg`@ekj-Io&^;w8HkamQZeFZ}8w5FBf(vF<@ zEn@YK2tVU;M1c7dVW}i3Lw*5_qd4R<6Flh?`*qoVBY8wnLL$bD()ITDlDlpR+eFCX2)miZi0U}%++sh^=`Ubk2TWhK!Md>YZq}8HJA5H z&5qokEgRCRKO?S2$?C*6I8gclF`e1g?XO|Y2>$BKstDNRU1*&Uw;&R_E++1FOoWir zlb)U7neR~8;7@)KQZEM4ucyfA3OPD(ya)wFchIb{AbYqMi}lC4+6O+4e3+#rkCyG` zg@GvEi=XuvCYgPs`eqe_G~hP?$rUz8r=q-n){hH%NUD-luNQme%!ROS@bAfzDE3O% zd>BX~E>uX}VS-9wc?;ZNrCFAgL=4Fw|HB0szzE(q+w*f=H9@8V#Kx|i+FI?-=j-K9+w(8AN;>zZFx*rN1e;!gR+aM&qKlIWb6+_RCqi5}N4A)HVxVUiF|7j9^ zDXr4rx!qAe!Jvy|*p^*oZm&~9d#vm_2IC;&+-R%oM!*#Ut0XI`B4L>aLT4;iVM&D$ z^R?g-zTEAx$oVj?uR*HCFsRnPQYzhF)xhIYiM7DqF+-r;_F{*uwPp+Ro%2?*dNpgQh65?QStk@RVLj98>Q zNMLy>gFWQ@r#=53(P)n>^Jurm31;1(jWcJ9^m3{Km^fVw2U58swx1Xzw7A^de~J?! zqZ4J{5Owg-2J?7QWYJ0B3w=Ne2wXJg)vi;##68)X5`L-Z+eDFo`h%!GsGM)2g#fwF zRB2Q8{KAwsco~+y@|u0jKf%T$S`4O9Y{$SU4-b5PoEY$Y>lqpX0t!q)7QghH2_4T4 zy}EpOk=sQ#&%S2IyNDPU6Z7Tj$@PW70Z)_qij&5&U#3oN-L0x|5BI)T@@-$udwt0B zG4Hi)-e79L%&sE`V$>Go9VSI%>|J9^;%mL555!T%kG?u@dTliXuZL9%_gkf(UHg-G z#Eo@9Ma{8$vQ2Qmbd>Z#rqgEr{G9xT7r)z>YeY|;{YBe_gxqbOWD#awrleGbT)6Jg zqp);Hdvz-%oI)qOSHyI!?8k;CLVkO(or;J;p|Y-&TdLyL_V&_Xbi#o9wK+RIeF4y^ zosk%Y&ztMuJ@vRO5&UcFt-9#JpC<-I0|{jqxb1{H)A}iMt+Bktd%(GFI=1k{C-`bs z#f*+63@ z0_HF-Kpni{eOz7%8*I6HSNC;Z*dTWWR`O6sh+)~bzdt{s_RQ`Y$?GjJA@RbiPCh&< z-4bgntB4HTbXOIBg~SwP@Wew7Wa3Q0R+7hAz0}xZDw-hhK$*= zk0zRq1P3)ZIO6l8ab^(c*G8)4KXr#d^`l!{7020vL zyV>iG`69Us53J&rEfS24jqlm}#TLC=*KboY@m56ipb(SH?&nyU>qbVp2YVlt4<7C> zONG^Tw~Rng&vU$&?rfYc);U9RHaupf>nMRRRuim|5xk-a>ErB$TzL7;Te}F9-gK#j zS7w*j$PiDMzOr2-T53>F^Xqe zhmF4@_+QA3<+KK0GAAv}tP0jLkpBC%(Qo+FZ4JVKSBLh=$51X; z?Jb(7schUu67FMt>yoQqmsLC%DIbaZ2OiR{7Jc5+Q~RBVQy}(HKl6qFZxeZzeHxQ< zmMFE2kJHUAsbG4nW&aa@zn|#C??sba4Cmp*S|_ZwwRJ0e)Home^>R;2__XVIde09b z*>EcuPCXP&qRRWxd~tO!h5QiN0H!qx5~g=g9M6HnLK%?VLyr{nXd2iyzw?9wDgMhSbCw?!@=Hrofax~TEf`&j(bay&ii z$$h*bpbT-FJeF4`y?OlbtnfLdKt_@bXTN`ePM{#MA;m-H27McViB)+2Eu>VC(f0S@ zbzcWg0|^7upcUrB9j~GvxW0T?ez*Zo$d8hNw!A~a@JRXBEU!%wHxdpSP90Z1$RDQr zC~bFJK8Xs*Cxfh%Cjs?T(4w z6AS>6YBJO?eW{q`rxSir`zdzkC?R~(jc&T*@+=%jZCiu4+?&s|lc$(Q-3fj20R*TZ6ziJ6L!fH-4`acG+lzZ*N}5bP^dR5lPQdo zhsW^Glf=jSyNCXyuvjf0yeaqRKEIVeUSY7SgY9ldFJrW-5Yd(B(L!6F_0{RLC<-b1 zg?ZknWnLY$Oc5PMI}ep^vYLG2Q0iUvK1+3$|5EW{dt@KFoKoG2!0bDD_aUdwC<7?9 z^VO2wpHW6w3XYvMkYm1PIutblqsqAj#XtO7GeVClkn(64MK=_AedQgxDV6Z!weia& zM(m^@SKP5HemF_B#&H9H(GXezR;Tg#{UMr4!DI{O`E69uqVA?EIF7=^5_IeVj+(V6 z=n6b$1&)WOjSvpFBU*#^@2h)I%>D^)jF@gF_p4pVl2!0PB@^ozK~{Xiyl`#Q+u85T zRJ73Jhv0645yvW735^pIQH80g%Gu`ad9$Ewte6ej2;mZ3-WDUS z$Hg*k)C8&PPUuC9LQk@5#FzFV333je2|j6!NEPHTiPXX8E}1R}XVx zikiE?7USN}&8D$hjGA-2Nli~*Z|_4cLlnvU`U|o+5tAUr5?So+ptgS>ZYlE!BX-}( zh)9V1eMjnTAOyR5>5Jd#?EXWA)+Gi*3X>z+=WWJ9zwIA783B_>Y8C%SOYT94SwmW`%qj8BSD7vr3)zx*W+s^cel2V@zFS(@6*Y|L4fifEuSqwWE zM3`}YFN;I(EWf=7NyMJNtGeIjV^0efjuiLYx6iu7iR}jX%GU|8U56gd47n>(TUvRR za0r{|2vUIV!+Kh@LB@**8s5p!WPa~;sP^2u=enl0+~J{h3DMr4xh4-5$P@Q8E8BcN zTe(4OV}eBBNoJfBD65P6)U77o=RriCtx>}=C_}xiHY+RZRh`Ri&BKW=Z=JZf$fU#T zpd0$5FMEx;-gRjL{lGdAGXFh6+rkk>UaMDzaEf)NJ;k);t=%8QMVRAcY52p5w^jEK zH><)Knpy%VBBA3HbL(M;D=)CoH89Wt+X}~UR%rFk9aByogNHM1G~)Wn#0fOD^V;(1 zNldFp&ozI>xi^Fw0Ic0hA8~{sQ<^axv(<|4nNQ40 z{H(sog=7@xm=)~EZEevOY`799aI{Z^%0sH+aZCNJiGbKu7mGis>e_G!a!~TB;sb<$ zmLAgUr&+YEpRZH@Y|{_km)#q59>u-&n9AV~|uQD20tcWBhto0MXv-0^eX^wLtbyK4LIlL(Ie z{rwJc@f3eqf$Y$|>VoS- zia#^ZbK^3;5)Z5L5QVVAZkrST2lZS;Wns`J*X~&S01Cc}Ob%I~VHrUgJ^IS(Cy)a{ z2i#BG7;?V859-$_KcK9}`Nm4O9eFfjCLA$gj|XYug*_-C{E!F@l$zaMVb6Gtiq}Ez zqR;>_1++jry{Ok+3{V-B*7<9%n3&vnxZI_cn(gtco~9p|MRiFp!0RUx3UhL5-*{t( zJ?pLFi!AH66cZLdNj?n;{7`9rV0yc=%jEiT;GZRocknk?vi2!4-%|+lGa0=!^l<~gGEWl=KfgJ-c=qni!`)HU5A z>K{{9emH2pckkW<2M^Z$Iki|lHs(~~gU7!< z2n1Y)`w@0*rl`!RNw{Z|aw#2Y?SqcEBjTUldZ>&d(_Ff*C}_#w8Izw(2XyIk7N-S% zrw?nYQfh+f8eYFznqv3esYL;!=&~*b1P{Dh+-lGH{IOPhE!Sf37 zwf(ol6}!+^uEcF(EP;7u78eU1J$m%#*ZXoTIyWQag9!3CG{v)Fn?YY?M69l>?~lvL zzwzmYHmSYjhRk*bf`ggMY-J9?Y7f$Uzid?R3u+A6svm~#yDGhAA zLOA2!(5rH-w>qybLT}R3J3t(2F)`7`frcLc!x4Z&-#_+wy^XkpL&_Aq6I?Pzf%xvX z2Pk@NW$E3w^63$KC=d~!u-$y{i`$_m97d*%Vv>`aV&U}1FA$9VPXtzKgA@3KL~F6) z*fb!fu1EXmR;81R9H_S;5tE8+rB|k02r|jfI3-WIj-v}{L~b=bJ?Zb?ze^bu=kJX1 z{f?8+I5GOnJW)vQ{A8#0>O+R=q5m~Q(#xVZ6rG8c8vf118|4UTj5P5W?zMFI!-3 zGv=NC&1yrFU(&Ui9!gT>05`+Mzm7`?MK+#ancmG)fz|2*!1IzZn6B}l#bX#vOl2Q; z0LW5%5GL#D*+DSZgO?kD?U3j4)8SNtp=#5Ci^7pb5;>+^>kC60c1+N`C7D@DKq7S~ zKOfTX`;oG~aARL=k=Ir6x#rBO9Z=}veYGn0 zu!?}8usZ4KRt!Igrs7@Dj*bU`evrz;9t$g8M6F~s(34b_lM4^jmeK{YB|ar}JK>KI zR#K1Fp0GWGDl}QMHoLRp9yYV}GS^I-HOvyP)Y~N>@#fU6ftsTSPTw$l zcM010jNv!{_jt@$<@Bx}1_HhlRm+>9ReL~5urm}9i2?UY1ojEdKgg|Xzr0Rwe)Q;* z3|7+H!1@p|q%Mp78u`aPM3;HKN~nEK`-Q#yJzVdx-zF9gr7RxG_*LOPWv3mTGg^lsg+uFK9%d6bipgm(5-xEF*liEVH6Ys#Ur)RQiOwVkW?2dIlm$3!N>3jXur|k<11n!Si9xT?2y{C6?fNe z9WAgjSCW;~Z`53FpKdz(r z90u`OGNa&dX9jxw{4r-%oe*03)idag9;4lPDy|by?0aA^F+p$Vv6LRtItQ}@`@|S8 zCY9_R%(qh7FVWr+|Cm?b&Qs#YCHd;D3cKt6d=oqa&iCGqAeVnVKbigKguD@Ig5b@l z5LX%=AfO7>J4_|p5(FJEn zLJwskzQK}y80$;?h$l+HIA z31wwv2W4fMt37SkmPQ7Yy?T#1Wal5)Ty>UWeNU%#pR9yIp4oD(u)(hUx+@a#q{|Gm zx%kFeDG>vzkC%)?hzgRnS#g7DB5*Ff7Zhjj||=eL&(s&X-v|+_}*xBBzFUIhBASV_P;# zmj&@DMFxJ;Ch6M3z^>E->46eUWbm}C5MiLTZSWV1{u?&a_#KRv|NDVe_f>c_Q#I(4 z=$<{{z){d4w#Xe(Rz3@~F(C(_`3D064IWbDeUFp=o1d^Ll$i zWETYnUn$8jL?<-4@uv?8oezWiS}!ZhA`J}n^zo({{AR!?kzewcM zUXf@4nR1k2_4atMi0{oO2v>Iyoxs*UP_9dQS$Y!aD-`>$+UGOsIAqK>dfhI_~8;$HLABWK9l zjoyW!6`rGarP={2Ihds;f1z!QzUu)36~G3;dqaquH)C596>gCTc>Wr2>>fDU(g2Cn z0kR+0u3gJ~jnm#nTm`skG>|p2szti(08JV3lXqhqPPJ6rpS61GIU^w|I*4Bdr4Uf) zuQ{^je{3%$kfG2oGuhh6mKo>So(F_=e>i-j$xkL<6g3)xEvF&MXQh8? zpS18t(W^cqPNZJm^_>%~j+ckKg2Qa1N7>le=7)+fzoRTIEZ!n;D4=-pS%Nu(1SVSH z!AV{$&fF92zYJ$+3rv9H<*a4gLE&-$=)NR7Vfc%)_E!q9wu7O82pulR;H07&Le0|W zHbEgFyhc*dI{_S0TPQps8AaAJLM-5P01Z=W6EUt**2z8d12&=YX{PjxHcH)ek>+i8 z!q&{}7R@<^>K(5rCIA0+^}o<0$luAD;Pqa(a6upVEr8z|1!l=24yc=GBA326cR7LO zN{T+re!?4+)IT!BokSi-QnpuDzuP zK7Fcsw_W_@%a_)xR%T}Je!?&h*pW)R(=EhnEaw zC-a4&g>UnUs1MdwXGX93XuZqJ`%$>ewC-?hA|*8`X=ac%P@6h2LGexiAcPJ$k7aNa zSOlws{g_9>uIpTRAjafYeprzub}x1su{kfyHQO+yF5rk+#xeH?*jGMaNC~mN5)c>$ zFS%+JOW8Y?o0(brXW>S$q)tFL{;krlRX6ox*?B*zf47ebKAf@YMU%4*K|nMqTeiZM z1`3`_Hs^rkgN@kvqjh`W0(P1}9%O~^rTWU&#}-iJ0KM8astV6%vr5n*a)P2ZAwfa? zByWxF>}=2G&+6NgWhq;nYf69MkudVuhlVGoPl4dFG;P1#=f=SBkPh!v0%q}3)u)DK za7y0MPaEfB#lt`iZJ(nAvaSoA99{6@Q~?4f4VYVHmbJhz#ns*R?z+ujw{6+^+DR=x zosT>h3A4aD(PA*tMZ^2jUy_&@D0*wrr-_-(P?`wfCVGT7NmI6#!&`5^fP6x8eZOAu zCrZSf2Lw+~JA4d&u`NHHR%e30LOA$35R;SN;YFS5r_pixe7C}l6!>fA&>pO;6wu}5NI z!g9FagoXwy`^~5P2vZ7jMh1ln(k`qa8ip*9H+A}(ycleeMfP2AGOf#msel>Db{}jE zd3kx&8T3sfTn%C7aRHKSk-YJHxGdiW^OHU}8pN;nwmJG@oZQo;olRbZDWF-CH@Es^ zm0^?lQ3JN5=^|8cU#C9hIJR`s7{N#z<=B0953AT9lcc>2$G&ETbCfT!W z16jY9KA~&`DaV}KIw)^8C6O(Fnjf>?r|0m9z(m^nDyJ@bm-|l#&Fqq21)+4Vn7@d! zKGS8vG0t09{PjB2ofNgc7T0!-%R{59ImaGR4G`#h-6Nq@OkhaF;pn2})pMoIR#aI* zP3Q*uMB6#O`eZD^t6d|uXDV=#-^{7=OxyAw(UDez}3lOnP7A;P^k_6Lw5dnK=5IO zmQvFb4+(JbjSbcfHNp4Q9tY3VwVzUmzcq#NT+63Rim&tC@=%%por8^#FeN0o<*4_l z==?9V1g?8%qLBsON!^sB?%iXg0hkO>Q+LZ}h+g`hdsq>)>MA;$b^l zb?+6EQGO%9x+t}r+v~SQT|ecfE_Z-IxUa{c`t%PBxax5Z^JD#}uleiC@wb|bTseoM zillHK4=%CL{`;hOy!+yiTtv+uoFbF53{}M(!vt-_uJGt%05P}fuP+;DbWQ;-pr_7q z4YipDylH^D)9CJa_C`GhQD7oX$)5#cmW%rR<%AsMFjndNn$Ms-yl4;ZaCosN>GYbr zut7O~v9ahPCqV1aMQW z(b%~r!F(-`t^dnWX@wUqxT1pAMpzZLy@|$e&s&f9+Hdi4UOKtaCB7 z+dR2TE9T_WYwNT}dCPlBt;m{d-eEr|X8~q#l?pSM38~lXM!zk>ec-DfXGjLlEVdL4 zpd8hAifq{=HU5Ye_gOsK+5W=+=sE*cX)a4&nKLVRb4qe8m7d)x9b=q{L6;lg@{%&;FC;9drmx5D{!lEiftX+Pb`3AyhR;Qc**|+pD$9weS;o0V zA6z^03~}XA`lrwQQAojlVN(=})B*Mw{g*QL#?X55`4$qAyZ-djq~F8#&lN2+FgAa> z(Z?wKuiz0tCFRiu&^~bjzVl#ij)+al6uGro^-eKY;^8a3KRP(@Z;fegSI_-0ICAkC zBan0AXbV`oz#4H$BBF+&DN7sQ*fsaQ(EEvACH(dJ!Sc*5H`tzRtaF=3Ah3e18F1f~ z3%ed`D&|&KR}B)k0Vd|NjB>lgftF5t^fyF49R`ld8}l3W{JLB|s)gia$^_#B-2>Cp z^*Y-tVIPzUtF96$)_`v;!y-KKk_%hfiP84oY8xmRH2-2flqeuQG`4 zDZ+Jc<3uT8yE8H$M1~x%U@q0bJcNr3HhAGeAZ~a}Xrtg<8=mu{jPTh>GS|k@WqA%C z{(8weNTx~B+SFjkb#S<1!?S~i#hTt(D&Yd#tEuTH`@;}@byl+`4TDwP_5KmssZ+J5Pr417ins`u%&I$##PnobR|Hiu z_nN5cm8i)^5jz!oNnphn={z38J1JpQgf!>5A&Ee4!1cC#sA2M1nn7i!YTHM2ptQpV zT}dUZ1G|@X%F7oa#D|AWI~_XIgslS;$CWawDZpx@p{W9Ryt^|2C~^G`=|lY(U^DRk z?qw2^{%Sg zw>y3fMIQf$6k({8!5P2=zMS$>6!kU0oae)GsMXuzV7dJgVtdM?RvSjLVq0Ts?EVpj zqiW{w;JA?2OA>=)-BdQz9D$N2vX{{=GlDw?iHGX%36r@)U+DJ!LtJRnZzG5bke)LH zU!Ys|*t-B*N1sDK3=ye5wOnap_&{ZIFRZYoa22v1f~XE09T_Y4Y&f9{BK*m!Ih>%i zjtfgu?(ce-;W=vb4)zQ`F*Tv~H)pKnh*i4roGR|?Klq2+oi>;m3nENxH35ko56gqy zgGBM-D^CHmu-@vQBe-CNiO{g!05CJ3^T3&+UWEYf$EB7}6jCC#jc{*4Rv*YQsW}c_ zpi2dc7X@T`e8uqsFcr5;|3U*!rSJ%OsLc!Nw6Jc^5YytOf(YK?)?*+o##pT!jv6(4 z2ToDD^rb)&*{ND$N}rD_A`-IL7BzYn4l>amTC}wCzQ+4=FV6igj7-AM5`cH*@VpBV zVZ_5EmB`(ew`}eM)6$@DIeO1$8~bNX5gGu`uLBu!)+gAO=4Lb3C>%B(O!I&N3=9WW zs&YRa3O03BRDYG%o=Q7;us&RsA2=lrL+KzXT^o16z-f3#+cVbi6l1u_d8T7LxY@mv zuezN>Gz(C9rXSreiD(9Kcrm_xz-AN!jvItgVdEBjdu=1pK-t99lr*@=L7F(q$s9(8 zLh=z-Q2j8dMSAw{B2OU*gLA=$Ea~4GV)66rpzV@j=D*D$bYr&mf@z2l3CrEWZcBtn z)LN>>4Avbt(!*`4sLN%t7X+po8GHXq{4{>*%-r-H5QZTNF$Q%! zBc$l5ch}=(!!zwoZLR8Kv(P$$x6p^%*s?8k+pT90Y5vbp3MWFUxiepN6E9c6@>vu1 z_V(x@Ajx;!U&R2U!-!P#4|0Fl!om4NGKP z1aRa)0qOTbEIiUVC`c9Lw4R6XtE#4Gec%sdEF>NF#-?~IxIi?ln+*d^?Z_c{<`w!S zn!^f#$vAnM3u9QX*&!ihQ2IZql1Bs{4%9nXulWNxFlbhGw(YNXqOUf0MxFwkv!T~FUUL+QCQa{`jsHglt9Z)qeJIhcwD&cH3OCZ z?+uiUQBwF%$fDY9uSK7$NN4dWQKKxgraw#t=mAk`>)a zJ2nfbAbS6>!85i-TEeIBqI4qFOFDC0fk$0{X241qO=qE;jbJIGp|!+@tFyDShWGD> zW@ZXVSX37E@82oE=Dp4VEG)!%M`9gWOP}zomJ_$_aC!$nZ)=|~e&d;?D2lLe4$;uo zCdbh}U>)rwP)VMQ&=SnkXIHIt-|&uIQC>P9e!`wHyK2w3{1<&jgaz0w35o75IsQ;O z`UeaW^4`3UER@_2HECC9d(CqlR7A3vOys8yy63?v*Xk+ z8Lo4|0tV|YZfwmNk+@r+9{j_$GgeeA7?_^T%+0wd)HR10zqE#78zN!9Ka?O&;d%9n zYy4mKrgM7=AK*lGpRu7Vzno^m5S@+Cm#}vDbe(QiwdaZBp1yIKY7_~9Dt*>7eD8Ew zEvTnhl?SM;O(1L4c;EzdYTXB*-x^e5`-Gea&kcdlLkdtwj`k}8FA9)DBu>gWZgn^} zSX25Iw(Bckon#*WWOVA{${d@1wk6z9EYsFn=!Y}I`#b{BLmA%LG^9g>hzL-9O$a6P zi}<0^PEE3W^6bD6MRC}(>L&fsL;EpGfd?cqBxzMonK*=&bGz! zwE^SM#j3SPKDaeYBeL+my^IWGxaP^#oIB!5_>HZkh;RF-Jx3-szQD6QN=RVFc}T@a zR8sR9y}n=jBz z&o;4ZWMlIcoq0vzW&YW-t57!7r|=mtg|Dmmy2CSQJll7{uzdYc?33cDlXEfbWb$6V zwG3uzIEV%a#E8_q35;KZVTEMqJw~4VrZ%FWe)~S5km2Beu`2*f1l6ayQkr7HCO^Ww z{l5GsH?bc}__LZqO-r*OM{tVD4XS@=piZW-H+XSz&8hT|y+WcsOR!V!j2=$n z)M&8T7dL47Uhwjz!K0E-tVKE`d7jwb)m23oTt1Yl?@Hif_}ZVi`I)s1)_`imf2zti zxR;O*{!SbKM!vYwzP^FsnR0-!j!B$Aj7^JrOzVmHNzQE!Q_LaEdwW=OybsM3ZW8k? zC$GLXPigw4@SB~aDd53TYa5xoJ`!PhT7G<0zKI=cO*@*>5XmPj=7?QrYkx(}7j=k$&X z(w>hOEZt#3COQr8xoWpIdmm*}xJWi`KgKd$!#%`nHR>#$n(dcBomVo6Bj>)fM<;_b z?RjLWYb1E$7_E6Bct|gS=Vbrn7-I{}jF8~nUC&FiZeMtr>SWyw$-PsSqY5`G$$IR2 z*)@H2ou5?c9DrtF62ihdTTgY}0n{K`3K08aj|yjFHv6fn^J!!^&iKfeZJQyh5PBJAHXxJk!m<02L&oj#6 zK=j(lyld`CWrqs?>iykAyl4gA()yP~4>zcGVl*J@qTU(&BRS`%__2F56g&;PQxvr2~H;hAS%VN}!5O zG=2#Le8%@3k8FJ2m=;uTisgL+o^ag?tFI_eq#1=zO%G z`q>bxYERLqmoI-zvi)0=RVpQe>tvIWh0CBb-MXvVb7Z^J&vYDW@K-K3q!7OfVfla< zsOA6xahx@9p5Ds(igP`JeVlhlR0X_>Uwv-+SX6x+$_^e8l-RvtR+v(I=TDoJ%CZhH zP1p>4yVnTP&Eo`hmbK`StZEcIoXiYpOJs}mC8_5PbinNIdQwy*;{dM9`}XbU=N41_ zk5}53K=Mus*{5ZsdW5t!04@D42?>jH)Hn2wiF>#xOx>uy;wEL^``2&K4G-nV)2*pl zt5FC$VlMzQ-iQGs@^t2Z;8}&V&Mih_;Nt3Y<}&%p z3fL1)@46iNF&D97$mt%4(WHdHU?h0A(z&T~dRZD6epbl)Lw1 zL;^Qd%ilWBE7DKbnS1+G@|N$xsbO_od1N6 zRE7HhuMYfaLg9w3I!|%a0$Ar7qn=KJv@JWQd6CT!TA831yOPa&UFvCBOlQ#$r7E86 z+|3^zdwL+Cy>&G9?uVr3C1pJRI2fUuW`Bt)d)6X|+0=PLvY7#bfV+vERJsccZtqY^vA8idLp5s;jEft`tEz2I21HWeE$u z_^b=n$IMi_t>7}69WusEs^4jJb@=3HPfIWFnVDQFB5h`7YFTc=yi5*9UFP&~{(YAW zg2opd(+YEc4fXH4p>u;!1!AzT@JOQ`Fl5S!XoK~G+8N1t*8>+Ifiq6Z_&y?!pkOrz zPTOLX2}cCs#%_0?)51}>&(WqbT(4IF>@2gWzg$mCD90pD6Z95F%VRu)q+ zv*waCu>EoqZ3S043m8>nn{TAvs@s^A$=AnRbz@($bvyQ#7qW@5=UCZG2C30YYF$nJ z%n{QA-;KNvgvCYxZ&_LCD^~SC6eaS(!05cZyt8D1Ha0fdA(rj`<#ipv4q^=|jn1nt z&Ch?^Nhi`vJ0_ASjNd0Dgs=2xD|7!&aQb}7|491)Cao^nC_ucU+6m5<==(>8hhO6! z2cP>S?Rq+l@YaFG4|*UV-S%#(%6Z^gw{rdOe-ha)GPdDB+P@~|)A9=Q1cK% zAUBTx&Wnc%yrIcR`k&Bvq9fz)-^3N-rzZKoLcxj(yG+A841PXv#;m*o;sxBAJeJ}5 z>Op&>e#TIZ4nO=;t!bjJ?MtldXzA^HJ=s}VtJ~bfK`j&c4K@cb@!=9`Vx>(ON2zjt zF%@d{?|l+eTOHS-D-R6j4>Dwk_g$ayrjTGj6Dsf~oCkmSI2h1aSLucWTh2F(7BR$k zh(Ec#zeEHr%ZF_CwRI)L+{wtE&Dlsp#i)*Sd@>JA|3{Xq)Oqs{+@ zyY`A~*a~O)eorJmQrZR0!=9ELk%&?R%CkSIF`doRlYQ(Nh|7cYPwK#rt`UH>0}V1j zS5pxwDUhA0@+vBdr2fbQyt;2>r0mqq7e=&)%!@pv*l@v}4n9`@|$A6M)ea7-=38fp6M$J`VY2Xg>keV{xmQPg~;wez>iK!V#Ze^NYSZ2*vj z|Ni>R>S`s>nkS>Yd~mMS?;N=O0`U|^%UU1^d-@f&(VB0CETx%mf-Uq^wI~SX1v~OV zIROKl@V$Wc0Fs#j#PfkDWR8P34pU6P2v@<{*>xp5Ok|sbFbUwg<^$$u9?10Y4_ieL z@Em!JCtwgdU`Zf5YSSQ;Bi2+i_cxg?<|(9SyysQx6}`bJ#O{7}wMzG2!YYiIT2Qn0 z5uZv==l|0!nK_)<$r*|7=Niud7 zcpneaj>=!*NeMu`-44J&OKGd8gy|j_8-MHgbrOEur9 zKQjDqcx5I8*ejtETMvkv6rI~)KVziA|Io6Xod>5ijw?iz0^gUCkiI3_+3stR%9?R;0Ohw zCM#Bcul7Aa1>Zk2X>8aWc|hsRwn-DH)8=72?QkkDUkN~`jXrK`kLW?C-yeJUpW@jt z2i1koRx`rCTtWJawOT8CaFcBanrOfY7W$YZsD7P|h(Le3iwCc*tvxU`Wdj|fq=d}0 zkHJB=jn4S;rFnB|Zgv(#uTn@8(|gWU?2~|IHKM3X1#B<&lkQ%+{Z=Tu?azJOIY2#k z0LybrI^0<*f$d3X4~p*mh>WK)wZ??c_=3Wa%U&0#Lk(Y;M-^#9(=!R$$|`}*2qJ5G zH?uEhAIE;4aYK0YWpwm9HWrYR8v{7Nk>TMqA01gXgo%u^?7s~4`2WLcV9?D|7H_B_>0hR=rDnEsnJ(cWlaH6c3BE^Sf3ZK- zh>@8W1YR`Psb)0`g~Xx^58i`#%B&H6UP?&FET*4T~&qJ!cM zxixPvJ>=zkXKF7qRi8^y`Wz8zK>>om`XVWr|3-)=BjduiLRW3{vf8p=ll?$)p7sg~ zvo(uBbfo$npDxSuCu@PHvxM-1+IOyjp-;@<`dR_FbE8FeTTK!Y#lo49Z5LE(sYXXR zz&EJadk;4CqNvDFrj?PAF?bl)uzY@kidBcU=qTfXlQsSct`JoE(!4tyo|R71*fx_O z#V}&=L43mRecH8J&Mu9Ei}LabU$e5jKh1jW2FTmzD93(yR-k>$jZx^fmhLlgAsXUj zyHizr1_vX6sSAj00TB_#I)Q-MxA&m@lWt^P#`w_0#jY=+4vkV^hmo;@X?9%+giV{$ z$jei9d9OG6k_HBh6}C33zJhj>G6Pn_`n3Tr4vvmuW2Fx9j;u?%9#4x;nj!^ieWXDY z*XJKU0OOUbkP}pqpl6qolOC_OB zb|O!q3Z_MMX;RfEcYS~GrBAnNdihgANo)zPsurV13pFzGK*Qdinv{%;`1mhUXY3su zKuw48@=R0)hz64+uFWk&{vJy5aPsu0-Gs0tHn3WoT97$OG_($70+Dc5Xs-n=;452=ArnM#N3^gsSmPYX7 z35M~30a8)OH&>_7W)A;d>KoREjGd?AAsDgzkGqXiRykV@ZbV(uqAP&0- zB0iy4b{M;E1XLDO;OEeD$KhpmpuHSDq}*vlK=iO~^e&kEAb6M$KaRuBT!H*9I=CvY z(tSEa&&D}PcHfLauA+3dG2H*weF#|Nd*%U585s@K)NhDK`R7l!(lS{H{fv!jPvfZD z44&c^b^W0SDDBXPOtqPzrlDP$$T7U9qEw zr03+&R!sWmW`=}dFbU9dh9(Q9o$pI~#Z#v@K3{(WFwBEr(UFMBGB3hc6}N>izkP8} z%MKbwuPYF0sov9?Ih*3UO;=*F`JVonnt$ZhXL339}+6&aahQu%$XQx~+HY;bGTrS2Ao}Bp(~P zd&UPukxP6^Vkjv5{?R;5H_0^!jkd8Y7?qdzSlh{m(a&=iY2SyyOCE)DJmJ7wAA7ef z?a(CUJo@MgdgFpHr|e?H=}AYId71wjGQqs_wOjr&`~91>;U}!UpsaJhoSfcV>c!ZN z+NbTdWrMOkD%?CjUj<_zpNe1a+}WT+Z#NI#TqyBj@R)VQ1T!jf``fk06+GKTenvLk zll${}BI^wc>Dy4DQ0q3oyBhr_v$vTeH#Ih5;;2)XmZUc;>lp)4COE>G#wGKX){as* zB8>Wm5r*0QmN)swy0O;v2?hG5>Eyb1maF3H_hB}z(JP6BJUF6BDb1BtqprJxcHy$5 zVVY}DaY2f1k^$k7`;7`ge1!ZAVcm>6?McVzz?xBC6;8``g|C+8EZ;^zQ04B$x4J(T zG9r;#h=-c~`r(t};wZ@pT-eZ5^!5m7quY@myE4&gK<9 zNyM>iY;05x1yp(QB|orge42J(QG8ml83tP1Vf%EYE!|AO4yVN38eo5@F7p#N4)z}` zBDb=)=kQ)skaDBAz9w3h33XmAsT)QA;B>dQ<1|_Oax&h(h4vm#Yzb~5@ygo^Nlrbt_erQT+Q>`{ru%UZ|9w~Df)N5YuXuiD*;{V^;1)ZRa!_v zv@#eM78Zogy^I!Rd-Z7L6!a=@8pr;;-#g+RN>kC@`e2rlJjYS++{?@yZ%@6p1SR(Ushxy!I;fEQd!~SsI7C>Z*5>EmCBq zn9km-1GzSC!hyS%?z7D_wN`~3_RYjI9fUHW7^)CUpyIUg*lE~{Vw-?Y{rO|ULU{E2 z1|^=-tvcrJe85Jt%Dz4I5nEHfbR7N70T;|ul&#i2Ze9oDa&3P-| z7P{-?&81MICBc$Wn#VHnKueDM>#+rurLg{1e?EIw>eBD;_eet^sO(f0#2Go+sQ{{~ z(k1q+$uv0)p|>wmT_Eq?-qS!n?t6T=9oY;b%@drOcq$(Q<%{!4Z|3pfVXA*IymGfh z&u!sXH4Ko)?^M-nHR#6Sq_S^k9N*tZ4OE&?t5*7BcfZGPxyNw#N}F?2u5_H)z~G=A zWl3*DNWV+l<*DKVDW{w}SgehUd8Ldk$Oe_-G<~cbg__M>&lk!6`C<34lT7-JPTrk4 zdpSqe>+*Gbt5HeC-K>VF<)aaM1*%A^sSfDkL_~Hiz2%TwO^UXF?7DZ1_P7Rh7}CaV zF-=D#KMys(XIl6mTjDOe*+Spz+ntfmKQq5BO(luz8WsC4Eg)==N_s!yip%)dGD+s~ zqM46Ji;H1v9u7PCuB>JYqmiJ@zCf%diQ7_LRA=9I4g*B1VgJ0IE6R>)_{Ur$wKVLDPvhvvy*>() z9@n~~*|%DzHW()-7Cyw0XuPl^P;8>qY%=FQHjNh-?fopVbcb}9`}8E1@&+x30n<>NsJr5GRRzy94J^BHIA z>$9(?yx6bH!qyIJzVvks^7f2;UkZtH&7kM7Ug?X%EE?b12}cP?1dmJx2!35KDJ0X& zus-&{kndOLdxT%M?g%tURcQxB$9oKH=VE!8?nwN?jli;<0_9a_MB;AI$6o)uA?>;o zKPCTbdRk1I6Pp-)m%>+x(DljKmf%BimPLV<@9wEah!<7Ax(vd%L1#CO1TA?|sD-J03B0_#0RZ{YbjhZ!61^6eB3bezC5uSxk)aELH1De{>bWyI{zx z_2VVl>C!P8y`)yqrYLe?>6~jy(fw}IFG+R6p8K8bwC4$IT;im>5}i&d;z$zMufP(& z&A2C-rQ4hZAJq~zH>rDV`IuqP3@#{-^87RlE&o5JrkC6Xg|kS zk?7Tp1>@T^c9(B|w{dgXwdbCg5DL@GVVAJ39gESW)|zX(;yPI?y<73)Bg*mVGuyL$ zZKm_jBy}I|-$0_sEu_w*xIUMM1q+ueh?$$_vk33k#duiAXLK>5RI*bq3R0aX(G_~I zK2oBCY_d72@sakw{PLQ^IXfY(KDpjmckVdq+ZPPq-u@-PR4o_t`q!Pe5h0Rs*5kE) zzZpZVEZan+pH5ErEIq-NWm-S$x_aD7--9^oJ3<{3oFRQCg@@*;dbiK6GRqFn&(+Ap zS7nGdivjXR>(pkPMcU7qUb{?5>F0=nT-KA`ar#%GS!+VG?u?9 z@A#sz!_nd=eq4d(bzTC;@OmTCGk0u3L9*iAty>DPsD{ns0QrxF^Bo~_)-UJ97UENs zZ{+1gBMbU99ZwgXeu28~HXMqq6i-E(A6Py;A!GO%;*Z4c_8ZVSpahd1aTO&4vY?!a zxTt%X41*>kk#!glL1w-&Ho2?UI)4grs6Y2o`*LtN9sBcB!a;|$<=apJR~>Mig~;A4il0CG1uQkV f;y(F*Uz|{(O7pOO@GcYteBHjGuU(*J9s2(Oo9Ta% diff --git a/sound/weapons/whip.ogg b/sound/weapons/whip.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e138ec8578ad8d2bfc5225dca1f0f173baa59037 GIT binary patch literal 12638 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 literal 0 HcmV?d00001 From 43981fb34e557468193c844fbb7263c47d5506ca Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 5 May 2015 20:54:57 -0400 Subject: [PATCH 05/13] Added lightning spell to wizards --- code/datums/spells/lightning.dm | 6 +++++- code/game/gamemodes/wizard/spellbook.dm | 9 ++++++++- code/modules/mob/living/carbon/superheros.dm | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm index a8b1d454572..3c658775af1 100644 --- a/code/datums/spells/lightning.dm +++ b/code/datums/spells/lightning.dm @@ -3,7 +3,7 @@ desc = "Throws a lightning bolt at the nearby enemy. Classic." charge_type = "recharge" charge_max = 300 - clothes_req = 0 + clothes_req = 1 invocation = "UN'LTD P'WAH!" invocation_type = "shout" range = 7 @@ -15,6 +15,10 @@ var/image/halo = null icon_power_button = "spell_tech" +/obj/effect/proc_holder/spell/wizard/targeted/lightning/lightnian + clothes_req = 0 + + /obj/effect/proc_holder/spell/wizard/targeted/lightning/Click() if(!ready) if(cast_check()) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index d7620449593..6b372031732 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -99,6 +99,9 @@ dat += "Flesh to Stone (60)
" dat += "This spell will curse a person to immediately turn into an unmoving statue. The effect will eventually wear off if the statue is not destroyed.
" + dat += "Lightning Bolt (30)
" + dat += "Charge up and throw lightning bolt at the nearby enemy. Classic. The longer you charge the more powerful the spell, beware of overcharge however!
" + dat += "Instant Summons (10)
" dat += "This spell can be used to bind a valuable item to you, bringing it to your hand at will. Using this spell while holding the bound item will allow you to unbind it. It does not require wizard garb.
" @@ -202,7 +205,7 @@ uses-- /* */ - var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disintegrate = "Disintegrate", disabletech = "Disable Tech", repulse = "Repulse", smoke = "Smoke", blind = "Blind", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", fleshtostone = "Flesh to Stone", summonitem = "Instant Summons", summonguns = "Summon Guns", summonmagic = "Summon Magic", staffchange = "Staff of Change", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation", staffchaos = "Staff of Chaos", staffdoor = "Staff of Door Creation", wands = "Wand Assortment") + var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disintegrate = "Disintegrate", disabletech = "Disable Tech", repulse = "Repulse", smoke = "Smoke", blind = "Blind", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", fleshtostone = "Flesh to Stone", lightningbolt = "Lightning Bolt", summonitem = "Instant Summons", summonguns = "Summon Guns", summonmagic = "Summon Magic", staffchange = "Staff of Change", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation", staffchaos = "Staff of Chaos", staffdoor = "Staff of Door Creation", wands = "Wand Assortment") var/already_knows = 0 for(var/obj/effect/proc_holder/spell/wizard/aspell in H.spell_list) if(available_spells[href_list["spell_choice"]] == initial(aspell.name)) @@ -305,6 +308,10 @@ feedback_add_details("wizard_spell_learned","FS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/flesh_to_stone(H) temp = "You have learned flesh to stone." + if("lightningbolt") + feedback_add_details("wizard_spell_learned","LB") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells + H.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/lightning(null) + temp = "You have learned lightning bolt." if("summonitem") feedback_add_details("wizard_spell_learned","IS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/summonitem(null) diff --git a/code/modules/mob/living/carbon/superheros.dm b/code/modules/mob/living/carbon/superheros.dm index f218fd96074..7d561b83c7c 100644 --- a/code/modules/mob/living/carbon/superheros.dm +++ b/code/modules/mob/living/carbon/superheros.dm @@ -76,7 +76,7 @@ /datum/superheros/lightnian name = "LightnIan" default_genes = list(REGEN, NO_BREATH) - default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/lightning) + default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/lightning/lightnian) /datum/superheros/lightnian/equip(var/mob/living/carbon/human/H) ..() From 054cb6e843e36678e04fc4134e844226eef4c72e Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 5 May 2015 20:57:24 -0400 Subject: [PATCH 06/13] Microfix --- code/game/gamemodes/wizard/spellbook.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 6b372031732..486a65763fc 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -310,7 +310,7 @@ temp = "You have learned flesh to stone." if("lightningbolt") feedback_add_details("wizard_spell_learned","LB") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - H.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/lightning(null) + H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/lightning(null) temp = "You have learned lightning bolt." if("summonitem") feedback_add_details("wizard_spell_learned","IS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells From 2beaae7734e0f4d61631d2435407c41b797c07a7 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 May 2015 02:33:58 -0400 Subject: [PATCH 07/13] Added admin commands to make people superheros --- code/datums/datumvars.dm | 14 ++++++++++++++ code/modules/admin/admin.dm | 1 + code/modules/admin/topic.dm | 10 ++++++++++ code/modules/admin/verbs/debug.dm | 19 +++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 1320ca0a855..32aa784dbc0 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -269,6 +269,7 @@ client body += "" body += "" body += "" + body += "" body += "" body += "" if(isobj(D)) @@ -764,6 +765,19 @@ client return holder.Topic(href, list("makeslime"=href_list["makeslime"])) + else if(href_list["makesuper"]) + if(!check_rights(R_SPAWN)) return + + var/mob/living/carbon/human/H = locate(href_list["makesuper"]) + if(!istype(H)) + usr << "This can only be done to instances of type /mob/living/carbon/human" + return + + if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return + if(!H) + usr << "Mob doesn't exist anymore" + return + else if(href_list["makeai"]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 1ea81011406..42849785723 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -116,6 +116,7 @@ var/global/nologevent = 0 Make Robot | Make Alien | Make slime + Make Superhero "} //Simple Animals diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index ebc48a70d0c..c0331ef1997 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1397,6 +1397,16 @@ usr.client.cmd_admin_slimeize(H) + else if(href_list["makeslime"]) + if(!check_rights(R_SPAWN)) return + + var/mob/living/carbon/human/H = locate(href_list["makesuper"]) + if(!istype(H)) + usr << "This can only be used on instances of type /mob/living/carbon/human" + return + + usr.client.cmd_admin_super(H) + else if(href_list["makerobot"]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index c88f518766d..10102dd836c 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -281,6 +281,25 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that else alert("Invalid mob") +/client/proc/cmd_admin_super(var/mob/M in mob_list) + set category = "Event" + set name = "Make Superhero" + + if(!ticker) + alert("Wait until the game starts") + return + if(ishuman(M)) + var/type = input("Pick the Superhero","Superhero") as null|anything in all_superheros + var/datum/superheros/S = all_superheros[type] + if(S) + S.assign_genes(M) + S.assign_spells(M) + S.equip(M) + log_admin("[key_name(src)] has turned [M.key] into a Superhero.") + message_admins("\blue [key_name_admin(usr)] made [key_name(M)] into a Superhero.", 1) + else + alert("Invalid mob") + /* /client/proc/cmd_admin_monkeyize(var/mob/M in world) set category = "Event" From a02bb8a1aec5a2cf097c776196911ab4e5c4d00d Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 May 2015 03:07:46 -0400 Subject: [PATCH 08/13] Fix up show antagonist to list heroes and villains --- code/__HELPERS/global_lists.dm | 8 +++--- code/game/machinery/wishgranter.dm | 4 +-- code/modules/admin/player_panel.dm | 6 ++++ code/modules/admin/verbs/debug.dm | 4 +-- .../carbon/{superheros.dm => superheroes.dm} | 28 ++++++++++++------- paradise.dme | 2 +- 6 files changed, 33 insertions(+), 19 deletions(-) rename code/modules/mob/living/carbon/{superheros.dm => superheroes.dm} (80%) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 03dd3e3f739..8fa1726ba52 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -36,7 +36,7 @@ var/global/list/all_species[0] var/global/list/all_languages[0] var/global/list/language_keys[0] // Table of say codes for all languages var/global/list/all_nations[0] -var/global/list/all_superheros[0] +var/global/list/all_superheroes[0] var/global/list/whitelisted_species = list() //global var of unsafe-to-spawn-on-reaction mobs @@ -142,10 +142,10 @@ var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Al var/datum/nations/N = new T all_nations[N.name] = N - paths = typesof(/datum/superheros)-/datum/superheros + paths = typesof(/datum/superheroes)-/datum/superheroes for(var/T in paths) - var/datum/superheros/S = new T - all_superheros[S.name] = S + var/datum/superheroes/S = new T + all_superheroes[S.name] = S //Languages and species. paths = typesof(/datum/language)-/datum/language diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index caf7f8a1343..11f972742ec 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -11,7 +11,7 @@ var/list/types = list() /obj/machinery/wish_granter/New() - for(var/supname in all_superheros) + for(var/supname in all_superheroes) types |= supname ..() @@ -37,7 +37,7 @@ if(!wish) return var/mob/living/carbon/human/M = user - var/datum/superheros/S = all_superheros[wish] + var/datum/superheroes/S = all_superheroes[wish] if(S) S.assign_genes(M) S.assign_spells(M) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index a3d862afce6..1b75507ac3b 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -513,6 +513,12 @@ if(ticker.mode.xenos.len) dat += check_role_table("Xenos", ticker.mode.xenos, src) + if(ticker.mode.superheroes.len) + dat += check_role_table("Superheroes", ticker.mode.superheroes, src) + + if(ticker.mode.supervillains.len) + dat += check_role_table("Supervillains", ticker.mode.supervillains, src) + var/datum/game_mode/mutiny/mutiny = get_mutiny_mode() if(mutiny) dat += mutiny.check_antagonists_ui(src) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 10102dd836c..b4c1ce9f4ee 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -289,8 +289,8 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that alert("Wait until the game starts") return if(ishuman(M)) - var/type = input("Pick the Superhero","Superhero") as null|anything in all_superheros - var/datum/superheros/S = all_superheros[type] + var/type = input("Pick the Superhero","Superhero") as null|anything in all_superheroes + var/datum/superheroes/S = all_superheroes[type] if(S) S.assign_genes(M) S.assign_spells(M) diff --git a/code/modules/mob/living/carbon/superheros.dm b/code/modules/mob/living/carbon/superheroes.dm similarity index 80% rename from code/modules/mob/living/carbon/superheros.dm rename to code/modules/mob/living/carbon/superheroes.dm index 7d561b83c7c..7e74525833c 100644 --- a/code/modules/mob/living/carbon/superheros.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -1,23 +1,27 @@ -/datum/superheros +/datum/game_mode + var/list/datum/mind/superheroes = list() + var/list/datum/mind/supervillains = list() + +/datum/superheroes var/name var/list/default_genes = list() var/list/default_spells = list() -/datum/superheros/proc/equip(var/mob/living/carbon/human/H) +/datum/superheroes/proc/equip(var/mob/living/carbon/human/H) H.fully_replace_character_name(H.real_name, name) for(var/obj/item/W in H) if(istype(W,/obj/item/organ)) continue H.unEquip(W) -/datum/superheros/proc/assign_genes(var/mob/living/carbon/human/H) +/datum/superheroes/proc/assign_genes(var/mob/living/carbon/human/H) if(default_genes.len) for(var/gene in default_genes) H.mutations |= gene H.update_mutations() return -/datum/superheros/proc/assign_spells(var/mob/living/carbon/human/H) +/datum/superheroes/proc/assign_spells(var/mob/living/carbon/human/H) if(default_spells.len) for(var/spell in default_spells) var/obj/effect/proc_holder/spell/wizard/S = spell @@ -27,11 +31,11 @@ return -/datum/superheros/owlman +/datum/superheroes/owlman name = "Owlman" default_genes = list(REGEN, NO_BREATH) -/datum/superheros/owlman/equip(var/mob/living/carbon/human/H) +/datum/superheroes/owlman/equip(var/mob/living/carbon/human/H) ..() H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) @@ -50,12 +54,13 @@ H.regenerate_icons() + ticker.mode.superheroes += H -/datum/superheros/griffin +/datum/superheroes/griffin name = "The Griffin" default_genes = list(LASER, RESIST_COLD, RESIST_HEAT, REGEN, NO_BREATH) -/datum/superheros/griffin/equip(var/mob/living/carbon/human/H) +/datum/superheroes/griffin/equip(var/mob/living/carbon/human/H) ..() H.equip_to_slot_or_del(new /obj/item/clothing/shoes/griffin(H), slot_shoes) @@ -72,13 +77,14 @@ H.regenerate_icons() + ticker.mode.supervillains += H -/datum/superheros/lightnian +/datum/superheroes/lightnian name = "LightnIan" default_genes = list(REGEN, NO_BREATH) default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/lightning/lightnian) -/datum/superheros/lightnian/equip(var/mob/living/carbon/human/H) +/datum/superheroes/lightnian/equip(var/mob/living/carbon/human/H) ..() H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) @@ -95,3 +101,5 @@ H.equip_to_slot_or_del(W, slot_wear_id) H.regenerate_icons() + + ticker.mode.superheroes += H \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 282559a4f76..87370cb5516 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1184,7 +1184,7 @@ #include "code\modules\mob\living\carbon\life.dm" #include "code\modules\mob\living\carbon\shock.dm" #include "code\modules\mob\living\carbon\species.dm" -#include "code\modules\mob\living\carbon\superheros.dm" +#include "code\modules\mob\living\carbon\superheroes.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" #include "code\modules\mob\living\carbon\alien\alien_defenses.dm" #include "code\modules\mob\living\carbon\alien\death.dm" From 68c17a1e06b6c76a66163c32ef226a127a70241a Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 May 2015 17:41:11 -0400 Subject: [PATCH 09/13] Added Griffin recruit ability --- code/modules/admin/player_panel.dm | 3 + code/modules/mob/living/carbon/superheroes.dm | 85 ++++++++++++++++++- 2 files changed, 85 insertions(+), 3 deletions(-) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 1b75507ac3b..f7f64f0f2b1 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -519,6 +519,9 @@ if(ticker.mode.supervillains.len) dat += check_role_table("Supervillains", ticker.mode.supervillains, src) + if(ticker.mode.greyshirts.len) + dat += check_role_table("Greyshirts", ticker.mode.greyshirts, src) + var/datum/game_mode/mutiny/mutiny = get_mutiny_mode() if(mutiny) dat += mutiny.check_antagonists_ui(src) diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index 7e74525833c..effc2258eca 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -1,6 +1,7 @@ /datum/game_mode var/list/datum/mind/superheroes = list() var/list/datum/mind/supervillains = list() + var/list/datum/mind/greyshirts = list() /datum/superheroes var/name @@ -54,11 +55,13 @@ H.regenerate_icons() - ticker.mode.superheroes += H + ticker.mode.superheroes += H.mind + /datum/superheroes/griffin name = "The Griffin" default_genes = list(LASER, RESIST_COLD, RESIST_HEAT, REGEN, NO_BREATH) + default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/recruit) /datum/superheroes/griffin/equip(var/mob/living/carbon/human/H) ..() @@ -77,7 +80,8 @@ H.regenerate_icons() - ticker.mode.supervillains += H + ticker.mode.supervillains += H.mind + /datum/superheroes/lightnian name = "LightnIan" @@ -102,4 +106,79 @@ H.regenerate_icons() - ticker.mode.superheroes += H \ No newline at end of file + ticker.mode.superheroes += H.mind + + +//The Griffin's special recruit abilitiy +/obj/effect/proc_holder/spell/wizard/targeted/recruit + name = "Recruit Greyshirt" + desc = "Allows you to recruit a conscious, non-braindead, non-catatonic human to be part of the Greyshirts, your personal henchmen. This works on Civilians only and you can recruit a maximum of 3!." + panel = "Shadowling Abilities" + charge_max = 450 + clothes_req = 0 + range = 1 //Adjacent to user + var/recruiting = 0 + +/obj/effect/proc_holder/spell/wizard/targeted/recruit/cast(list/targets) + for(var/mob/living/carbon/human/target in targets) + if(ticker.mode.greyshirts.len >= 3) + usr << "You have already recruited the maximum number of henchmen." + if(!in_range(usr, target)) + usr << "You need to be closer to enthrall [target]." + charge_counter = charge_max + return + if(!target.ckey) + usr << "The target has no mind." + charge_counter = charge_max + return + if(target.stat) + usr << "The target must be conscious." + charge_counter = charge_max + return + if(!ishuman(target)) + usr << "You can only recruit humans." + charge_counter = charge_max + return + if(target.mind.assigned_role != "Civilian") + usr << "You can only recruit Civilians." + if(recruiting) + usr << "You are already recruiting!" + charge_counter = charge_max + return + recruiting = 1 + usr << "This target is valid. You begin the recruiting process." + target << "[usr] focuses in concentration. Your head begins to ache." + + for(var/progress = 0, progress <= 3, progress++) + switch(progress) + if(1) + usr << "You begin by introducing yourself and explaining what you're about." + usr.visible_message("[usr]'s introduces himself and explains his plans.") + if(2) + usr << "You begin the recruitment of [target]." + usr.visible_message("[usr] leans over towards [target], whispering excitedly as he gives a speech.") + target << "You feel yourself agreeing with [usr], and a surge of loyalty begins building." + target.Weaken(12) + sleep(20) + if(isloyal(target)) + usr << "They are enslaved by Nanotrasen. You feel their interest in your cause wane and disappear." + usr.visible_message("[usr] stops talking for a moment, then moves back away from [target].") + target << "Your loyalty implant activates and a sharp pain reminds you of your loyalties to Nanotrasen." + return + if(3) + usr << "You begin filling out the application form with [target]." + usr.visible_message("[usr] pulls out a pen and paper and begins filling an application form with [target].") + target << "You are being convinced by [usr] to fill out an application form to become a henchman." //Ow the edge + if(!do_mob(usr, target, 100)) //around 30 seconds total for enthralling, 45 for someone with a loyalty implant + usr << "The enrollment process has been interrupted - you have lost the attention of [target]." + target << "You move away and are no longer under the charm of [usr]. The application form is null and void." + recruiting = 0 + return + + recruiting = 0 + usr << "You have recruited [target] as your henchman!" + target << "You have decided to enroll as a henchman for [usr]. You are now part of the feared 'Greyshirts'." + target << "You must follow the orders of [usr], and help him succeed in his dastardly schemes." + target << "You may not harm other Greyshirt or [usr]. However, you do not need to obey other Greyshirts." + target.adjustOxyLoss(-200) //In case the shadowling was choking them out + ticker.mode.greyshirts += target.mind From d9fb43b674a9b8f37312165aa2085bfa5dc36a47 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 May 2015 17:42:48 -0400 Subject: [PATCH 10/13] Remove griffin's op powers and revert lasereyes change --- code/_onclick/click.dm | 2 +- code/modules/mob/living/carbon/superheroes.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 7b23ec040cf..c00a79e1e6b 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -295,7 +295,7 @@ var/turf/T = get_turf(src) var/turf/U = get_turf(A) - var/obj/item/projectile/beam/disabler/LE = new /obj/item/projectile/beam/disabler(loc) + var/obj/item/projectile/beam/LE = new /obj/item/projectile/beam(loc) LE.icon = 'icons/effects/genetics.dmi' LE.icon_state = "eyelasers" playsound(usr.loc, 'sound/weapons/taser2.ogg', 75, 1) diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index effc2258eca..f0d8f2562b6 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -60,7 +60,7 @@ /datum/superheroes/griffin name = "The Griffin" - default_genes = list(LASER, RESIST_COLD, RESIST_HEAT, REGEN, NO_BREATH) + default_genes = list(REGEN, NO_BREATH) default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/recruit) /datum/superheroes/griffin/equip(var/mob/living/carbon/human/H) From 9c011f5b25babed0431fe7d479219c2f87d0c322 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 May 2015 18:05:16 -0400 Subject: [PATCH 11/13] Re-added hitblips for superheros POW WHAMMY --- .../mob/living/carbon/human/human_damage.dm | 14 ++++++++++++++ icons/effects/hit_blips.dmi | Bin 0 -> 520 bytes 2 files changed, 14 insertions(+) create mode 100644 icons/effects/hit_blips.dmi diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 9bdd895a14a..cf74bb7e96a 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -310,6 +310,20 @@ This function restores all organs. damage = damage*species.brute_mod if(organ.take_damage(damage, 0, sharp, edge, used_weapon)) UpdateDamageIcon() + if(LAssailant && ishuman(LAssailant)) + var/mob/living/carbon/human/H = LAssailant + if(H.mind && H.mind in (ticker.mode.superheroes || ticker.mode.supervillains || ticker.mode.greyshirts)) + var/list/attack_bubble_recipients = list() + var/mob/living/user + for(var/mob/O in viewers(user, src)) + if (O.client && !( O.blinded )) + attack_bubble_recipients.Add(O.client) + spawn(0) + var/image/dmgIcon = image('icons/effects/hit_blips.dmi', src, "dmg[rand(1,2)]",MOB_LAYER+1) + dmgIcon.pixel_x = (!lying) ? rand(-3,3) : rand(-11,12) + dmgIcon.pixel_y = (!lying) ? rand(-11,9) : rand(-10,1) + //world << "x: [dmgIcon.pixel_x] AND y: [dmgIcon.pixel_y]" + flick_overlay(dmgIcon, attack_bubble_recipients, 9) receive_damage() if(BURN) damageoverlaytemp = 20 diff --git a/icons/effects/hit_blips.dmi b/icons/effects/hit_blips.dmi new file mode 100644 index 0000000000000000000000000000000000000000..53ec7b3fd074180e4cc9b6e19e032d410542da09 GIT binary patch literal 520 zcmV+j0{8uiP)ItnE)Eh01cQfF24W`ng<7q4GqA+!0hEsdjJ3c0d!JMQvg8b*k%9#0DyW_ zSad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1_dEGYCD#~5X(bCQ#a_6g zOgdmZoh{lO7UjIZfd&$G68_Tl-2gJ#8XfB+$ZR=sL#X784SS*8Xfr4lT{S-4;brz6hV}O_&Qd`G~)TlRNwecjp&+Oyi%W{1j)g1s}M~UNiXs0000< KMNUMnLSTZyB+~!@ literal 0 HcmV?d00001 From cd17fa4fb4d470d23d24c4c26915db5847cfd7ce Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 May 2015 19:14:22 -0400 Subject: [PATCH 12/13] Refactor and clean up code --- code/game/machinery/wishgranter.dm | 4 +- code/modules/admin/verbs/debug.dm | 4 +- code/modules/mob/living/carbon/superheroes.dm | 61 +++++++++---------- 3 files changed, 31 insertions(+), 38 deletions(-) diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index 11f972742ec..e5dbe73f4d0 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -39,9 +39,7 @@ var/mob/living/carbon/human/M = user var/datum/superheroes/S = all_superheroes[wish] if(S) - S.assign_genes(M) - S.assign_spells(M) - S.equip(M) + S.create(M) //Remove the wishgranter or teleport it randomly on the station if(!types.len) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index b4c1ce9f4ee..76240d2f627 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -292,9 +292,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/type = input("Pick the Superhero","Superhero") as null|anything in all_superheroes var/datum/superheroes/S = all_superheroes[type] if(S) - S.assign_genes(M) - S.assign_spells(M) - S.equip(M) + S.create(M) log_admin("[key_name(src)] has turned [M.key] into a Superhero.") message_admins("\blue [key_name_admin(usr)] made [key_name(M)] into a Superhero.", 1) else diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index f0d8f2562b6..95348d66af4 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -5,9 +5,15 @@ /datum/superheroes var/name + var/class var/list/default_genes = list() var/list/default_spells = list() +/datum/superheroes/proc/create(var/mob/living/carbon/human/H) + assign_genes(H) + assign_spells(H) + equip(H) + assign_id(H) /datum/superheroes/proc/equip(var/mob/living/carbon/human/H) H.fully_replace_character_name(H.real_name, name) @@ -20,7 +26,6 @@ for(var/gene in default_genes) H.mutations |= gene H.update_mutations() - return /datum/superheroes/proc/assign_spells(var/mob/living/carbon/human/H) if(default_spells.len) @@ -29,12 +34,27 @@ if(!S) return H.spell_list += new S H.update_power_buttons() - return +/datum/superheroes/proc/assign_id(var/mob/living/carbon/human/H) + var/obj/item/weapon/card/id/syndicate/W = new(H) + W.registered_name = H.real_name + W.access = get_all_accesses() + if(class == "Superhero") + W.name = "[H.real_name]'s ID Card (Superhero)" + W.assignment = "Superhero" + ticker.mode.superheroes += H.mind + else if(class == "Supervillain") + W.name = "[H.real_name]'s ID Card (Supervillain)" + W.assignment = "Supervillain" + ticker.mode.supervillains += H.mind + + H.equip_to_slot_or_del(W, slot_wear_id) + H.regenerate_icons() /datum/superheroes/owlman name = "Owlman" default_genes = list(REGEN, NO_BREATH) + class = "Superhero" /datum/superheroes/owlman/equip(var/mob/living/carbon/human/H) ..() @@ -46,22 +66,12 @@ H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/bluespace/owlman(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(H), slot_glasses) - var/obj/item/weapon/card/id/syndicate/W = new(H) - W.name = "[H.real_name]'s ID Card (Superhero)" - W.access = get_all_accesses() - W.assignment = "Superhero" - W.registered_name = H.real_name - H.equip_to_slot_or_del(W, slot_wear_id) - - H.regenerate_icons() - - ticker.mode.superheroes += H.mind - /datum/superheroes/griffin name = "The Griffin" default_genes = list(REGEN, NO_BREATH) default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/recruit) + class = "Supervillain" /datum/superheroes/griffin/equip(var/mob/living/carbon/human/H) ..() @@ -71,22 +81,12 @@ H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/owlwings/griffinwings(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/griffin(H), slot_head) - var/obj/item/weapon/card/id/syndicate/W = new(H) - W.name = "[H.real_name]'s ID Card (Supervillain)" - W.access = get_all_accesses() - W.assignment = "Supervillain" - W.registered_name = H.real_name - H.equip_to_slot_or_del(W, slot_wear_id) - - H.regenerate_icons() - - ticker.mode.supervillains += H.mind - /datum/superheroes/lightnian name = "LightnIan" default_genes = list(REGEN, NO_BREATH) default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/lightning/lightnian) + class = "Superhero" /datum/superheroes/lightnian/equip(var/mob/living/carbon/human/H) ..() @@ -97,16 +97,13 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/corgi(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow(H), slot_gloves) - var/obj/item/weapon/card/id/syndicate/W = new(H) - W.name = "[H.real_name]'s ID Card (Superhero)" - W.access = get_all_accesses() - W.assignment = "Superhero" - W.registered_name = H.real_name - H.equip_to_slot_or_del(W, slot_wear_id) - H.regenerate_icons() - ticker.mode.superheroes += H.mind + + + + +///////////////////////////////POWERS/ABILITIES CODE///////////////////////////////////////// //The Griffin's special recruit abilitiy From 31fc0d39a5f7bd113db7bba8fe9d0af9565e31a4 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 May 2015 23:26:33 -0400 Subject: [PATCH 13/13] Final touches on superheroes --- .../objects/items/weapons/storage/toolbox.dm | 3 +++ code/modules/clothing/shoes/colour.dm | 3 +++ code/modules/clothing/under/color.dm | 3 +++ code/modules/mob/living/carbon/superheroes.dm | 17 ++++++++++++----- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index d905730dbf8..a50dd50f6fb 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -49,6 +49,9 @@ new /obj/item/device/analyzer(src) new /obj/item/weapon/wirecutters(src) +/obj/item/weapon/storage/toolbox/mechanical/greytide + flags = NODROP + /obj/item/weapon/storage/toolbox/electrical name = "electrical toolbox" icon_state = "yellow" diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index ef92c5837df..119971e5be0 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -13,6 +13,9 @@ redcoat _color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way. +/obj/item/clothing/shoes/black/greytide + flags = NODROP + /obj/item/clothing/shoes/brown name = "brown shoes" desc = "A pair of brown shoes." diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index b5f276c2539..54fbe20c87b 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -50,6 +50,9 @@ flags = ONESIZEFITSALL species_fit = list("Vox") +/obj/item/clothing/under/color/grey/greytide + flags = ONESIZEFITSALL | NODROP + /obj/item/clothing/under/color/orange name = "orange jumpsuit" desc = "Don't wear this near paranoid security officers" diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index 95348d66af4..e25dc9911e9 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -6,7 +6,7 @@ /datum/superheroes var/name var/class - var/list/default_genes = list() + var/list/default_genes = list(REGEN, NO_BREATH, RESIST_COLD) var/list/default_spells = list() /datum/superheroes/proc/create(var/mob/living/carbon/human/H) @@ -53,7 +53,6 @@ /datum/superheroes/owlman name = "Owlman" - default_genes = list(REGEN, NO_BREATH) class = "Superhero" /datum/superheroes/owlman/equip(var/mob/living/carbon/human/H) @@ -69,7 +68,6 @@ /datum/superheroes/griffin name = "The Griffin" - default_genes = list(REGEN, NO_BREATH) default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/recruit) class = "Supervillain" @@ -84,7 +82,6 @@ /datum/superheroes/lightnian name = "LightnIan" - default_genes = list(REGEN, NO_BREATH) default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/lightning/lightnian) class = "Superhero" @@ -96,6 +93,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/suit/corgisuit(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/corgi(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow(H), slot_gloves) + H.equip_to_slot_or_del(new /obj/item/weapon/bedsheet/orange(H), slot_back) @@ -177,5 +175,14 @@ target << "You have decided to enroll as a henchman for [usr]. You are now part of the feared 'Greyshirts'." target << "You must follow the orders of [usr], and help him succeed in his dastardly schemes." target << "You may not harm other Greyshirt or [usr]. However, you do not need to obey other Greyshirts." - target.adjustOxyLoss(-200) //In case the shadowling was choking them out ticker.mode.greyshirts += target.mind + target.set_species("Human") + target.h_style = "Bald" + target.fully_replace_character_name(target.real_name, "Generic Henchman ([rand(1, 1000)])") + for(var/obj/item/W in target) + if(istype(W,/obj/item/organ)) continue + target.unEquip(W) + target.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey/greytide(target), slot_w_uniform) + target.equip_to_slot_or_del(new /obj/item/clothing/shoes/black/greytide(target), slot_shoes) + target.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical/greytide(target), slot_l_hand) + target.regenerate_icons() \ No newline at end of file