From 67e094d6050ba4d17bb91b4fe0d97875decd5533 Mon Sep 17 00:00:00 2001 From: SatinIsle Date: Fri, 6 Oct 2023 22:18:45 +0100 Subject: [PATCH] New Mob: Scel Added a new mob, Scel, created by Kira72. Comes in 5 different colours. This mob is relatively rare in random mob spawners. It's a retaliate mob with a detailed belly. It looks like a snake-like creature with black flesh and neon liquid visible beneath patches of it. When attacking, it has a 50/50 chance of using a special attack of either a tongue grab or lunge. Added to the maint pred options too. Fixed a missing item in Rain City. Added a new admin spawn map which is literally just the Rascal's Pass shuttle in space. Removed the great wolf catalogue entry from the crypt drake. --- .../objects/effects/semirandom_mobs_vr.dm | 1 + .../objects/structures/ghost_pods/event_vr.dm | 7 +- .../simple_mob/subtypes/vore/cryptdrake.dm | 1 - .../living/simple_mob/subtypes/vore/scel.dm | 258 + icons/mob/vore_scel.dmi | Bin 0 -> 22869 bytes maps/redgate/cybercity.dmm | 2 +- maps/submaps/admin_use_vr/RPshuttle.dmm | 20006 ++++++++++++++++ vorestation.dme | 1 + 8 files changed, 20273 insertions(+), 3 deletions(-) create mode 100644 code/modules/mob/living/simple_mob/subtypes/vore/scel.dm create mode 100644 icons/mob/vore_scel.dmi create mode 100644 maps/submaps/admin_use_vr/RPshuttle.dmm diff --git a/code/game/objects/effects/semirandom_mobs_vr.dm b/code/game/objects/effects/semirandom_mobs_vr.dm index 69b3bc9cf6..aaf1452837 100644 --- a/code/game/objects/effects/semirandom_mobs_vr.dm +++ b/code/game/objects/effects/semirandom_mobs_vr.dm @@ -763,6 +763,7 @@ var/global/list/semirandom_mob_spawner_decisions = list() list(/mob/living/simple_mob/vore/vampire) = 50, list(/mob/living/simple_mob/vore/vampire/queen) = 1, list(/mob/living/simple_mob/vore/bat) = 50, + list(/mob/living/simple_mob/vore/scel) = 10, list( /mob/living/simple_mob/vore/lamia, /mob/living/simple_mob/vore/lamia/albino, diff --git a/code/game/objects/structures/ghost_pods/event_vr.dm b/code/game/objects/structures/ghost_pods/event_vr.dm index 4183e5aef9..e2d02959ab 100644 --- a/code/game/objects/structures/ghost_pods/event_vr.dm +++ b/code/game/objects/structures/ghost_pods/event_vr.dm @@ -55,7 +55,12 @@ "Fire pakkun" = /mob/living/simple_mob/vore/pakkun/fire, "Amethyst pakkun" = /mob/living/simple_mob/vore/pakkun/purple, "Raptor" = /mob/living/simple_mob/vore/raptor, - "Giant Bat" = /mob/living/simple_mob/vore/bat + "Giant Bat" = /mob/living/simple_mob/vore/bat, + "Scel (Orange)" = /mob/living/simple_mob/vore/scel/orange, + "Scel (Blue)" = /mob/living/simple_mob/vore/scel/blue, + "Scel (Purple)" = /mob/living/simple_mob/vore/scel/purple, + "Scel (Red)" = /mob/living/simple_mob/vore/scel/red, + "Scel (Green)" = /mob/living/simple_mob/vore/scel/green ) /obj/structure/ghost_pod/ghost_activated/maintpred/create_occupant(var/mob/M) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm index 2fb8d4cbb8..cb3ca07957 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm @@ -1,7 +1,6 @@ /mob/living/simple_mob/vore/cryptdrake name = "crypt drake" desc = "A massive drake-like creature with dark purple scales and a seemingly exposed skull." - catalogue_data = list(/datum/category_item/catalogue/fauna/greatwolf) tt_desc = "Draconis necrotis" icon = 'icons/mob/vore128x64.dmi' icon_dead = "cryptdrake-dead" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm new file mode 100644 index 0000000000..cde9adb29a --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm @@ -0,0 +1,258 @@ +//This mob's design and details belong to Kira72 on discord and BYOND. Please consult them before making changes to the discriptions and abilities of the mob, +//and please respect their wishes to keep the mob in line with their vision for it. This is not any sort of formal copyright notice, but a polite request. + +/mob/living/simple_mob/vore/scel + name = "scel" + desc = "A large serpentine creature with malleable and shadowy-black flesh covering most of it's body. The soft substance seems solid, but hardly seems to stay in a singular shape. There are numerous spots of neon-bright colour that's visible through translucent patches across their body." + catalogue_data = list(/datum/category_item/catalogue/fauna/scel) + tt_desc = "Voidwyrm" + icon = 'icons/mob/vore_scel.dmi' + icon_dead = "scel_orange-dead" + icon_living = "scel_orange" + icon_state = "scel_orange" + icon_rest = "scel_orange-rest" + faction = "scel" + old_x = -48 + old_y = 0 + vis_height = 92 + friendly = list("nudges", "sniffs on", "rumbles softly at", "nuzzles") + default_pixel_x = -48 + pixel_x = -48 + pixel_y = 0 + response_help = "bumps" + response_disarm = "shoves" + response_harm = "attacks" + movement_cooldown = 0 + harm_intent_damage = 15 + melee_damage_lower = 5 + melee_damage_upper = 15 + maxHealth = 400 + attacktext = list("slammed") + see_in_dark = 8 + minbodytemp = 0 + ai_holder_type = /datum/ai_holder/simple_mob/retaliate + max_buckled_mobs = 1 + mount_offset_y = 32 + mount_offset_x = -16 + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + + special_attack_min_range = 2 + special_attack_max_range = 4 + special_attack_cooldown = 30 SECONDS + + appendage_color = "#000000" + + var/leap_warmup = 2 SECOND // How long the leap telegraphing is. + var/leap_sound = 'sound/weapons/spiderlunge.ogg' + + var/random_skin = 1 + var/list/skins = list( + "scel_orange", + "scel_blue", + "scel_purple", + "scel_red", + "scel_green" + ) + +/mob/living/simple_mob/vore/scel/New() + ..() + if(random_skin) + icon_living = pick(skins) + icon_rest = "[icon_living]-rest" + icon_dead = "[icon_living]-dead" + update_icon() + +/mob/living/simple_mob/vore/scel + + vore_bump_chance = 25 + vore_digest_chance = 50 + vore_escape_chance = 5 + vore_pounce_chance = 100 + vore_active = 1 + vore_icons = 2 + vore_icons = SA_ICON_LIVING | SA_ICON_REST + vore_capacity = 2 + swallowTime = 50 + vore_ignores_undigestable = TRUE + vore_default_mode = DM_SELECT + vore_pounce_maxhealth = 125 + vore_bump_emote = "tries to devour" + +/mob/living/simple_mob/vore/scel/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + verbs |= /mob/living/proc/toggle_rider_reins + verbs |= /mob/living/proc/glow_toggle + verbs |= /mob/living/proc/glow_color + verbs |= /mob/living/proc/long_vore + movement_cooldown = -1 + +/mob/living/simple_mob/vore/scel/init_vore() + . = ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "The strange beast pounces atop of you, pinning you with it's hefty weight, the greedy stomach sloshing atop you before it looms closer, with that maw stretching almost impossibly wide and easily enveloping your body. The jaws of the scel are solid and fleshy, preventing any movement. Immediately you are embraced into the tight pull of oily black flesh, and you are rapidly dragged down into the humid, more malleable depths of the creature! Splashing down into a thick, ominously bubbling sludge, you fall into place as food among the remnants of previous meals. As you settle, you are completely hidden away inside of it's serpentine body, left to complete darkness and the sounds of squelching bodily functions. Movement is not difficult as the flesh around you is easily pushed back, but it quickly snaps back into place to keep you constrained. Slowly, the neon liquid that you could see from the outside of the creature begins to seep into the chamber. With that hefty stomach bloated with yet another meal, a lazy burp signals its meal complete. Leaving you to simmer in its depths as it continues its prowling..." + B.vore_sound = "Tauric Swallow" + B.release_sound = "Pred Escape" + B.mode_flags = DM_FLAG_THICKBELLY + B.belly_fullscreen = "a_anim_belly" + B.fancy_vore = 1 + B.selective_preference = DM_SELECT + B.vore_verb = "devour" + B.digest_brute = 1 + B.digest_burn = 2 + B.digest_oxy = 0 + B.digestchance = 50 + B.absorbchance = 0 + B.escapechance = 10 + B.escape_stun = 5 + B.contamination_color = "grey" + B.contamination_flavor = "Wet" + B.emote_lists[DM_DIGEST] = list( + "The walls smother and press against you with a marshmallowy softness. Mechanically compressing you in waves to ease in your digestion.", + "As the scel slithers about, you feel the squishy walls around you roll over your form, causing the pool of digestive liquids to splash and churn against you.", + "Curious sounds can be heard muffled through the flesh as the creature pokes and prods at it's groaning gut.", + "As the thinning air begins to make you feel dizzy, menacing bworps and grumbles fill that dark, constantly shifting organ!", + "The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, easing your body to sink more into the bubbling pool around you!", + "The vibrant neon liquid pools over your body, it bubbles over your helpless figure as it steadily melts you down. All to churn you up to add an extra little weight to this strange beast.", + "The alien serpent seems to be kneading and massaging it's noisy stomach, sloshing noisily as you are shoved about inside.", + "The creature seems to stretch and arch their body for a moment, tightening you against those slick walls. For a brief moment, you can almost see the outside world.", + "The walls of this well-padded gut rumbles as the Scel lets out a crass belch. Forcing the walls of this roiling belly tighter against you as it works to digest you!") + B.digest_messages_prey = "The greedy walls compress around you as the Scel gives out an audible belch, taking with it the last of your air. You slowly slip under the bubbling and caustic tide of sludge as it overtakes your body. Your senses fade as the walls lazily ripple around you, reducing your body to a hot churning slop. The Scel's belly softens and rounds as you slowly amount to little more than some extra soft pudge on the lazy wryms body!" + B.struggle_messages_outside = list( + "The Scel stifles a belch before bringing a long tentacle to knead over its distended belly. It's noisily churning and gurgling, with every movement from within eliciting a loud slosh or squelch.", + "The shadowy serpent lets out a crass belch as its roiling, bulging belly slowly and noisily digests a wriggling meal. If you squint, you can just barely see the shilouette of someone!", + "The Scel clenches it's wriggling middle, sending that lumpy bulge further down along it's body! The distinct shape fading into its chubby body.", + "With a long and lazy stretch, the Scel causes the walls of its stomach to compress around their squirming meal, revealing the slowly digesting shape of someone!", + "The Scel's well-rounded belly bubbles and groans, making wet gurgling noises as it sloshes in its attempts to digest an uncooperative meal!") + B.struggle_messages_inside = list( + "Your squirming and struggling just serves to kick the churning liquid around you in rough waves of digestive enzymes!", + "Your movements just prompt the strange creature shoves a tendril into their gut, causing the walls to compress into you and knocking you off balance.", + "You simply slide against the slick black flesh and splash back down into the neon-colored goop, doing little but to coat yourself in those roiling waves.", + "The slurry around you bubbles ominously, before a rush of air blasts past you and a rumbling belch shakes the walls, tightening against you even more.", + "The belly doesn't react to your wriggling at all, with a constant stream of 'blurps', 'blorbles', and 'groans'. The noisy stomach compresses you from all angles as it works to digest you like everything else that enters this gut.", + "You shove at the pudgy walls with all your strength, almost catching a vague glimpse of the outside world, before the Scel clenches their stomach, sending you bounding back inside as the stomach sloshes.") + B.examine_messages = list( + "The belly of the creature sags outwards, pushing out against its flexible flesh. It rumbles contently..", + "The Scel looks quite content right now, with multiple black tendrils rubbing over the sloshing, groaning mass of its gut.", + "A soft belch escapes the jaws of the alien creature as its soft and lumpy belly works to digest its latest meal.") + +/mob/living/simple_mob/vore/scel/do_special_attack(atom/A) + . = TRUE + if(prob(50)) + lunge(A) + else + tongue(A) + +/mob/living/simple_mob/vore/scel/proc/lunge(atom/A) //Mostly copied from hunter.dm + set waitfor = FALSE + if(!isliving(A)) + return FALSE + var/mob/living/L = A + if(!L.devourable || !L.allowmobvore || !L.can_be_drop_prey || !L.throw_vore || L.unacidable) + return FALSE + + set_AI_busy(TRUE) + visible_message(span("warning","\The [src] rears back, ready to lunge!")) + to_chat(L, span("danger","\The [src] focuses on you!")) + // Telegraph, since getting stunned suddenly feels bad. + do_windup_animation(A, leap_warmup) + sleep(leap_warmup) // For the telegraphing. + + if(L.z != z) //Make sure you haven't disappeared to somewhere we can't go + set_AI_busy(FALSE) + return FALSE + + // Do the actual leap. + status_flags |= LEAPING // Lets us pass over everything. + visible_message(span("critical","\The [src] leaps at \the [L]!")) + throw_at(get_step(L, get_turf(src)), special_attack_max_range+1, 1, src) + playsound(src, leap_sound, 75, 1) + + sleep(5) // For the throw to complete. It won't hold up the AI ticker due to waitfor being false. + + if(status_flags & LEAPING) + status_flags &= ~LEAPING // Revert special passage ability. + + set_AI_busy(FALSE) + if(Adjacent(L)) //We leapt at them but we didn't manage to hit them, let's see if we're next to them + L.Weaken(2) //get knocked down, idiot + +/mob/living/simple_mob/vore/scel/proc/tongue(atom/A) + var/obj/item/projectile/P = new /obj/item/projectile/beam/appendage(get_turf(src)) + src.visible_message("\The [src] launches a black appendage at \the [A]!") + playsound(src, "sound/effects/slime_squish.ogg", 50, 1) + P.launch_projectile(A, BP_TORSO, src) + +/datum/category_item/catalogue/fauna/scel + name = "Extra-Realspace Fauna - Scel" + desc = "Classification: Voidwyrm\ +

\ + Scel, colloquially known as Voidwyrms, are creatures originating from outside of realspace, typically found at extradimensional breaches such as redpsace tears or within redgate locations. \ + While they are known to appear in many variants, the serpentine shape with antennae or whiskers is known to be the most common, due to being the closest and most accurate approximation of their natural forms from their home reality. \ + Scel bodies, contrary to popular belief, are not slime. They are solid matter, but are still incredibly malleable, which they use to 'shapeshift' when desired. The shifting is limited to just their figure. A scel attempting to look human would still have black squishy flesh and glowing eyes and spots for example. \ + Various other appendages seem to manifest at will, growing out of their body when needed. Tentacles are by-far the most preferred and commonly seen, but hardened legs and even clawed hands have been seen. While able to shapeshift into even human or animal shapes, it is always in shape only, and certain traits are universal. \ + Six eyes that match the color of their 'Goo', universally black and lacking in bones, and no body heat at all, typically matching the temperature of whatever environment they find themselves in. \ + Organs and bones as we understand them are nonexistant, and their body is made up of two main quantifiable substances. The black 'Flesh' that makes up the majority of their matter. It is solid yet incredibly malleable to the touch, and has been described as feeling 'slick'. \ + The next is the viscous liquid that seems to be the source of their color. This liquid seems to fulfill many properties for the Scel, shifting in transluscent pockets inside of their body. \ + Both their flesh and 'goo' dissipate into a fine black mist within hours of being seperated from its host, or the death of the subject. \ + Scel are sapient, and are therefore hard to predict, many have been immediately hostile, while a rare few have even taught themselves our language. Contact has been sparse though. What has been discovered is that most Scel seem to act independantly, with no formal governance. \ + Their alien mindset seems to have difficulty adapting to our world, further causing contact attempts to degrade into misunderstandings. \ + Scel, once breached into realspace, seem incredibly hesitant to return to their own reality, and are likely to be found in places with little to no natural light, as it seems to confuse their senses." + value = CATALOGUER_REWARD_HARD + +/mob/living/simple_mob/vore/scel/orange + icon_dead = "scel_orange-dead" + icon_living = "scel_orange" + icon_state = "scel_orange" + icon_rest = "scel_orange-rest" + random_skin = 0 + +/mob/living/simple_mob/vore/scel/blue + icon_dead = "scel_blue-dead" + icon_living = "scel_blue" + icon_state = "scel_blue" + icon_rest = "scel_blue-rest" + random_skin = 0 + +/mob/living/simple_mob/vore/scel/purple + icon_dead = "scel_purple-dead" + icon_living = "scel_purple" + icon_state = "scel_purple" + icon_rest = "scel_purple-rest" + random_skin = 0 + +/mob/living/simple_mob/vore/scel/green + icon_dead = "scel_green-dead" + icon_living = "scel_green" + icon_state = "scel_green" + icon_rest = "scel_green-rest" + random_skin = 0 + +/mob/living/simple_mob/vore/scel/red + icon_dead = "scel_red-dead" + icon_living = "scel_red" + icon_state = "scel_red" + icon_rest = "scel_red-rest" + random_skin = 0 + +/mob/living/simple_mob/vore/scel/handle_light() + if(glow_override) + return FALSE + + if(instability >= TECHNOMANCER_INSTABILITY_MIN_GLOW) + var/distance = round(sqrt(instability / 2)) + if(distance) + set_light(distance, distance * 4, l_color = "#660066") + return TRUE + + else if(glow_toggle) + set_light(glow_range, glow_intensity, glow_color) + + else + set_light(0) + return FALSE \ No newline at end of file diff --git a/icons/mob/vore_scel.dmi b/icons/mob/vore_scel.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9e4f21d50e0b0bfc6f6c880c9efaa02ad365bd14 GIT binary patch literal 22869 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

t)O{h) zP2>oZ z>um;IA>7sUi$;TZ0xt3uP{eXk1zjN;k=3uouqXQ)Wg6Ua_oJDq5B2aX-}>FK@W=Kx z4iLt<B&vZXuk#6oTyEoR*f^$^Ct3sK@iz509!4J&4FX!1XU~H%Kt@G zs#G5i;U1y@!6$&PP-Awdm!|ph^pGYsC30ez)yD>yLA(+d7;j^_3Y9UkL0#+i-udo! z)9>;}J&wC<0bC@~+PX|3W&v*<;+LEv1FdI)ASA&AaGS1J!+fuF$9S1h!8r1tL>YVU z6(j(0Wd-v}FJ`}3FQQb5^{zXVSDHY4L{1|DfpTbduT&F`LV3P$UCC4on1Q;t?dg1v6SO& zu`8%r)OsXqy)%%b;VBVqPoRqx83CpBx@A`fnAe>X;kZT8waJRc02;+P)DN`Wq z;nnVTC2$(qtEj8j1HTuWZ>Bo<;!e5tB&H^{`(214@K$e4;x5VnfPK#%tVvNpn!y{pvXLRS(@4W zoF~&9Xk5=OY&qqBCNdfdvgRyRE5^=?|Bxy{M-Uc#kW(S5)=^G^`%V$165PbSVTzON zw~v>gnn*b)Ydch-3=65<&&(y3U=@PPL4x`pSS3_~^Nw6LO;JO7vAIdCH^0o*XZd+u z!ynq9xPs~dpQ-xx*S*!{)F!32P0PFrt+LwEZQZdQb%`O2p~>LOY9bHLV^GUW>^n6+E3y3i9#SCYbEYgSCxTlROaa_JM1D?ydY zljM(GQBgrDKfM^wF@M!YOjM0u+#qf7;hhX-30|=pV=d`PxaDq7OT%7YxUJ^KsiqX+ zXc)nofbu&tYl|5IhV4PG2kl7_eZeY!fn<3ONS603@hh)pEVn7thL3B?6xnLn$gocZ z!Hp-`gCHpWD9<~EP)_r4^p+U%_O9sm$$V~16{EK|1I~O4s8I;DRD(PZ9kEzTX-eC6 z<`SIqGIT@f*e9#9;FDtADs?AEX|yZTACufcLD&CJmrp#Ws8Lv18K&L12bp0QC3Anb zm+jvgyau~>r~nK;Pw9Sd?LZflGqvj0qM1BJ+0s1r`V=K2J!+5q(DkNOJq7s6SF#(h z>2{`bw%_~9`bY$wTaB0L0j)}Y=Gbkl+Xj8Cxn^BOdkD(=875az<-8;nd-x?kkh?F@ z>@aV6-s!r4n>1I)rmTtBrvM~}NX%$jg&~H!Jp+cZDUMK1_RuPO8`wb5CA?hp(vB01 z(dq_;@lc}2A@#!~DA==afZH2J?VzGT;^Zjw0r8`>JNcZy34o6X*8!S0#kge(SG|2R zI8mof58XgqX1sgM2>r9CKPH&>i!^e(Q{w^!!n-$j!0$a%84>$Zt$>Td224UuO|#{c zaoKm^*GAy@Y*c*iO^ERiOp~%=D|#6;sl@8Q;!imOxm)&$lP=^X0A>%To+LWy0`bI$ zfzZd*bQ9{bCr%59S0+J{PomoMKs(%CxT3zcZY1f9+hJgTXH?$HI!Wq%eGs++6E4vH zC@~1{uP82D@t}P(4v5cn1OsWqg2Z4kxv3CkUEoEQhZE#pl9tl!o=E-y;WK!yQFNSn z4lL&g6jwucC#^l<^vR(B^nk=BpVW%9ZZ#+`-Gu}T?vH)L88MdS_*dtSEkoAayN2?$ z55KjL%2mKC^UC-CqX={}#en1=S* zWKykvpk=U3A_#*BvtVhL9KNSQO1xot@2)&0OGO|U>)i`K&IgAg)^!P(T7~YX6(|Sx z82{D#-W-!D3GN)9v*$FOoR9bz9h zW8afGQ*^>%TnMX<1wPIpZ|fT!NK2p^MwzS~`K~75NfkHmN!y{gD-TE?7_AK;t--ea z$gjvpsB{UEo0p^{|Y@Q_P0Dd zvw#-797-p#0_FIjh;x_*t!&Ax_}=_1{Or>^Af=#{9PT;g7l@GdU?=UyjV9%-rhd)2 zW$hX)>XmPps$i#N>4RssI=T63S;Dv5c^=JFyt}R42A@G;r1PJ6_M}Ov)V!Imd~11% za`X^T;{9Yx!^IT5CzQ9^slRgWH{H8LDe^VJUiqwVC=9+o%hXr0;yG!uJJsq6% zp~n{#4neo46C6W-#Wep@5Q9N*)Og*m;@Y4a5sU~&NkSPkBmbyK$$~yC%6vzsm1mrO z$mgE3qVHdKrF66EiptJCdUtr)g-HLUSz#n>MFyGlSwyaIfzS=eu z$l1}F_Ex^+*f1zX-RBU_B`4H7;d!5;LGujvQJmPaF7OG8O|FNM23Kp48P|`LQj>Q!8MqS z*1uT{>q+#b9XJA9rFp3X+Tt{Ti$pW=o(LyRrs;~acDl7Cai>hTQuPW zU>C6kCuOz3P7^iHn_oXJx3kIxv*-5QNgCy@=B&{6E1=UV;8Gqe&FY2%XjeiN{qjZ| zuYySi5?*}*K|gOh-k#XfGWMO~DOlUJvqB5l+Bo=mF&Ksb5+wd$3}3j#3gR52HHNKU zR^BQCL54C+jHVELvE(c*dioect?j9Jepdi1^s_k%{yCl5k|+{la0MXD`-yQaG&iUp z`~Z^Z8|SF1@IQ08Z-Zw#Q<=@xEeP;FCnJLOC@au@w4R|lD$FUt$83Up9*Z0IW~-cU zY0sNl|5nW1($}rWZu)1K67y>(uDHlWU2tIbZN75kqJFlKLfn2}pSU+PLzVkOrds8M z*S$+Lv7*BM>6c$@UrDo!au&HqQC)%!#bG5mR+*%O}~5AB+eUd&*G1Y9gk;FYoNGl)WTiZzUQOhK+4 Q^b-SC7PjV3cezIW2jb