diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index da2013e2e58..c00a79e1e6b 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -167,7 +167,7 @@ animals lunging, etc. */ /mob/proc/RangedAttack(var/atom/A, var/params) - if(ishuman(src) && (istype(src:gloves, /obj/item/clothing/gloves/yellow/power)) && a_intent == "harm") + if(ishuman(src) && (istype(src:gloves, /obj/item/clothing/gloves/color/yellow/power)) && a_intent == "harm") PowerGlove(A) if(!mutations.len) return if((LASER in mutations) && a_intent == "harm") @@ -321,7 +321,7 @@ return /mob/living/carbon/human/PowerGlove(atom/A) - var/obj/item/clothing/gloves/yellow/power/G = src:gloves + var/obj/item/clothing/gloves/color/yellow/power/G = src:gloves var/time = 100 var/turf/T = get_turf(src) var/turf/U = get_turf(A) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index bf2e773651c..ae75b4f1ec4 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -163,7 +163,7 @@ var/list/uplink_items = list() /datum/uplink_item/jobspecific/pickpocketgloves name = "Pickpocket's Gloves" desc = "A pair of sleek gloves to aid in pickpocketing, while wearing these you can see inside the pockets of any unsuspecting mark, loot the ID or pockets without them knowing, and pickpocketing puts the item directly into your hand." - item = /obj/item/clothing/gloves/black/thief + item = /obj/item/clothing/gloves/color/black/thief cost = 6 job = list("Civilian") @@ -188,7 +188,7 @@ var/list/uplink_items = list() /datum/uplink_item/jobspecific/powergloves name = "Power Gloves" desc = "Insulated gloves that can utilize the power of the station to deliver a short arc of electricity at a target. Must be standing on a powered cable to use." - item = /obj/item/clothing/gloves/yellow/power + item = /obj/item/clothing/gloves/color/yellow/power cost = 14 job = list("Station Engineer","Chief Engineer") diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm index 9936afa1d9a..585d50ad62d 100644 --- a/code/game/gamemodes/setupgame.dm +++ b/code/game/gamemodes/setupgame.dm @@ -235,7 +235,7 @@ //M.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(M), slot_w_uniform) 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/gloves/swat(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/weapon/tank/jetpack(M), slot_back) M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(M), slot_wear_mask) if (prob(50)) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 43f58169edf..18cd7b2a334 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -333,7 +333,7 @@ if("armor") feedback_add_details("wizard_spell_learned","HS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells new /obj/item/clothing/shoes/sandal(get_turf(H)) //In case they've lost them. - new /obj/item/clothing/gloves/purple(get_turf(H))//To complete the outfit + new /obj/item/clothing/gloves/color/purple(get_turf(H))//To complete the outfit new /obj/item/clothing/suit/space/rig/wizard(get_turf(H)) new /obj/item/clothing/head/helmet/space/rig/wizard(get_turf(H)) temp = "You have purchased a suit of wizard armor." diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 71a8332239b..8aa80ad807f 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -31,7 +31,7 @@ H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_or_collect(new /obj/item/clothing/head/hardhat/white(H), slot_head) H.equip_or_collect(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) - H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_or_collect(new /obj/item/clothing/gloves/color/black/ce(H), slot_gloves) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) else diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 4ec89fad037..928e5db3303 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -139,7 +139,6 @@ H.equip_or_collect(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_or_collect(new /obj/item/device/pda/roboticist(H), slot_wear_pda) H.equip_or_collect(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit) -// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_or_collect(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 45d19411b32..c5efe344164 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -29,7 +29,7 @@ H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) H.equip_or_collect(new /obj/item/clothing/suit/armor/hos(H), slot_wear_suit) H.equip_or_collect(new /obj/item/device/pda/heads/hos(H), slot_wear_pda) - H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_or_collect(new /obj/item/clothing/gloves/color/black/hos(H), slot_gloves) H.equip_or_collect(new /obj/item/clothing/head/HoS(H), slot_head) H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) H.equip_or_collect(new /obj/item/weapon/gun/energy/gun(H), slot_s_store) @@ -74,7 +74,7 @@ H.equip_or_collect(new /obj/item/clothing/suit/armor/vest/warden(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/warden(H), slot_head) H.equip_or_collect(new /obj/item/device/pda/warden(H), slot_wear_pda) - H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves) H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) // H.equip_or_collect(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store) @@ -119,10 +119,11 @@ H.equip_or_collect(new /obj/item/clothing/under/det(H), slot_w_uniform) H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_or_collect(new /obj/item/device/pda/detective(H), slot_wear_pda) + H.equip_or_collect(new /obj/item/toy/crayon/white(H), slot_l_store) /* var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H) CIG.light("") H.equip_or_collect(CIG, slot_wear_mask) */ - H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves) if(H.mind.role_alt_title && H.mind.role_alt_title == "Forensic Technician") H.equip_or_collect(new /obj/item/clothing/suit/storage/forensics/blue(H), slot_wear_suit) else @@ -176,6 +177,7 @@ H.equip_or_collect(new /obj/item/clothing/suit/armor/vest/security(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head) H.equip_or_collect(new /obj/item/device/pda/security(H), slot_wear_pda) + H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves) H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_s_store) H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store) if(H.backbag == 1) @@ -251,6 +253,7 @@ H.equip_or_collect(new /obj/item/clothing/suit/jacket(H), slot_wear_suit) H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) H.equip_or_collect(new /obj/item/device/pda/security(H), slot_wear_pda) + H.equip_or_collect(new /obj/item/clothing/gloves/color/black(H), slot_gloves) H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_belt) H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store) if(H.backbag == 1) diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm index 96e5d089b22..e50ff107344 100644 --- a/code/game/jobs/job/support.dm +++ b/code/game/jobs/job/support.dm @@ -118,7 +118,6 @@ H.equip_or_collect(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform) H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_or_collect(new /obj/item/device/pda/quartermaster(H), slot_wear_pda) -// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) H.equip_or_collect(new /obj/item/weapon/clipboard(H), slot_l_hand) if(H.backbag == 1) @@ -147,7 +146,6 @@ H.equip_or_collect(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform) H.equip_or_collect(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_or_collect(new /obj/item/device/pda/cargo(H), slot_wear_pda) -// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) else @@ -179,7 +177,6 @@ H.equip_or_collect(new /obj/item/device/pda/shaftminer(H), slot_wear_pda) H.equip_or_collect(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_or_collect(new /obj/item/weapon/pickaxe/drill(H), slot_belt) -// H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand) H.equip_or_collect(new /obj/item/weapon/crowbar(H), slot_l_hand) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index c8987cccad0..f74bbc7f5ed 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1076,8 +1076,8 @@ //req_access_txt = "12" //Maintenance access products = list(/obj/item/stack/cable_coil/random = 10,/obj/item/weapon/crowbar = 5,/obj/item/weapon/weldingtool = 3,/obj/item/weapon/wirecutters = 5, /obj/item/weapon/wrench = 5,/obj/item/device/analyzer = 5,/obj/item/device/t_scanner = 5,/obj/item/weapon/screwdriver = 5) - contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2) - premium = list(/obj/item/clothing/gloves/yellow = 1) + contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/color/fyellow = 2) + premium = list(/obj/item/clothing/gloves/color/yellow = 1) /obj/machinery/vending/engivend name = "Engi-Vend" @@ -1097,7 +1097,7 @@ icon_deny = "engi-deny" req_access_txt = "11" products = list(/obj/item/clothing/under/rank/chief_engineer = 4,/obj/item/clothing/under/rank/engineer = 4,/obj/item/clothing/shoes/orange = 4,/obj/item/clothing/head/hardhat = 4, - /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/screwdriver = 12, + /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/color/yellow = 4, /obj/item/weapon/screwdriver = 12, /obj/item/weapon/crowbar = 12,/obj/item/weapon/wirecutters = 12,/obj/item/device/multitool = 12,/obj/item/weapon/wrench = 12,/obj/item/device/t_scanner = 12, /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/stock_parts/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8, /obj/item/weapon/light/tube = 10,/obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5,/obj/item/weapon/stock_parts/micro_laser = 5, @@ -1211,7 +1211,7 @@ /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, + /obj/item/clothing/shoes/sandal=1, /obj/item/clothing/gloves/fingerless=2, /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) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 19108eec93d..361ecedb4e1 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -1,5 +1,6 @@ /obj/machinery/washing_machine name = "Washing Machine" + desc = "Gets rid of those pesky bloodstains, or your money back!" icon = 'icons/obj/machines/washing_machine.dmi' icon_state = "wm_10" density = 1 @@ -87,8 +88,8 @@ //world << "DEBUG: YUP! [new_icon_state] and [new_item_state]" break del(J) - for(var/T in typesof(/obj/item/clothing/gloves)) - var/obj/item/clothing/gloves/G = new T + for(var/T in typesof(/obj/item/clothing/gloves/color)) + var/obj/item/clothing/gloves/color/G = new T //world << "DEBUG: [color] == [J.color]" if(_color == G._color) new_glove_icon_state = G.icon_state @@ -137,13 +138,13 @@ J.name = new_jumpsuit_name J.desc = new_desc if(new_glove_icon_state && new_glove_item_state && new_glove_name) - for(var/obj/item/clothing/gloves/G in contents) + for(var/obj/item/clothing/gloves/color/G in contents) //world << "DEBUG: YUP! FOUND IT!" G.item_state = new_glove_item_state G.icon_state = new_glove_icon_state G._color = _color G.name = new_glove_name - if(!istype(G, /obj/item/clothing/gloves/black/thief)) + if(!istype(G, /obj/item/clothing/gloves/color/black/thief)) G.desc = new_desc if(new_shoe_icon_state && new_shoe_name) for(var/obj/item/clothing/shoes/S in contents) @@ -265,7 +266,10 @@ return if ( istype(W,/obj/item/clothing/gloves/furgloves ) ) user << "This item does not fit." - return + return + if(W.flags & NODROP) //if "can't drop" item + user << "\The [W] is stuck to your hand, you cannot put it in the washing machine!" + return if(contents.len < 5) if ( state in list(1, 3) ) diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 226fcdcf456..db1952f145e 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -1,36 +1,23 @@ /obj/effect/decal/cleanable/crayon name = "rune" desc = "A rune drawn in crayon." - icon = 'icons/obj/rune.dmi' + icon = 'icons/effects/crayondecal.dmi' + icon_state = "rune1" layer = 2.1 anchored = 1 - examine() - set src in view(2) - ..() - return +/obj/effect/decal/cleanable/crayon/examine() + set src in view(2) + ..() + return - New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune") - ..() - loc = location +/obj/effect/decal/cleanable/crayon/New(location, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune") + ..() + loc = location - name = type - desc = "A [type] drawn in crayon." + name = e_name + desc = "A [name] drawn in crayon." - switch(type) - if("rune") - type = "rune[rand(1,6)]" - if("graffiti") - type = pick("amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa") - - var/icon/mainOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]",2.1) - var/icon/shadeOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]s",2.1) - - mainOverlay.Blend(main,ICON_ADD) - shadeOverlay.Blend(shade,ICON_ADD) - - overlays += mainOverlay - overlays += shadeOverlay - - add_hiddenprint(usr) \ No newline at end of file + icon_state = type + color = main \ No newline at end of file diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index ad757325b95..fe8fe4138bd 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -1,100 +1,84 @@ /obj/item/toy/crayon/red icon_state = "crayonred" colour = "#DA0000" - shadeColour = "#810C0C" colourName = "red" /obj/item/toy/crayon/orange icon_state = "crayonorange" colour = "#FF9300" - shadeColour = "#A55403" colourName = "orange" /obj/item/toy/crayon/yellow icon_state = "crayonyellow" colour = "#FFF200" - shadeColour = "#886422" colourName = "yellow" /obj/item/toy/crayon/green icon_state = "crayongreen" colour = "#A8E61D" - shadeColour = "#61840F" colourName = "green" /obj/item/toy/crayon/blue icon_state = "crayonblue" colour = "#00B7EF" - shadeColour = "#0082A8" colourName = "blue" /obj/item/toy/crayon/purple icon_state = "crayonpurple" colour = "#DA00FF" - shadeColour = "#810CFF" colourName = "purple" +/obj/item/toy/crayon/white + icon_state = "crayonwhite" + colour = "#FFFFFF" + colourName = "white" + /obj/item/toy/crayon/mime icon_state = "crayonmime" desc = "A very sad-looking crayon." colour = "#FFFFFF" - shadeColour = "#000000" colourName = "mime" uses = 0 -/obj/item/toy/crayon/mime/attack_self(mob/living/user as mob) //inversion - if(colour != "#FFFFFF" && shadeColour != "#000000") - colour = "#FFFFFF" - shadeColour = "#000000" - user << "You will now draw in white and black with this crayon." +/obj/item/toy/crayon/mime/attack_self(mob/living/user as mob) + update_window(user) + +/obj/item/toy/crayon/mime/update_window(mob/living/user as mob) + dat += "
   Change color
" + ..() + +/obj/item/toy/crayon/mime/Topic(href,href_list) + if ((usr.restrained() || usr.stat || usr.get_active_hand() != src)) + return + if(href_list["color"]) + if(colour != "#FFFFFF") + colour = "#FFFFFF" + else + colour = "#000000" + update_window(usr) else - colour = "#000000" - shadeColour = "#FFFFFF" - user << "You will now draw in black and white with this crayon." - return + ..() /obj/item/toy/crayon/rainbow icon_state = "crayonrainbow" colour = "#FFF000" - shadeColour = "#000FFF" colourName = "rainbow" uses = 0 /obj/item/toy/crayon/rainbow/attack_self(mob/living/user as mob) - colour = input(user, "Please select the main colour.", "Crayon colour") as color - shadeColour = input(user, "Please select the shade colour.", "Crayon colour") as color - return + update_window(user) -/obj/item/toy/crayon/afterattack(atom/target, mob/user as mob, proximity) - if(!proximity) return - if(istype(target,/turf/simulated/floor)) - var/drawtype = input("Choose what you'd like to draw.", "Crayon scribbles") in list("graffiti","rune","letter") - switch(drawtype) - if("letter") - drawtype = input("Choose the letter.", "Crayon scribbles") in list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z") - user << "You start drawing a letter on the [target.name]." - if("graffiti") - user << "You start drawing graffiti on the [target.name]." - if("rune") - user << "You start drawing a rune on the [target.name]." - if(instant || do_after(user, 50)) - new /obj/effect/decal/cleanable/crayon(target,colour,shadeColour,drawtype) - user << "You finish drawing." - if(uses) - uses-- - if(!uses) - user << "\red You used up your crayon!" - del(src) - return +/obj/item/toy/crayon/rainbow/update_window(mob/living/user as mob) + dat += "
   Change color
" + ..() -/obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob) - if(M == user) - user << "You take a bite of the crayon. Delicious!" - user.nutrition += 5 - if(uses) - uses -= 5 - if(uses <= 0) - user << "\red You ate your crayon!" - del(src) +/obj/item/toy/crayon/rainbow/Topic(href,href_list[]) + + if(href_list["color"]) + var/temp = input(usr, "Please select colour.", "Crayon colour") as color + if ((usr.restrained() || usr.stat || usr.get_active_hand() != src)) + return + colour = temp + update_window(usr) else ..() \ No newline at end of file diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index dda1a4942c0..e5cd25994f5 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -438,20 +438,104 @@ desc = "A colourful crayon. Looks tasty. Mmmm..." icon = 'icons/obj/crayons.dmi' icon_state = "crayonred" - slot_flags = SLOT_EARS w_class = 1.0 attack_verb = list("attacked", "coloured") var/colour = "#FF0000" //RGB - var/shadeColour = "#220000" //RGB + var/drawtype = "rune" + var/list/graffiti = list("amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa","body","cyka") + var/list/letters = list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z") var/uses = 30 //0 for unlimited uses var/instant = 0 var/colourName = "red" //for updateIcon purposes + var/dat - suicide_act(mob/user) - viewers(user) << "[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide." - return (BRUTELOSS|OXYLOSS) +/obj/item/toy/crayon/suicide_act(mob/user) + user.visible_message("[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide.") + return (BRUTELOSS|OXYLOSS) +/obj/item/toy/crayon/New() + ..() + name = "[colourName] crayon" //Makes crayons identifiable in things like grinders + drawtype = pick(pick(graffiti), pick(letters), "rune[rand(1,6)]") +/obj/item/toy/crayon/attack_self(mob/living/user as mob) + update_window(user) + +/obj/item/toy/crayon/proc/update_window(mob/living/user as mob) + dat += "

Currently selected: [drawtype]


" + dat += "Random letterPick letter" + dat += "
" + dat += "

Runes:


" + dat += "Random rune" + for(var/i = 1; i <= 6; i++) + dat += "Rune[i]" + if(!((i + 1) % 3)) //3 buttons in a row + dat += "
" + dat += "
" + graffiti.Find() + dat += "

Graffiti:


" + dat += "Random graffiti" + var/c = 1 + for(var/T in graffiti) + dat += "[T]" + if(!((c + 1) % 3)) //3 buttons in a row + dat += "
" + c++ + dat += "
" + var/datum/browser/popup = new(user, "crayon", name, 300, 500) + popup.set_content(dat) + popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.open() + dat = "" + +/obj/item/toy/crayon/Topic(href, href_list, hsrc) + var/temp = "a" + switch(href_list["type"]) + if("random_letter") + temp = pick(letters) + if("letter") + temp = input("Choose the letter.", "Crayon scribbles") in letters + if("random_rune") + temp = "rune[rand(1,6)]" + if("random_graffiti") + temp = pick(graffiti) + else + temp = href_list["type"] + if ((usr.restrained() || usr.stat || usr.get_active_hand() != src)) + return + drawtype = temp + update_window(usr) + +/obj/item/toy/crayon/afterattack(atom/target, mob/user as mob, proximity) + if(!proximity) return + if(istype(target,/turf/simulated/floor)) + var/temp = "rune" + if(letters.Find(drawtype)) + temp = "letter" + else if(graffiti.Find(drawtype)) + temp = "graffiti" + user << "You start drawing a [temp] on the [target.name]." + if(instant || do_after(user, 50)) + new /obj/effect/decal/cleanable/crayon(target,colour,drawtype,temp) + user << "You finish drawing [temp]." + if(uses) + uses-- + if(!uses) + user << "You used up your crayon!" + qdel(src) + return + +/obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob) + if(M == user) + user << "You take a bite of the crayon. Delicious!" + user.nutrition += 5 + if(uses) + uses -= 5 + if(uses <= 0) + user << "You ate your crayon!" + qdel(src) + else + ..() /* diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index cb04eeaccd3..d905730dbf8 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -64,7 +64,7 @@ new /obj/item/stack/cable_coil(src,30,color) new /obj/item/stack/cable_coil(src,30,color) if(prob(5)) - new /obj/item/clothing/gloves/yellow(src) + new /obj/item/clothing/gloves/color/yellow(src) else new /obj/item/stack/cable_coil(src,30,color) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 710251b34d7..45f556bb425 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -38,6 +38,9 @@ new /obj/item/ammo_box/a357(src) new /obj/item/weapon/card/emag(src) new /obj/item/weapon/plastique(src) + new /obj/item/clothing/gloves/color/latex/nitrile(src) + new /obj/item/clothing/mask/gas/clown_hat(src) + new /obj/item/clothing/under/suit_jacket/really_black(src) return if("murder") diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 9b12b3dcc46..b5fb68105c2 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -97,7 +97,7 @@ prob(1);/obj/item/stack/packageWrap,\ prob(2);/obj/random/bomb_supply,\ prob(1);/obj/item/weapon/extinguisher,\ - prob(1);/obj/item/clothing/gloves/fyellow,\ + prob(1);/obj/item/clothing/gloves/color/fyellow,\ prob(3);/obj/item/stack/cable_coil,\ prob(2);/obj/random/toolbox,\ prob(2);/obj/item/weapon/storage/belt/utility,\ diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index 4a9669a9955..a72ae3d7e60 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -61,8 +61,8 @@ sleep(2) new /obj/item/clothing/glasses/eyepatch(src) new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/gloves/swat(src) - new /obj/item/clothing/gloves/swat(src) + new /obj/item/clothing/gloves/combat(src) + new /obj/item/clothing/gloves/combat(src) new /obj/item/clothing/head/helmet/swat(src) new /obj/item/clothing/head/helmet/swat(src) new /obj/item/clothing/mask/gas(src) diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 42e82b8af22..a641af29874 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -83,7 +83,7 @@ new /obj/item/weapon/storage/bag/trash(src) new /obj/item/device/lightreplacer(src) new /obj/item/weapon/holosign_creator(src) - new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/gloves/color/black(src) new /obj/item/clothing/head/soft/purple(src) new /obj/item/weapon/watertank/janitor(src) new /obj/item/weapon/storage/belt/janitor(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index 14fd16914cc..78e90703b9e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -14,7 +14,7 @@ new /obj/item/clothing/under/rank/cargotech(src) new /obj/item/clothing/shoes/black(src) new /obj/item/device/radio/headset/headset_cargo(src) - new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/gloves/fingerless(src) new /obj/item/clothing/head/soft(src) // new /obj/item/weapon/cartridge/quartermaster(src) return @@ -35,7 +35,7 @@ new /obj/item/clothing/under/rank/cargo(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/device/radio/headset/headset_cargo(src) - new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/gloves/fingerless(src) // new /obj/item/weapon/cartridge/quartermaster(src) new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/weapon/tank/emergency_oxygen(src) 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 ae57669c261..79a84cd2c1f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -328,7 +328,7 @@ new /obj/item/clothing/suit/storage/det_suit(src) new /obj/item/clothing/suit/storage/forensics/blue(src) new /obj/item/clothing/suit/storage/forensics/red(src) - new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/gloves/color/black(src) new /obj/item/clothing/head/det_hat(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/weapon/storage/box/evidence(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 90cee7c97a8..fcead78a565 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -296,8 +296,8 @@ new /obj/item/clothing/suit/storage/labcoat(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/gloves/fingerless(src) + new /obj/item/clothing/gloves/fingerless(src) new /obj/item/clothing/head/soft/black(src) new /obj/item/clothing/head/soft/black(src) return diff --git a/code/game/response_team.dm b/code/game/response_team.dm index f495914d42d..4050cadceff 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -17,39 +17,39 @@ var/can_call_ert if(!check_rights(R_EVENT)) return - + if(!ticker) usr << "\red The game hasn't started yet!" return - + if(ticker.current_state == 1) usr << "\red The round hasn't started yet!" return - + if(send_emergency_team) usr << "\red Central Command has already dispatched an emergency response team!" return - + if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes") return - - + + if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red switch(alert("The station is not in red alert. Do you still want to dispatch a response team?",,"Yes","No")) if("No") return - + if(send_emergency_team) usr << "\red Central Command has already dispatched an emergency response team!" return - + if(pick_ert_type()) return message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1) log_admin("[key_name(usr)] used Dispatch Response Team.") trigger_armed_response_team(1) - + /client/proc/pick_ert_type() var/erttype = input("Which type of Emergency Response Team would you like to dispatch?","Emergency Response Team Type", "") as null|anything in response_team_types if(!erttype) @@ -68,25 +68,25 @@ var/can_call_ert if(!istype(usr,/mob/dead/observer) && !istype(usr,/mob/new_player)) usr << "You need to be an observer or new player to use this." return - + if(!send_emergency_team) usr << "No emergency response team is currently being sent." return - + if(jobban_isbanned(usr, "Emergency Response Team")) usr << "You are jobbanned from the emergency reponse team!" return - + var/player_age_check = check_client_age(usr.client, responseteam_age) if(player_age_check && config.use_age_restriction_for_antags) usr << "This role is not yet available to you. You need to wait another [player_age_check] days." return - if(response_team_members.len > 6) + if(response_team_members.len > 6) usr << "The emergency response team is already full!" return - for (var/obj/effect/landmark/L in landmarks_list) + for (var/obj/effect/landmark/L in landmarks_list) if (L.name == "Response Team") L.name = null @@ -118,13 +118,13 @@ var/can_call_ert var/deadcount = 0 for(var/mob/living/carbon/human/H in mob_list) if(H.client) // Monkeys and mice don't have a client, amirite? - if(H.stat == 2) + if(H.stat == 2) deadcount++ total++ - if(total == 0) + if(total == 0) return 0 - else + else return round(100 * deadcount / total) // counts the number of antagonists in % @@ -136,9 +136,9 @@ var/can_call_ert antagonists++ total++ - if(total == 0) + if(total == 0) return 0 - else + else return round(100 * antagonists / total) // Increments the ERT chance automatically, so that the later it is in the round, @@ -170,7 +170,7 @@ var/can_call_ert send_team_chance += percentage_antagonists() // the more antagonists, the higher the chance send_team_chance = min(send_team_chance, 100) - if(force) + if(force) send_team_chance = 100 // there's only a certain chance a team will be sent @@ -186,7 +186,7 @@ var/can_call_ert sleep(600 * 5) send_emergency_team = 0 // Can no longer join the ERT. -/* +/* var/area/security/nuke_storage/nukeloc = locate() //To find the nuke in the vault var/obj/machinery/nuclearbomb/nuke = locate() in nukeloc if(!nuke) @@ -343,7 +343,7 @@ var/can_call_ert equip_emergencyresponsesquad(M, "Commander", class) else equip_emergencyresponsesquad(M, class) - + return M /proc/equip_emergencyresponsesquad(var/mob/living/carbon/human/M, var/role, var/role2) @@ -360,13 +360,13 @@ var/can_call_ert M.equip_to_slot_or_del(new /obj/item/clothing/shoes/galoshes(M), slot_shoes) else M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/advance(M), slot_shoes) - + M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/commander(M), slot_wear_suit) var/obj/item/clothing/suit/space/rig/R = M.wear_suit R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/commander(M) M.equip_to_slot_or_del(R.helmet, slot_head) R.helmet.flags |= NODROP - + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) @@ -386,8 +386,8 @@ var/can_call_ert M.equip_to_slot_or_del(pda, slot_wear_pda) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) - + M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) + M.equip_to_slot_or_del(new /obj/item/weapon/pinpointer/advpinpointer(M), slot_in_backpack) switch(role2) @@ -395,62 +395,62 @@ var/can_call_ert M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/response_team(M), slot_belt) - + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/night(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/handcuffs(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun/nuclear(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/tele(M), slot_in_backpack) - + if("Medical") M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/latex/nitrile(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/night(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/defibrillator/compact/combat/loaded(M), slot_belt) - + M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/fire(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/o2(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/toxin(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/CMO(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(M), slot_r_hand) - + if("Engineering") M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson/night(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full/multitool(M), slot_belt) - + M.equip_to_slot_or_del(new /obj/item/weapon/rcd/combat(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/full(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/stack/sheet/glass/full(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack) - + M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/inflatable(M), slot_r_hand) - + if("Janitorial") - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/janitor, slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/janitor/full, slot_belt) - + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(src), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/lights/mixed(src), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/spray/plantbgone(src), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/glass/bucket(src), slot_in_backpack) - - M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand) - + + M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand) + new /obj/structure/mopbucket/full(get_turf(M)) if("Security") M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/security(M), slot_wear_suit) - + var/obj/item/clothing/suit/space/rig/R = M.wear_suit R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/security(M) M.equip_to_slot_or_del(R.helmet, slot_head) R.helmet.flags |= NODROP - + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(M), slot_glasses) @@ -470,10 +470,10 @@ var/can_call_ert pda.name = "PDA-[M.real_name] ([pda.ownjob])" pda.icon_state = "pda-security" M.equip_to_slot_or_del(pda, slot_wear_pda) - + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) - + M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/night(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/handcuffs(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun/nuclear(M), slot_in_backpack) @@ -485,18 +485,18 @@ var/can_call_ert M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/latex/nitrile(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/medical(M), slot_wear_suit) - + var/obj/item/clothing/suit/space/rig/R = M.wear_suit - R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/medical(M) + R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/medical(M) M.equip_to_slot_or_del(R.helmet, slot_head) R.helmet.flags |= NODROP - + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/night(M), slot_glasses) var/obj/item/weapon/card/id/W = new(src) - W.assignment = "Emergency Response Team Member" + W.assignment = "Emergency Response Team Member" W.registered_name = M.real_name W.name = "[M.real_name]'s ID Card (Emergency Response Team - Medic)" W.icon_state = "centcom" @@ -510,29 +510,29 @@ var/can_call_ert pda.name = "PDA-[M.real_name] ([pda.ownjob])" pda.icon_state = "pda-medical" M.equip_to_slot_or_del(pda, slot_wear_pda) - + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) - + M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/fire(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/o2(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/toxin(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/CMO(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/defibrillator/compact/combat/loaded(M), slot_belt) - + M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(M), slot_r_hand) if("Engineering") M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/advance(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/engineer(M), slot_wear_suit) - + var/obj/item/clothing/suit/space/rig/R = M.wear_suit - R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/engineer(M) + R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/engineer(M) M.equip_to_slot_or_del(R.helmet, slot_head) R.helmet.flags |= NODROP - + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson/night(M), slot_glasses) @@ -552,31 +552,31 @@ var/can_call_ert pda.name = "PDA-[M.real_name] ([pda.ownjob])" pda.icon_state = "pda-engineer" M.equip_to_slot_or_del(pda, slot_wear_pda) - + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) + M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) M.equip_to_slot_or_del(new /obj/item/weapon/rcd/combat(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/full(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/stack/sheet/glass/full(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/full(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full/multitool(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/inflatable(M), slot_r_hand) - + if("Janitorial") M.equip_to_slot_or_del(new /obj/item/clothing/shoes/galoshes(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/ert/janitor(M), slot_wear_suit) - + var/obj/item/clothing/suit/space/rig/R = M.wear_suit - R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/janitor(M) + R.helmet = new /obj/item/clothing/head/helmet/space/rig/ert/janitor(M) M.equip_to_slot_or_del(R.helmet, slot_head) R.helmet.flags |= NODROP - + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/janitor(M), slot_glasses) @@ -596,9 +596,9 @@ var/can_call_ert pda.name = "PDA-[M.real_name] ([pda.ownjob])" pda.icon_state = "pda-janitor" M.equip_to_slot_or_del(pda, slot_wear_pda) - + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_s_store) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) + M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(M), slot_r_store) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(src), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/lights/mixed(src), slot_in_backpack) @@ -607,8 +607,8 @@ var/can_call_ert M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/janitor/full, slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand) - + M.equip_to_slot_or_del(new /obj/item/weapon/mop/advanced(M), slot_r_hand) + new /obj/structure/mopbucket/full(get_turf(M)) /*/mob/living/carbon/human/proc/equip_strike_team(leader_selected = 0) Old ERT equip verb. diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 8bd0f7c4c47..ebb8f3479db 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -734,7 +734,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("tunnel clown")//Tunnel clowns rule! M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(M), slot_w_uniform) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/clothing/head/chaplain_hood(M), slot_head) M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) @@ -775,7 +775,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("dark lord") M.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(M), slot_w_uniform) 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/gloves/black(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/weapon/twohanded/dualsaber/red(M), slot_l_hand) @@ -797,7 +797,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("assassin") M.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(M), slot_w_uniform) 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/gloves/black(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/suit/wcoat(M), slot_wear_suit) @@ -912,7 +912,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("emergency response team") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert/alt(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) @@ -935,7 +935,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("emergency response team leader") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert/alt(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 755bc91817e..2e39830be85 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -138,7 +138,7 @@ var/global/sent_syndicate_strike_team = 0 equip_to_slot_or_del(new /obj/item/clothing/suit/space/syndicate/black/strike(src), slot_wear_suit) else equip_to_slot_or_del(new /obj/item/clothing/suit/space/syndicate/black/red/strike(src), slot_wear_suit) - equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves) + equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(src), slot_gloves) if (!syndicate_leader_selected) equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/syndicate/black/strike(src), slot_head) else diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 7fa81ce358e..97521412795 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -100,7 +100,7 @@ corpseuniform = /obj/item/clothing/under/syndicate corpsesuit = /obj/item/clothing/suit/armor/vest corpseshoes = /obj/item/clothing/shoes/combat - corpsegloves = /obj/item/clothing/gloves/swat + corpsegloves = /obj/item/clothing/gloves/combat corpseradio = /obj/item/device/radio/headset corpsemask = /obj/item/clothing/mask/gas corpsehelmet = /obj/item/clothing/head/helmet/swat @@ -116,7 +116,7 @@ corpseuniform = /obj/item/clothing/under/syndicate corpsesuit = /obj/item/clothing/suit/space/rig/syndi corpseshoes = /obj/item/clothing/shoes/combat - corpsegloves = /obj/item/clothing/gloves/swat + corpsegloves = /obj/item/clothing/gloves/combat corpseradio = /obj/item/device/radio/headset corpsemask = /obj/item/clothing/mask/gas/syndicate corpsehelmet = /obj/item/clothing/head/helmet/space/rig/syndi @@ -246,7 +246,7 @@ /obj/effect/landmark/corpse/miner corpseradio = /obj/item/device/radio/headset/headset_cargo corpseuniform = /obj/item/clothing/under/rank/miner - corpsegloves = /obj/item/clothing/gloves/black + corpsegloves = /obj/item/clothing/gloves/fingerless corpseback = /obj/item/weapon/storage/backpack/industrial corpseshoes = /obj/item/clothing/shoes/black corpseid = 1 @@ -280,7 +280,7 @@ corpseglasses = /obj/item/clothing/glasses/eyepatch corpsemask = /obj/item/clothing/mask/cigarette/cigar/cohiba corpsehelmet = /obj/item/clothing/head/centhat - corpsegloves = /obj/item/clothing/gloves/swat + corpsegloves = /obj/item/clothing/gloves/combat corpseshoes = /obj/item/clothing/shoes/combat corpsepocket1 = /obj/item/weapon/lighter/zippo corpseid = 1 diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index e7b8b3ae64f..ecc763a1a49 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -1,4 +1,4 @@ -/obj/item/clothing/gloves/yellow +/obj/item/clothing/gloves/color/yellow desc = "These gloves will protect the wearer from electric shock." name = "insulated gloves" icon_state = "yellow" @@ -14,7 +14,7 @@ power var/next_shock = 0 -/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap +/obj/item/clothing/gloves/color/fyellow //Cheap Chinese Crap desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly." name = "budget insulated gloves" icon_state = "yellow" @@ -30,7 +30,7 @@ New() siemens_coefficient = pick(0,0.5,0.5,0.5,0.5,0.75,1.5) -/obj/item/clothing/gloves/black +/obj/item/clothing/gloves/color/black desc = "These gloves are fire-resistant." name = "black gloves" icon_state = "black" @@ -55,7 +55,7 @@ thief pickpocket = 1 -/obj/item/clothing/gloves/orange +/obj/item/clothing/gloves/color/orange name = "orange gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "orange" @@ -65,7 +65,7 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/gloves.dmi' ) -/obj/item/clothing/gloves/red +/obj/item/clothing/gloves/color/red name = "red gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "red" @@ -75,7 +75,7 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/gloves.dmi' ) -/obj/item/clothing/gloves/rainbow +/obj/item/clothing/gloves/color/rainbow name = "rainbow gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "rainbow" @@ -88,7 +88,7 @@ clown _color = "clown" -/obj/item/clothing/gloves/blue +/obj/item/clothing/gloves/color/blue name = "blue gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "blue" @@ -98,7 +98,7 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/gloves.dmi' ) -/obj/item/clothing/gloves/purple +/obj/item/clothing/gloves/color/purple name = "purple gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "purple" @@ -108,7 +108,7 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/gloves.dmi' ) -/obj/item/clothing/gloves/green +/obj/item/clothing/gloves/color/green name = "green gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "green" @@ -118,7 +118,7 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/gloves.dmi' ) -/obj/item/clothing/gloves/grey +/obj/item/clothing/gloves/color/grey name = "grey gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "gray" @@ -134,7 +134,7 @@ hop _color = "hop" //Exists for washing machines. Is not different from gray gloves in any way. -/obj/item/clothing/gloves/light_brown +/obj/item/clothing/gloves/color/light_brown name = "light brown gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "lightbrown" @@ -144,7 +144,7 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/gloves.dmi' ) -/obj/item/clothing/gloves/brown +/obj/item/clothing/gloves/color/brown name = "brown gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "brown" @@ -170,8 +170,6 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' ) - cmo - _color = "medical" //Exists for washing machines. Is not different from latex gloves in any way. /obj/item/clothing/gloves/color/latex/nitrile name = "nitrile gloves" @@ -179,6 +177,7 @@ icon_state = "nitrile" item_state = "nitrilegloves" transfer_prints = FALSE + _color = "medical" /obj/item/clothing/gloves/color/white name = "white gloves" @@ -188,7 +187,7 @@ _color="mime" redcoat - _color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way. + _color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way. /obj/item/clothing/gloves/color/captain diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 5f01aa4da95..8f6ba148430 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -1,3 +1,14 @@ +/obj/item/clothing/gloves/fingerless + name = "fingerless gloves" + desc = "Plain black gloves without fingertips for the hard working." + icon_state = "fingerless" + item_state = "fingerless" + _color = null //So they don't wash. + transfer_prints = TRUE + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE + species_restricted = null + /obj/item/clothing/gloves/cyborg desc = "beep boop borp" name = "cyborg gloves" @@ -8,23 +19,8 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' ) -/obj/item/clothing/gloves/swat - desc = "These tactical gloves are somewhat fire and impact-resistant." - name = "\improper SWAT Gloves" - icon_state = "black" - item_state = "swat_gl" - siemens_coefficient = 0.6 - permeability_coefficient = 0.05 - cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE - species_fit = list("Vox") - sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/mask.dmi' - ) -/obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves +/obj/item/clothing/gloves/combat desc = "These tactical gloves are somewhat fire and impact resistant." name = "combat gloves" icon_state = "black" diff --git a/code/modules/jungle/jungle_temple.dm b/code/modules/jungle/jungle_temple.dm index 138d1dc47d1..90331034774 100644 --- a/code/modules/jungle/jungle_temple.dm +++ b/code/modules/jungle/jungle_temple.dm @@ -135,13 +135,13 @@ new /obj/item/clothing/under/rainbow(C) new /obj/item/clothing/shoes/rainbow(C) new /obj/item/clothing/head/soft/rainbow(C) - new /obj/item/clothing/gloves/rainbow(C) + new /obj/item/clothing/gloves/color/rainbow(C) else if(prob(50)) new /obj/item/clothing/under/psyche(C) else new /obj/item/clothing/under/syndicate/combat(C) new /obj/item/clothing/shoes/combat(C) - new /obj/item/clothing/gloves/swat(C) + new /obj/item/clothing/gloves/combat(C) new /obj/item/clothing/mask/balaclava(C) if("glasses") var/obj/structure/closet/C = new(src.loc) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index f6c03ee308b..0e927cc2aee 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -28,7 +28,7 @@ new /obj/item/weapon/storage/backpack/satchel_eng(src) new /obj/item/device/radio/headset/headset_cargo(src) new /obj/item/clothing/under/rank/miner(src) - new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/gloves/fingerless(src) new /obj/item/clothing/shoes/black(src) new /obj/item/device/mining_scanner(src) new /obj/item/weapon/storage/bag/ore(src) diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 47795ed7b87..ae21a0a3d8f 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -89,7 +89,7 @@ corpseuniform = /obj/item/clothing/under/syndicate corpsesuit = /obj/item/clothing/suit/armor/vest corpseshoes = /obj/item/clothing/shoes/combat - corpsegloves = /obj/item/clothing/gloves/swat + corpsegloves = /obj/item/clothing/gloves/combat corpseradio = /obj/item/device/radio/headset corpsemask = /obj/item/clothing/mask/gas corpsehelmet = /obj/item/clothing/head/helmet/swat @@ -105,7 +105,7 @@ corpseuniform = /obj/item/clothing/under/syndicate corpsesuit = /obj/item/clothing/suit/space/rig/syndi corpseshoes = /obj/item/clothing/shoes/combat - corpsegloves = /obj/item/clothing/gloves/swat + corpsegloves = /obj/item/clothing/gloves/combat corpseradio = /obj/item/device/radio/headset corpsemask = /obj/item/clothing/mask/gas/syndicate corpsehelmet = /obj/item/clothing/head/helmet/space/rig/syndi diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 925abb3e84f..2421b49568a 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -55,7 +55,7 @@ /obj/item/weapon/stamp/cmo name = "chief medical officer's rubber stamp" icon_state = "stamp-cmo" - _color = "cmo" + _color = "medical" /obj/item/weapon/stamp/granted name = "\improper GRANTED rubber stamp" diff --git a/icons/effects/crayondecal.dmi b/icons/effects/crayondecal.dmi index 3aa781d8d22..f62c3fc188e 100644 Binary files a/icons/effects/crayondecal.dmi and b/icons/effects/crayondecal.dmi differ diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index ca38284b11c..7f27823e9a6 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index 460dd640c29..9dcc7b4735c 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/crayons.dmi b/icons/obj/crayons.dmi index 7ebabd5a81e..6e408c15d25 100644 Binary files a/icons/obj/crayons.dmi and b/icons/obj/crayons.dmi differ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 28bc95721f3..4669c6aec7a 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -2105,7 +2105,7 @@ "aOy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/primary) "aOz" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/storage/primary) "aOA" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/primary) -"aOB" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/gloves/fyellow,/turf/simulated/floor,/area/storage/primary) +"aOB" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/gloves/color/fyellow,/turf/simulated/floor,/area/storage/primary) "aOC" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/storage/primary) "aOD" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/primary) "aOE" = (/turf/simulated/floor{icon_state = "delivery"},/area/storage/primary) @@ -2943,7 +2943,7 @@ "beE" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port) "beF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/port) "beG" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/port) -"beH" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/under/rainbow,/turf/simulated/floor/plating,/area/maintenance/port) +"beH" = (/obj/item/clothing/gloves/color/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/under/rainbow,/turf/simulated/floor/plating,/area/maintenance/port) "beI" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/tools) "beJ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/tools) "beK" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/rack{dir = 8; layer = 2.9},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/item/device/multitool,/turf/simulated/floor,/area/storage/tools) @@ -6444,7 +6444,7 @@ "ctV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor,/area/engine/equipmentstorage) "ctW" = (/turf/simulated/floor,/area/engine/equipmentstorage) "ctX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engine/equipmentstorage) -"ctY" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/device/pipe_freezer,/obj/item/device/pipe_freezer,/turf/simulated/floor,/area/atmos) +"ctY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/weapon/crowbar/large,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/equipmentstorage) "ctZ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/atmos) "cua" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/t_scanner,/turf/simulated/floor,/area/atmos) "cub" = (/turf/simulated/floor,/area/atmos) @@ -6733,7 +6733,7 @@ "czy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/equipmentstorage) "czz" = (/obj/structure/disposalpipe/segment,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor,/area/engine/equipmentstorage) "czA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/device/multitool{pixel_x = 5},/turf/simulated/floor,/area/engine/equipmentstorage) -"czB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar/large,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/equipmentstorage) +"czB" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/table,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/device/pipe_freezer,/obj/item/device/pipe_freezer,/turf/simulated/floor,/area/atmos) "czC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) "czD" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) "czE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/crew_quarters/captain) @@ -8617,13 +8617,17 @@ "djK" = (/obj/machinery/computer/shuttle_control/specops,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) "djL" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/turret_protected/ai) "djM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/turret_protected/ai) +"djN" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) +"djO" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/color/rainbow{pixel_x = 3; pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "djP" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CREED"; name = "Spec Ops Ready Room"; pixel_y = 16; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "ASSAULT"; name = "Mech Storage"; pixel_y = -4; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "WEAPONS"; name = "Armory Door"; pixel_y = 6; req_access_txt = "108"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) "djQ" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) "djR" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/obj/machinery/computer/shuttle_control{name = "gamma operations control console"; req_one_access_txt = "32"; shuttle_tag = "Gamma"},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) "djS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) "djT" = (/turf/simulated/wall/r_wall,/area/aisat) "djU" = (/turf/simulated/wall/r_wall,/area/aisat/maintenance) +"djV" = (/obj/structure/closet,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/obj/item/clothing/gloves/color/black,/turf/simulated/floor/plating,/area/exploration/methlab) "djW" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; pixel_y = -25; req_access_txt = "101"; tag_door = "specops_centcom_dock_inner"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"djX" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/shoes/jackboots,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/gloves/color/black,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor,/area/traitor/kitchen) "djY" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/specops) "djZ" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/specops) "dka" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/specops) @@ -9013,7 +9017,6 @@ "drv" = (/obj/structure/rack,/obj/item/clothing/under/chameleon/all{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/soviet,/obj/item/clothing/under/pirate{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "drw" = (/obj/structure/rack,/obj/item/clothing/glasses/material{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/thermal{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "drx" = (/obj/structure/rack,/obj/item/clothing/glasses/sunglasses{pixel_x = -3; pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/hud/health_advanced{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dry" = (/obj/structure/rack,/obj/item/clothing/gloves/black/thief{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/rainbow{pixel_x = 3; pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "drz" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = -3; pixel_y = 3},/obj/item/clothing/suit/armor/laserproof,/obj/item/clothing/suit/armor/vest{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "drA" = (/obj/mecha/combat/marauder/loaded,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "drB" = (/obj/machinery/camera{c_tag = "Mini Satellite Access"; dir = 4; network = list("SS13","MiniSat")},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engine/engineering) @@ -9166,7 +9169,6 @@ "dus" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) "dut" = (/obj/structure/rack,/obj/item/clothing/mask/bandana/black,/obj/item/clothing/mask/balaclava,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "duu" = (/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"duv" = (/obj/structure/rack,/obj/item/clothing/gloves/black/thief,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "duw" = (/turf/unsimulated/wall,/area/tdome) "dux" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/Doorhatchele.dmi'; icon_state = "door_closed"; name = "locked door"},/area/tdome) "duy" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) @@ -9986,7 +9988,6 @@ "dKg" = (/turf/simulated/mineral,/area) "dKh" = (/obj/machinery/floodlight{in_use = 1},/turf/simulated/floor/plating,/area/exploration/methlab) "dKi" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/exploration/methlab) -"dKj" = (/obj/structure/closet,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/obj/item/clothing/gloves/black,/turf/simulated/floor/plating,/area/exploration/methlab) "dKk" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/plating,/area/exploration/methlab) "dKl" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating,/area/exploration/methlab) "dKm" = (/obj/machinery/door/airlock/external{name = "Crackden Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab) @@ -12239,7 +12240,6 @@ "eBx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/traitor/kitchen) "eBy" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor,/area/traitor/kitchen) "eBz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 0; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/traitor/kitchen) -"eBA" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/shoes/jackboots,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor,/area/traitor/kitchen) "eBB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 8},/obj/machinery/light_switch{pixel_x = -24; pixel_y = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/empty) "eBC" = (/obj/structure/table,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/chem) "eBD" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/chem) @@ -13201,7 +13201,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaakqaabcvIcvJcvJcvKcvLcvMcvMcvMcvLcvMcvMcvMcvLcvMcvMcvNcvJcvJcvJcvJcvJcvOcvPcvQcvRcvScvTcvUcvVcvWbYrcoacvXcolcolcolcolcvYcuVcHqcvZcwacwbcwccwdcwecwfcwgcwhcwicwjcwkcwlcwmcwncwocwpcwqctTcwrctWctWctWcwscJXcHScHScubcwvcwwcwxcwycwzcwAcwBcwCcwDcwEcwFeIrcwGcumcwHcupcupctgaaaaaaaabeQacwIcvocwJeQbcwKcwLctlcwMcvucwNcwOcvucwPcwQcvxcwNcwRePPaaaaaaeOlcoPcoQcoPcwScoScoTcwTcvAcwUcwVcoTcwWePyePyePyeOlaaaaaacqOaaacsEcsEcsEcsEcsEaabcsFaabcsEcsEcsEcsEcsEaabcqOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaacuaaaaabaaaaabaabcwXaabaaaaabcwXaabaaaaabcwXaabaaaaaaaaaaaaaaaaaaaaaaaaeIteIseICcwYcwZcxacKwcxbbYrcxccuRcuRcuRcuRcxdcuRcvWcHqcxecxfcxgcxhcxicxjcxkcxlcxmcxncxocxpcxqcxrcxscxtcxuctSctTcxvcxwctWctWcxxcJXcsecsfcubcxAcsVcxBeIDcxCcxDcxEcxFcxGcxHcxGeIEaabctgctgctgctgctgaabaabaabeQecxJcvocwJeQbcxKcxLcxMcxNeQgeQfeQheQhcxPeQheQjeQieQbeQkaaaaaaeOlcoPcoPcoPeQdcxRcxScxTcqMcxUctwctwctwcxVcxWcxXeQlaaaaaacqOaabctActBctBctBctBctCctDctEctFctFctFctFcxZaabcqOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaacuacuakqaabaabcqccyacqeaaacqccyacqeaaacqccyacqeaabaaaaaaaaaaaaaaaaaaaaaaabaabeIFcKwcKwcKwcKweIGcfHcybbYrcycbYrbYrcuVcydbYrcHqcyecyfcygcyhcyicyjcykcylcymcyncyocypcyqcyrcyscytcyucyvcywcyxcyycyzcyAcyBeIHcsTcwxcyEcyFcyGcyHcyIcyJcyKcyLcyMcyNcyOcyPeIIculcumcyQcyRcyRctgaaaaaaaabeQacyScvocyTeQbcyUcyVcyVcyWeQbcyXcyYcyZczaczbczcczdczaeQmaaacuqeOleOleOleOleOlczecoTczfcnSczgcnSczhcnSczicnSczjeQnaaaaaacqOaabcuKcuKcuKcuKcuKaaacsFaabcuKcuKcuKcuKcuKaaacqOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaaaaaaacqccyacqeaabcqccyacqeaaacqccyacqeaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabczlczlczlczlczlczlczlczmczlczlcHqcznczocxgcxgczpczqczrczsczteIpczuczvcwmczwczxeIpczyctWczzczAczBczCcyAczDeIJctYczGczHczIczJczGczKczLczMczNcubczOczPczQeIKaabcvkczRczSczTctgaaaaaaaaaeQaeQbczUeQoeQbczVczWczXczYczZcvocAacAbczacAccAdcAecAfeQpaabaaaaaaaaaaaaaaaeOlcAhcAicAjcAkcAlcAmcAncAocAlcAmcApeOlaaaaabcnZaaaaabaaaaabaaaaabaaacAqaaaaabaaaaabaabaabaabcqOaaaaaaaaaaaaaaaaaaaaaaaacAraaaaaaaaacAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMIaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaaaaaaacqccyacqeaabcqccyacqeaaacqccyacqeaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabczlczlczlczlczlczlczlczmczlczlcHqcznczocxgcxgczpczqczrczsczteIpczuczvcwmczwczxeIpczyctWczzczActYczCcyAczDeIJczBczGczHczIczJczGczKczLczMczNcubczOczPczQeIKaabcvkczRczSczTctgaaaaaaaaaeQaeQbczUeQoeQbczVczWczXczYczZcvocAacAbczacAccAdcAecAfeQpaabaaaaaaaaaaaaaaaeOlcAhcAicAjcAkcAlcAmcAncAocAlcAmcApeOlaaaaabcnZaaaaabaaaaabaaaaabaaacAqaaaaabaaaaabaabaabaabcqOaaaaaaaaaaaaaaaaaaaaaaaacAraaaaaaaaacAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMIaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaakqaabcqccyacqeaaacqccyacqeaaacqccyacqeaabaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaabaabaabczlcAscAscAtcAucAvcAvcAwcAxcAycAzcygcyhcxgcxgcxgcAAcxgcxgcxgeIpeILcACcADcAEcAFeIMeINcAHeIOcAJcAKcALeIQeIPeIRcANcuccuacxAcsVcAQcARcAScATcAUcubczOcAVcAWeIScAYcumcAZcyRcyRctgaabaaaaaaeQecBacBbcBccBdcBecBfcBecBecBgcBhcBicBjcBjcBkcBlcBmcBneQqaabaabaaaaaaaaaaaaeOlcBpcBqcBrePycBscBtcBuePycBvcBwcBxeOlaaaaaacqOaaacsEcsEcsEcsEcsEaabcqPaabcsEcsEcsEcsEcsEaabcqOaaaaaaaaaaaaaaaaaaaaaaaacArcArcArcArcAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaakqaabcqccyacqeaaacqccyacqeaabcqccyacqeaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaaczlcAscAscAtcBycBycBycBzcBzcBAcHqcBBcBCcBDcBEcBFcBGcBHcBIcBIcBIcBJcBKcxgcxgcxgcBLcBMcBNeITcBOcBPcBQeIVeIUcHqeIWeIWcBTcxAcsVcBUcBVcBWcBXcBYcubcBZcCacCbeIXcCdctgctgctgctgctgaaaaaaaaaeQacCecCfcCgcChcCicCjcCicCicCkcClcCmcCncBncCocCpcAeczaeQraabaabaaaaaaaaaaaaeOlcCrcoPcoPePycCscoPcoPePycCscoPcoPeOlaaaaaacqOaabctActBctBctBctBcCtcCucCtctFctFctFctFcxZaabcqOaaacAraaaaaacAraaaaaacArcArcArcArcArcArcAraaaaaacAraaaaaacAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaakUaabcqccCvcqeaaacqccCvcqeaaacqccCvcqeaabakqaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaabczlcCwcCxcBycBycBycCyeIYeIYeIZeIYeIYeIYeIYcCzcCAcCBcCCcCDcCDcCDcCEcCFcCGcCDcCDcCDcCFcCHcCIcCJcBPcCKeJaeIUcCMcCNeJbcCOcCPcCQcCRcCScAUcCTcCUcCVcCWcCXcCYeIIcCZcumcDacDbcDbctgaaaaaaaaaeQacDccDdcDecDfcDgcDhcDiczacDjcDkcDlcDmcDncDocDpcDqcDreQsaaaaaaaaaaaaaaaaaaeOlcDtcoPcoPePycDucoPcoPePycDucoPcoPeOlaaaaaacqOaabcuKcuKcuKcuKcuKaaacqPaaacuKcuKcuKcuKcuKaaacqOaaacArcArcArcAraaacArcArcArcArcArcArcArcArcAraaacArcArcArcAraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -13486,7 +13486,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrgdredrhdridridridridridrhdrfdrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadredrhdrjdrkdrldrmdrndrodrpdrqdrfaaaaaaaaaaaaaaaaaadrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrsdrtdrtdrtdrtdrtdrudrqdrhdridrhdridrhdridrhdrhdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrvdrtdrwdrxdrydrtdrzdrqdrAdrtdgwdrtdrCdrDdrEdrFdrqdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrvdrtdrwdrxdjOdrtdrzdrqdrAdrtdgwdrtdrCdrDdrEdrFdrqdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrGdrtdrHdrIdrJdrtdrKdrqdrtdrtdrtdrtdrtdrtdrtdrLdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrMdrNdrtdrtdrtdrNdrOdrqdrPdrtdrQdrtdrRdrDdrEdrFdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrqdrhdrhdrtdrtdrtdrhdrhdrqdrtdrtdrtdrtdrtdrtdrtdrSdrqdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -13514,7 +13514,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrtdrtdrtdrtdrtdrtdrtdrtdrtdrtdrqaaadrqduldsQdsQdujdsQdsQdumdrqdrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldridridridridridridridridridsjdrtdrtdrqaaadrqdundsQdsQdsQdsQdsQduodrqdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaadsldrhdupduqdurduqdusdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaadsldrhdutduuduvdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaadsldrhdutduudjNdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaduwduwduwduwduxduwduwduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaaaaaduyduzduAduBduyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaduwduCduDduDduDduDduEduwduwduwduwduwduwduwduwduxduwduwduwduwduwduwduwduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaadsldrhdrhduFdrhdrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaduwduCduDduDduDduDduEduwduGduHduIduHduJduKduKduKduKduKduJduKduJduKduLduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrqaaaaaaaaadslaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -13984,7 +13984,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgaaaaaadKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKedJZdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdJZdKeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKgdKgdKgdKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJZdJZdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdJZdJZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKhdKidKjdKkdKkdKldKmdKndKodKpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKhdKidjVdKkdKkdKldKmdKndKodKpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKqdKndKodKodKrdKxdKndKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKtdKodKodKudKgdKodKodKvdKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKgdKgdKgdKwdKodRLdKydKgdKndKodKgdKgdKgdKgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKfdKbdKbdKbdKbdKbdKbdKfdKddJZdKbdJZdKddKfdKbdKbdKbdKbdKbdKbdKfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -14711,7 +14711,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvVeATeAUeAVdvVeAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvVeAUeAUeAXdCadAdeBaeAZeAYdCadCaelGdDYdCgdCgdCgeBbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCkeCjeCjeBleBceBceBceBceAReBdeARdCaeBeeBfeBgeBheBidCaeBjeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBmeBneBoeBpeBqeBreBseBteBueBveBweBxeByeBzeBgeBAdCaeBBeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBmeBneBoeBpeBqeBreBseBteBueBveBweBxeByeBzeBgdjXdCaeBBeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBCeBDeBEeBFeBGeBGeBHeBIeBJeBKeBLeBMeBNeBOeBPeBQeBReBSeBkeBkeBkeBkeClaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeCmeBTeBUeBVeBWeBXeBYeBZeCaeCbeCceCdeCeeCfeCgeBgeChdCaeCieBkeBkeBkeBkeDlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDCeDteDteDseBceBceBceBceCneCoeCpdCaeCqeCreCseCteCudCaeBkeCveCweCxeBkelGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa