From 1a395dce03db61589b4ac8256473d18f53d8e7b9 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 23 Jan 2015 21:57:00 -0500 Subject: [PATCH] Odds and Ends Changes --- code/game/machinery/cryo.dm | 19 +++-- code/game/machinery/vending.dm | 5 +- .../items/weapons/grenades/flashbang.dm | 65 ++++++++-------- .../objects/items/weapons/storage/backpack.dm | 6 +- .../objects/items/weapons/storage/belt.dm | 73 +++++++++++++++++- .../closets/secure/engineering.dm | 15 +--- .../crates_lockers/closets/secure/medical.dm | 2 + .../crates_lockers/closets/secure/personal.dm | 2 + .../crates_lockers/closets/secure/security.dm | 4 +- .../crates_lockers/closets/syndicate.dm | 2 + .../crates_lockers/closets/wardrobe.dm | 4 + code/game/turfs/simulated.dm | 21 ++--- code/modules/mob/living/living.dm | 7 +- code/modules/power/lighting.dm | 7 +- icons/mob/belt.dmi | Bin 6470 -> 8907 bytes icons/obj/clothing/belts.dmi | Bin 1636 -> 3506 bytes 16 files changed, 161 insertions(+), 71 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index b7cb7faecfc..4cdadbd3552 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -35,7 +35,7 @@ component_parts += new /obj/item/weapon/stock_parts/console_screen(src) component_parts += new /obj/item/stack/cable_coil(src, 1) RefreshParts() - + /obj/machinery/atmospherics/unary/cryo_cell/New() ..() component_parts = list() @@ -53,7 +53,7 @@ for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) C += M.rating current_heat_capacity = 50 * C - efficiency = C + efficiency = C /obj/machinery/atmospherics/unary/cryo_cell/initialize() if(node) return @@ -115,6 +115,11 @@ /obj/machinery/atmospherics/unary/cryo_cell/process() ..() + if(occupant) + if(occupant.health >= 100) + on = 0 + go_out() + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) if(!node) return if(!on) @@ -153,7 +158,7 @@ return ui_interact(user) - + /** * The ui_interact proc is used to open and update Nano UIs @@ -268,15 +273,15 @@ if (istype(G, /obj/item/weapon/screwdriver)) if(occupant || on) user << "The maintenance panel is locked." - return + return default_deconstruction_screwdriver(user, "cell-o", "cell-off", G) - return - + return + if(exchange_parts(user, G)) return default_deconstruction_crowbar(G) - + if(istype(G, /obj/item/weapon/grab)) if(panel_open) user << "\blue Close the maintenance panel first." diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 2c728b50b3c..6cc4ae4352d 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1105,8 +1105,9 @@ /obj/item/clothing/under/sundress=2,/obj/item/clothing/under/stripeddress = 1, /obj/item/clothing/under/sailordress = 1, /obj/item/clothing/under/redeveninggown = 1, /obj/item/clothing/under/blacktango=1,/obj/item/clothing/suit/jacket=3, /obj/item/clothing/glasses/regular=2,/obj/item/clothing/head/sombrero=1,/obj/item/clothing/suit/poncho=1, /obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2,/obj/item/clothing/shoes/black=4, - /obj/item/clothing/shoes/sandal=1) - contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1) + /obj/item/clothing/shoes/sandal=1, + /obj/item/weapon/storage/belt/fannypack=1, /obj/item/weapon/storage/belt/fannypack/blue=1, /obj/item/weapon/storage/belt/fannypack/red=1) + contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1,/obj/item/weapon/storage/belt/fannypack/black=1) premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/under/pants/mustangjeans=1) refill_canister = /obj/item/weapon/vending_refill/clothing diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 601e4d5a8f7..f1ccf4a20f5 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -68,7 +68,10 @@ if (M.ear_damage >= 5) M << "Your ears start to ring!" -/obj/item/weapon/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve +//////////////////// +//Clusterbang +//////////////////// +/obj/item/weapon/grenade/flashbang/clusterbang desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." name = "clusterbang" icon = 'icons/obj/grenade.dmi' @@ -78,60 +81,60 @@ update_mob() var/numspawned = rand(4,8) var/again = 0 + for(var/more = numspawned,more > 0,more--) if(prob(35)) again++ - numspawned -- + numspawned-- - for(,numspawned > 0, numspawned--) - spawn(0) - new /obj/item/weapon/grenade/flashbang/cluster(src.loc)//Launches flashbangs - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + for(var/loop = numspawned, loop > 0, loop--) + new /obj/item/weapon/grenade/flashbang/cluster(loc)//Launches flashbangs + + for(var/loop = again ,loop > 0, loop--) + new /obj/item/weapon/grenade/flashbang/clusterbang/segment(loc)//Creates a 'segment' that launches a few more flashbangs + + playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - for(,again > 0, again--) - spawn(0) - new /obj/item/weapon/grenade/flashbang/clusterbang/segment(src.loc)//Creates a 'segment' that launches a few more flashbangs - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) del(src) + +////////////////////// +//Clusterbang segment +////////////////////// /obj/item/weapon/grenade/flashbang/clusterbang/segment desc = "A smaller segment of a clusterbang. Better run." name = "clusterbang segment" icon = 'icons/obj/grenade.dmi' icon_state = "clusterbang_segment" -/obj/item/weapon/grenade/flashbang/clusterbang/segment/New()//Segments should never exist except part of the clusterbang, since these immediately 'do their thing' and asplode +/obj/item/weapon/grenade/flashbang/clusterbang/segment/New() + ..() icon_state = "clusterbang_segment_active" active = 1 - var/stepdist = rand(1,4)//How far to step - var/temploc = src.loc//Saves the current location to know where to step away from - walk_away(src,temploc,stepdist)//I must go, my people need me - var/dettime = rand(15,60) - spawn(dettime) + walk_away(src,loc,rand(1,4)) + spawn(rand(15,60)) prime() - ..() + /obj/item/weapon/grenade/flashbang/clusterbang/segment/prime() update_mob() var/numspawned = rand(4,8) - for(var/more = numspawned,more > 0,more--) - if(prob(35)) - numspawned -- - for(,numspawned > 0, numspawned--) - spawn(0) - new /obj/item/weapon/grenade/flashbang/cluster(src.loc) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + for(var/loop = numspawned ,loop > 0, loop--) + new /obj/item/weapon/grenade/flashbang/cluster(loc) + + playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + del(src) -/obj/item/weapon/grenade/flashbang/cluster/New()//Same concept as the segments, so that all of the parts don't become reliant on the clusterbang +//////////////////////////////// +//Clusterbang spawned flashbang +//////////////////////////////// +/obj/item/weapon/grenade/flashbang/cluster/New() ..() icon_state = "flashbang_active" active = 1 banglet = 1 - var/stepdist = rand(1,3) - var/temploc = src.loc - walk_away(src,temploc,stepdist) - var/dettime = rand(15,60) - spawn(dettime) - prime() \ No newline at end of file + walk_away(src,loc,rand(1,3)) + spawn(rand(15,60)) + prime() \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 2718fbec8ec..cfe383edf21 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -217,20 +217,22 @@ icon_override = 'icons/mob/in-hand/duffelbag.dmi' icon_state = "duffel" item_state = "duffel" - storage_slots = 10 // Duffelbags can hold more items. - max_combined_w_class = 25 + storage_slots = 9 // Duffelbags can hold more items. + slowdown = 1 /obj/item/weapon/storage/backpack/duffel/syndimed name = "suspicious duffelbag" desc = "A black and red duffelbag with a red and white cross sewn onto it." icon_state = "duffel-syndimed" item_state = "duffel-syndimed" + slowdown = 0 /obj/item/weapon/storage/backpack/duffel/syndiammo name = "suspicious duffelbag" desc = "A black and red duffelbag with a patch depicting shotgun shells sewn onto it." icon_state = "duffel-syndiammo" item_state = "duffel-syndiammo" + slowdown = 0 /obj/item/weapon/storage/backpack/duffel/captain name = "captain's duffelbag" diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 4c88b7b2b46..01f5385686e 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -47,7 +47,8 @@ "/obj/item/stack/cable_coil", "/obj/item/device/t_scanner", "/obj/item/device/analyzer", - "/obj/item/taperoll/engineering") + "/obj/item/taperoll/engineering", + "/obj/item/weapon/extinguisher/mini") /obj/item/weapon/storage/belt/utility/full/New() @@ -198,6 +199,18 @@ new /obj/item/ammo_casing/shotgun/beanbag(src) new /obj/item/ammo_casing/shotgun/beanbag(src) +/obj/item/weapon/storage/belt/holster + name = "shoulder holster" + desc = "A holster to conceal a carried handgun. WARNING: Badasses only." + icon_state = "holster" + item_state = "holster" + storage_slots = 1 + max_w_class = 3 + can_hold = list( + "/obj/item/weapon/gun/projectile/automatic/pistol", + "/obj/item/weapon/gun/projectile/revolver/detective" + ) + /obj/item/weapon/storage/belt/wands name = "wand belt" desc = "A belt designed to hold various rods of power. A veritable fanny pack of exotic magic." @@ -220,3 +233,61 @@ for(var/obj/item/weapon/gun/magic/wand/W in contents) //All wands in this pack come in the best possible condition W.max_charges = initial(W.max_charges) W.charges = W.max_charges + +/obj/item/weapon/storage/belt/fannypack + name = "fannypack" + desc = "A dorky fannypack for keeping small items in." + icon_state = "fannypack_leather" + item_state = "fannypack_leather" + storage_slots = 3 + max_w_class = 2 + +/obj/item/weapon/storage/belt/fannypack/black + name = "black fannypack" + icon_state = "fannypack_black" + item_state = "fannypack_black" + +/obj/item/weapon/storage/belt/fannypack/red + name = "red fannypack" + icon_state = "fannypack_red" + item_state = "fannypack_red" + +/obj/item/weapon/storage/belt/fannypack/purple + name = "purple fannypack" + icon_state = "fannypack_purple" + item_state = "fannypack_purple" + +/obj/item/weapon/storage/belt/fannypack/blue + name = "blue fannypack" + icon_state = "fannypack_blue" + item_state = "fannypack_blue" + +/obj/item/weapon/storage/belt/fannypack/orange + name = "orange fannypack" + icon_state = "fannypack_orange" + item_state = "fannypack_orange" + +/obj/item/weapon/storage/belt/fannypack/white + name = "white fannypack" + icon_state = "fannypack_white" + item_state = "fannypack_white" + +/obj/item/weapon/storage/belt/fannypack/green + name = "green fannypack" + icon_state = "fannypack_green" + item_state = "fannypack_green" + +/obj/item/weapon/storage/belt/fannypack/pink + name = "pink fannypack" + icon_state = "fannypack_pink" + item_state = "fannypack_pink" + +/obj/item/weapon/storage/belt/fannypack/cyan + name = "cyan fannypack" + icon_state = "fannypack_cyan" + item_state = "fannypack_cyan" + +/obj/item/weapon/storage/belt/fannypack/yellow + name = "yellow fannypack" + icon_state = "fannypack_yellow" + item_state = "fannypack_yellow" \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 0bf9b7570f3..6515018e541 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -16,10 +16,7 @@ new /obj/item/weapon/storage/backpack/industrial(src) else new /obj/item/weapon/storage/backpack/satchel_eng(src) - if (prob(70)) - new /obj/item/clothing/tie/storage/brown_vest(src) - else - new /obj/item/clothing/tie/storage/webbing(src) + new /obj/item/weapon/storage/backpack/duffel/engineering(src) new /obj/item/blueprints(src) new /obj/item/clothing/under/rank/chief_engineer(src) new /obj/item/clothing/head/hardhat/white(src) @@ -109,10 +106,7 @@ new /obj/item/weapon/storage/backpack/industrial(src) else new /obj/item/weapon/storage/backpack/satchel_eng(src) - if (prob(70)) - new /obj/item/clothing/tie/storage/brown_vest(src) - else - new /obj/item/clothing/tie/storage/webbing(src) + new /obj/item/weapon/storage/backpack/duffel/engineering(src) new /obj/item/weapon/storage/toolbox/mechanical(src) new /obj/item/device/radio/headset/headset_eng(src) new /obj/item/clothing/under/rank/engineer(src) @@ -145,10 +139,7 @@ new /obj/item/weapon/storage/backpack/industrial(src) else new /obj/item/weapon/storage/backpack/satchel_eng(src) - if (prob(70)) - new /obj/item/clothing/tie/storage/brown_vest(src) - else - new /obj/item/clothing/tie/storage/webbing(src) + new /obj/item/weapon/storage/backpack/duffel/engineering(src) new /obj/item/weapon/extinguisher(src) new /obj/item/clothing/suit/storage/hazardvest(src) new /obj/item/clothing/mask/gas(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 58eaf2bac09..940fb1409f4 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -69,6 +69,7 @@ new /obj/item/weapon/storage/backpack/medic(src) else new /obj/item/weapon/storage/backpack/satchel_med(src) + new /obj/item/weapon/storage/backpack/duffel/medical(src) new /obj/item/clothing/under/rank/medical(src) new /obj/item/clothing/suit/storage/labcoat(src) new /obj/item/clothing/shoes/white(src) @@ -128,6 +129,7 @@ new /obj/item/weapon/storage/backpack/medic(src) else new /obj/item/weapon/storage/backpack/satchel_med(src) + new /obj/item/weapon/storage/backpack/duffel/medical(src) new /obj/item/clothing/suit/bio_suit/cmo(src) new /obj/item/clothing/head/bio_hood/cmo(src) new /obj/item/clothing/shoes/white(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index f4a3d553d9d..f48a0e69e4f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -7,6 +7,8 @@ /obj/structure/closet/secure_closet/personal/New() ..() spawn(2) + if(prob(50)) + new /obj/item/weapon/storage/backpack/duffel(src) if(prob(50)) new /obj/item/weapon/storage/backpack(src) else diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 917c8feb815..b227b11df05 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -15,6 +15,7 @@ new /obj/item/weapon/storage/backpack/captain(src) else new /obj/item/weapon/storage/backpack/satchel_cap(src) + new /obj/item/weapon/storage/backpack/duffel/captain(src) new /obj/item/clothing/suit/captunic(src) new /obj/item/clothing/suit/captunic/capjacket(src) new /obj/item/clothing/head/caphat/parade(src) @@ -116,7 +117,6 @@ new /obj/item/weapon/gun/energy/advtaser(src) new /obj/item/weapon/storage/belt/security(src) new /obj/item/taperoll/police(src) - new /obj/item/clothing/tie/holster/armpit(src) return @@ -308,7 +308,7 @@ new /obj/item/ammo_box/c38(src) new /obj/item/weapon/gun/projectile/revolver/detective(src) new /obj/item/taperoll/police(src) - new /obj/item/clothing/tie/holster/armpit(src) + new /obj/item/weapon/storage/belt/holster(src) return /obj/structure/closet/secure_closet/detective/update_icon() diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 6b166ae729c..01fceded7e6 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -43,6 +43,8 @@ new /obj/item/ammo_box/magazine/m10mm(src) new /obj/item/weapon/storage/box/teargas(src) new /obj/item/weapon/storage/box/flashbangs(src) + new /obj/item/weapon/storage/backpack/duffel/syndimed(src) + new /obj/item/weapon/storage/backpack/duffel/syndiammo(src) new /obj/item/weapon/gun/projectile/automatic/bulldog(src) new /obj/item/weapon/gun/projectile/automatic/bulldog(src) new /obj/item/weapon/gun/projectile/automatic/bulldog(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 4f04a5aa85d..7a7accadd10 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -20,6 +20,8 @@ icon_closed = "red" /obj/structure/closet/wardrobe/red/New() + new /obj/item/weapon/storage/backpack/duffel/security(src) + new /obj/item/weapon/storage/backpack/duffel/security(src) new /obj/item/clothing/under/rank/security(src) new /obj/item/clothing/under/rank/security(src) new /obj/item/clothing/under/rank/security(src) @@ -377,6 +379,8 @@ new /obj/item/clothing/head/soft/grey(src) new /obj/item/clothing/head/soft/grey(src) new /obj/item/clothing/head/soft/grey(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/duffel(src) return diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index a129d887128..ef7c9e94f17 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -10,11 +10,11 @@ var/max_fire_temperature_sustained = 0 //The max temperature of the fire which it was subjected to var/dirt = 0 var/dirtoverlay = null - + /turf/simulated/New() ..() levelupdate() - + /turf/simulated/proc/MakeSlippery(var/wet_setting = 1) // 1 = Water, 2 = Lube if(wet >= wet_setting) return @@ -32,7 +32,7 @@ if(wet > wet_setting) return wet = 0 if(wet_overlay) - overlays -= wet_overlay + overlays -= wet_overlay /turf/simulated/proc/AddTracks(var/typepath,var/mob,var/bloodDNA,var/comingdir,var/goingdir) var/obj/effect/decal/cleanable/blood/tracks/tracks = locate(typepath) in src @@ -45,14 +45,15 @@ if (istype(A,/mob/living/carbon)) var/mob/living/carbon/M = A if(M.lying) return - dirt++ - if (dirt >= 50) - var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src) - if (!dirtoverlay) + if(prob(80)) + dirt++ + var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src) + if(dirt >= 100) + if(!dirtoverlay) dirtoverlay = new/obj/effect/decal/cleanable/dirt(src) - dirtoverlay.alpha = 15 - else if (dirt > 50) - dirtoverlay.alpha = min(dirtoverlay.alpha+5, 255) + dirtoverlay.alpha = 10 + else if(dirt > 100) + dirtoverlay.alpha = min(dirtoverlay.alpha+10, 200) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(istype(H.shoes, /obj/item/clothing/shoes/clown_shoes)) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index e5a8cb3c170..791c1b64d88 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -322,15 +322,16 @@ on_fire = 0 suiciding = 0 buckled = initial(src.buckled) - + if(iscarbon(src)) var/mob/living/carbon/C = src C.handcuffed = initial(C.handcuffed) - // restore all of the human's blood + // restore all of the human's blood and reset their shock stage if(ishuman(src)) var/mob/living/carbon/human/human_mob = src human_mob.restore_blood() + human_mob.shock_stage = 0 restore_all_organs() if(stat == 2) @@ -757,6 +758,6 @@ else if(!on && floating) animate(src, pixel_y = initial(pixel_y), time = 10) floating = 0 - + /mob/living/proc/can_use_vents() return "You can't fit into that vent." diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index e6d7f2db875..353ea877b4c 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -516,7 +516,12 @@ else if(M_TK in user.mutations) user << "You telekinetically remove the light [fitting]." else - user << "You try to remove the light [fitting], but it's too hot and you don't want to burn your hand." + user << "You try to remove the light [fitting], but you burn your hand on it!" + + var/datum/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand") + if(affecting.take_damage( 0, 5 )) // 5 burn damage + H.UpdateDamageIcon() + H.updatehealth() return // if burned, don't remove the light else user << "You remove the light [fitting]." diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index 8d6a342c995b7bec7a6acbc4aab08573bc469c79..bbad97bf8bd05455b9b5159cde1eef0766d12d92 100644 GIT binary patch literal 8907 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 literal 6470 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 delta 1611 zcmV-R2DJII8{`aDiBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3c-cU?b zMZmzoVgLY8H5<%k06-00nE(Ka003b?AIzBmPY!ZWH6cC~T!n{=h*B$J6Q7Y^Eq~4c z08=y~%$YO)|7JTCU(^K&{}lkp4D+l51<&9qXGP z#eNivQ50KSTi*Tu_uyjWRzqkc8*XlHcsLOI@2bm|kG}u_muWeV=-0C=2@k-ZMWFbss}2$8u@pNuG)m&P6#}LUobx`}&T8am0Hd*YpQW&Js@FF4uV;-xR;(v@z=c`Hz zO(EvxMv7~I377ecCMHY#?9uXHc0>q8VD!mG_702a2{jF1%bamYp)~JcV48DpWhvf0 zKqzy*fuka@2dBLy48O=)ox0}p4y4(N%hkCDM3+Y;v54)bsWOOnUTXDwc(b4twcvPua zSy@?GNmUgY|Dh&jzCm5ee7zxMwr`?ZLPZ3yZA%##z_uf0U;x_-DFXxA9|J%H;t#f6 zDP$o2!Zs5Qh(Fl=CWQ?Eo?L4KqIJkXaa4Gpm8B=Gk@VgC#W{jQVMXI zI)GE-!DoVVhXUvc)Eyn5-{8S#g7ZEF0Q)zYdT%&_1~72cWv|uTp$;(WsLNijkA^zH zxUVjIqv1^`fUhS&0i54mH=lnH1g;a11TIITeE!qvROi72{_wnf{$Ut;{g49u>BA3L z^D_fLFaQL%{q}7;xPQF53_^SX=cYq*D zzywg~AOe2|jQ~)0fFMes0DxY{6|effU*!kdi)z9ai_p}J5kZ78E&68&B8;%$uccjW zHGSv`&EgB8mXn-#8FX?IlRsMLB%}@M{z%X&_Tp02BjeLAL@O&RD=RB2t5>d>l=(W7 zGGC9R%-82qCx6`UqznvT`?r*V0c_)Bv5XUxfdOn=QU->Zu+4-6;xBA7;ehzZ+%{7j zCxl=wY%}42`qKn-0+!MQbb=^eM$rNj;EJN9PB8ar0)$|;n&}C^AM^m2o&XT(0MTM` zOkf?uAM^m`dICU109NX<&t|I`0Z7$l#{hHyw9m^BkAGwh<}F`cb_{?5d_)AH&1SQ@ zqX649Wl98$0>sN*6n$E+`2y^g2?b!jKUX54WrzTPfWCK|&#TWHnn1cm1cXT0_RF@A zK$7f|`%i0l0)XH?*~JS|0}K%m!k?#K(n122*~biFwc0#9JZx6GMOIc;R#sM4 zuS)y<)8R$^zkYlE`uw8)Plvo`6B=Wgq=tLKJSY2uk5q=Kb7K-b;lYzQ36JQ z{kQ#(=hEgc5%6gK{?F{ontz5M4(9Lwed+e+w0~K9D=Vv4tDj6M&_xx`m$v`_002ov JPDHLkV1k{v*2w?>