diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 7a5e2a5e644..59afd4794db 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -28,6 +28,7 @@ var/list/ai_list = list() var/viewalerts = 0 var/lawcheck[1] var/ioncheck[1] + var/lawchannel = "Common" // Default channel on which to state laws var/icon/holo_icon//Default is assigned when AI is created. var/obj/item/device/pda/ai/aiPDA = null var/obj/item/device/multitool/aiMulti = null @@ -413,9 +414,12 @@ var/list/ai_list = list() // src << text ("Switching Law [L]'s report status to []", lawcheck[L+1]) checklaws() - if(href_list["say_word"]) - play_vox_word(href_list["say_word"], null, src) - return + if (href_list["lawr"]) // Selects on which channel to state laws + var/setchannel = input(usr, "Specify channel.", "Channel selection") in list("State","Common","Science","Command","Medical","Engineering","Security","Supply","Binary","Holopad", "Cancel") + if(setchannel == "Cancel") + return + lawchannel = setchannel + checklaws() if (href_list["lawi"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite var/L = text2num(href_list["lawi"]) @@ -427,7 +431,11 @@ var/list/ai_list = list() if (href_list["laws"]) // With how my law selection code works, I changed statelaws from a verb to a proc, and call it through my law selection panel. --NeoFite statelaws() - + + if(href_list["say_word"]) + play_vox_word(href_list["say_word"], null, src) + return + if (href_list["track"]) var/mob/target = locate(href_list["track"]) in mob_list var/mob/living/silicon/ai/A = locate(href_list["track2"]) in mob_list diff --git a/code/modules/mob/living/silicon/ai/laws.dm b/code/modules/mob/living/silicon/ai/laws.dm index 2d41ac43941..ab6b19e6190 100755 --- a/code/modules/mob/living/silicon/ai/laws.dm +++ b/code/modules/mob/living/silicon/ai/laws.dm @@ -51,24 +51,32 @@ src.laws_sanity_check() src.laws.clear_supplied_laws() - - - - /mob/living/silicon/ai/proc/statelaws() // -- TLE // set category = "AI Commands" // set name = "State Laws" - src.say("Current Active Laws:") + /var/prefix = "" + switch(lawchannel) + if("Common") prefix = ";" + if("Science") prefix = ":n " + if("Command") prefix = ":c " + if("Medical") prefix = ":m " + if("Engineering") prefix = ":e " + if("Security") prefix = ":s " + if("Supply") prefix = ":u " + if("Binary") prefix = ":b " + if("Holopad") prefix = ":h " + else prefix = "" + + src.say("[prefix]Current Active Laws:") + //src.laws_sanity_check() //src.laws.show_laws(world) var/number = 1 sleep(10) - - if (src.laws.zeroth) if (src.lawcheck[1] == "Yes") //This line and the similar lines below make sure you don't state a law unless you want to. --NeoFite - src.say("0. [src.laws.zeroth]") + src.say("[prefix]0. [src.laws.zeroth]") sleep(10) for (var/index = 1, index <= src.laws.ion.len, index++) @@ -76,7 +84,7 @@ var/num = ionnum() if (length(law) > 0) if (src.ioncheck[index] == "Yes") - src.say("[num]. [law]") + src.say("[prefix][num]. [law]") sleep(10) for (var/index = 1, index <= src.laws.inherent.len, index++) @@ -84,7 +92,7 @@ if (length(law) > 0) if (src.lawcheck[index+1] == "Yes") - src.say("[number]. [law]") + src.say("[prefix][number]. [law]") sleep(10) number++ @@ -95,7 +103,7 @@ if (length(law) > 0) if(src.lawcheck.len >= number+1) if (src.lawcheck[number+1] == "Yes") - src.say("[number]. [law]") + src.say("[prefix][number]. [law]") sleep(10) number++ @@ -106,8 +114,6 @@ var/list = "Which laws do you want to include when stating them for the crew?

" - - if (src.laws.zeroth) if (!src.lawcheck[1]) src.lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite @@ -144,6 +150,8 @@ src.lawcheck[number+1] = "Yes" list += {"[src.lawcheck[number+1]] [number]: [law]
"} number++ - list += {"

State Laws"} + + list += {"
Channel: [src.lawchannel]
"} + list += {"State Laws"} usr << browse(list, "window=laws") \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm index 04961298fa2..84377b6adb4 100644 --- a/code/modules/mob/living/silicon/robot/laws.dm +++ b/code/modules/mob/living/silicon/robot/laws.dm @@ -108,3 +108,92 @@ if(2) var/datum/ai_laws/lawtype = pick(typesof(/datum/ai_laws/default) - /datum/ai_laws/default) laws = new lawtype() + +/mob/living/silicon/robot/proc/statelaws() // -- TLE +// set category = "AI Commands" +// set name = "State Laws" + src.say("Current Active Laws:") + //src.laws_sanity_check() + //src.laws.show_laws(world) + var/number = 1 + sleep(10) + + if (src.laws.zeroth) + if (src.lawcheck[1] == "Yes") //This line and the similar lines below make sure you don't state a law unless you want to. --NeoFite + src.say("0. [src.laws.zeroth]") + sleep(10) + + for (var/index = 1, index <= src.laws.ion.len, index++) + var/law = src.laws.ion[index] + var/num = ionnum() + if (length(law) > 0) + if (src.ioncheck[index] == "Yes") + src.say("[num]. [law]") + sleep(10) + + for (var/index = 1, index <= src.laws.inherent.len, index++) + var/law = src.laws.inherent[index] + + if (length(law) > 0) + if (src.lawcheck[index+1] == "Yes") + src.say("[number]. [law]") + sleep(10) + number++ + + + for (var/index = 1, index <= src.laws.supplied.len, index++) + var/law = src.laws.supplied[index] + + if (length(law) > 0) + if(src.lawcheck.len >= number+1) + if (src.lawcheck[number+1] == "Yes") + src.say("[number]. [law]") + sleep(10) + number++ + + +/mob/living/silicon/robot/verb/checklaws() //Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew. --NeoFite + set category = "Robot Commands" + set name = "State Laws" + var/list = "Which laws do you want to include when stating them for the crew?

" + + if (src.laws.zeroth) + if (!src.lawcheck[1]) + src.lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite + list += {"[src.lawcheck[1]] 0: [src.laws.zeroth]
"} + + for (var/index = 1, index <= src.laws.ion.len, index++) + var/law = src.laws.ion[index] + + if (length(law) > 0) + + + if (!src.ioncheck[index]) + src.ioncheck[index] = "Yes" + list += {"[src.ioncheck[index]] [ionnum()]: [law]
"} + src.ioncheck.len += 1 + + var/number = 1 + for (var/index = 1, index <= src.laws.inherent.len, index++) + var/law = src.laws.inherent[index] + + if (length(law) > 0) + src.lawcheck.len += 1 + + if (!src.lawcheck[number+1]) + src.lawcheck[number+1] = "Yes" + list += {"[src.lawcheck[number+1]] [number]: [law]
"} + number++ + + for (var/index = 1, index <= src.laws.supplied.len, index++) + var/law = src.laws.supplied[index] + if (length(law) > 0) + src.lawcheck.len += 1 + if (!src.lawcheck[number+1]) + src.lawcheck[number+1] = "Yes" + list += {"[src.lawcheck[number+1]] [number]: [law]
"} + number++ + + list += {"

State Laws"} + + usr << browse(list, "window=laws") \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d493989c58a..1042f57f7bf 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -63,6 +63,8 @@ var/weapon_lock = 0 var/weaponlock_time = 120 var/lawupdate = 1 //Cyborgs will sync their laws with their AI by default + var/lawcheck[1] //For stating laws. + var/ioncheck[1] //Ditto. var/lockcharge //Used when locking down a borg to preserve cell charge var/speed = 0 //Cause sec borgs gotta go fast //No they dont! var/scrambledcodes = 0 // Used to determine if a borg shows up on the robotics console. Setting to one hides them. @@ -1232,6 +1234,25 @@ else src << "Module isn't activated" installed_modules() + + if (href_list["lawc"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite + var/L = text2num(href_list["lawc"]) + switch(lawcheck[L+1]) + if ("Yes") lawcheck[L+1] = "No" + if ("No") lawcheck[L+1] = "Yes" +// src << text ("Switching Law [L]'s report status to []", lawcheck[L+1]) + checklaws() + + if (href_list["lawi"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite + var/L = text2num(href_list["lawi"]) + switch(ioncheck[L]) + if ("Yes") ioncheck[L] = "No" + if ("No") ioncheck[L] = "Yes" +// src << text ("Switching Law [L]'s report status to []", lawcheck[L+1]) + checklaws() + + if (href_list["laws"]) // With how my law selection code works, I changed statelaws from a verb to a proc, and call it through my law selection panel. --NeoFite + statelaws() return /mob/living/silicon/robot/proc/radio_menu() diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 0428d8d2b5b..72433b91105 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -6724,7 +6724,7 @@ "czp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Flora Laboratories"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "czq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Flora Laboratories"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "czr" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) -"czs" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/screwdriver,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/device/analyzer/plant_analyzer,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/minihoe,/obj/item/weapon/minihoe,/obj/item/weapon/wirecutters,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/light_switch{pixel_x = -10; pixel_y = 26},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Xenobiology Flora Lab APC"; pixel_x = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) +"czs" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/screwdriver,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/device/analyzer/plant_analyzer,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/minihoe,/obj/item/weapon/minihoe,/obj/item/weapon/wirecutters,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/light_switch{pixel_x = -8; pixel_y = 26},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Xenobiology Flora Lab APC"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "czt" = (/obj/structure/table,/obj/item/weapon/storage/box/botanydisk,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "czu" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology/flora) "czv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 1; on = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab) diff --git a/maps/cyberiad.dmm.backup b/maps/cyberiad.dmm.backup index 507467d048d..0428d8d2b5b 100644 --- a/maps/cyberiad.dmm.backup +++ b/maps/cyberiad.dmm.backup @@ -2422,7 +2422,7 @@ "aUD" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library) "aUE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) "aUF" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library) -"aUG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) +"aUG" = (/obj/structure/flora/kirbyplants,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/captain) "aUH" = (/obj/machinery/door/morgue{name = "Confession Booth (Chaplain)"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aUI" = (/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) "aUJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/securehallway) @@ -2548,7 +2548,7 @@ "aWZ" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXa" = (/obj/structure/noticeboard{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXb" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("SS13")},/obj/structure/flora/kirbyplants,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) +"aXc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) "aXd" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "aXe" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "aXf" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) @@ -3063,7 +3063,7 @@ "bgU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bgV" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bgW" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Captain's Office APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bgX" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bgX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) "bgY" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne) "bgZ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/ne) "bha" = (/obj/structure/sign/directions/evac{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 7},/obj/structure/sign/directions/science{dir = 4},/turf/simulated/wall,/area) @@ -3853,7 +3853,7 @@ "bwe" = (/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2,/obj/structure/table,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry) "bwf" = (/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin,/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Medbay Medicine Storage"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry) "bwg" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry) -"bwh" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) +"bwh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/poddoor/shutters{dir = 2; id = "paramedic"; name = "Paramedic Garage"},/turf/simulated/floor,/area/medical/paramedic) "bwi" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) "bwj" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) "bwk" = (/obj/machinery/status_display,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area) @@ -4947,7 +4947,7 @@ "bRg" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/janitor) "bRh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/janitor) "bRi" = (/obj/machinery/light,/obj/structure/janitorialcart,/turf/simulated/floor,/area/janitor) -"bRj" = (/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/turf/simulated/floor,/area/janitor) +"bRj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/diamond{name = "Paramedic"; req_access_txt = "66"},/turf/simulated/floor,/area/medical/paramedic) "bRk" = (/turf/simulated/floor,/area/janitor) "bRl" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/janitor) "bRm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -4957,7 +4957,7 @@ "bRq" = (/obj/structure/closet/secure_closet/paramedic,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "bRr" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Paramedic Bay"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "bRs" = (/obj/machinery/iv_drip,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bRt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/mob/living/simple_animal/mouse,/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) +"bRt" = (/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/janitor) "bRu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) "bRv" = (/obj/machinery/vending/medical,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay2) "bRw" = (/obj/machinery/camera{c_tag = "Medbay Chief Medical Officer's Office"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/cmo) @@ -5777,7 +5777,7 @@ "che" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bot"},/area/crew_quarters/recruit) "chf" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Mech Bay"; req_access_txt = "29"; req_one_access_txt = "0"},/turf/simulated/floor,/area/assembly/chargebay) "chg" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{dir = 2; id = "mechbay"; name = "Mech Bay"},/turf/simulated/floor{icon_state = "delivery"},/area/assembly/chargebay) -"chh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) +"chh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/mob/living/simple_animal/mouse,/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "chi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = null; req_access_txt = "57"},/turf/simulated/floor,/area/crew_quarters/heads) "chj" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "recruiter"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor,/area/crew_quarters/recruit) "chk" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = 5; pixel_y = 27},/obj/machinery/holosign_switch{id = "surgery2"; pixel_x = -5; pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -5917,12 +5917,12 @@ "cjO" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) "cjP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area) "cjQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area) -"cjR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor/shutters{dir = 2; id = "paramedic"; name = "Paramedic Garage"},/turf/simulated/floor,/area/medical/paramedic) +"cjR" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 5; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "cjS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cjT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cjU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cjV" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cjW" = (/obj/machinery/door/airlock/diamond{name = "Paramedic"; req_access_txt = "66"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/paramedic) +"cjW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) "cjX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cjY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cjZ" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -12496,10 +12496,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayAaaiaaiaaianEanGayAanEanGaaianEanGaaiaaiaaiaaibrgaBNaBNaBNaBNaBObbPaaibddbdebdfbdgaaqaaiaSbbbWaQGaaibmlbdhbdiaXTaXTaaiaSkaNSaZmaNSaSkaaibnMaYabdjbdkbdlaaiaYeaYfaSnaSnaSnbdmbdnbdobdpbdqbdrbaUbdsbdtbdubdvbdwbdxbdybdzbdAbdBbdCbdqbdDbdEbdFbdGbdHbdIbdJbdKbdLaSNbdMaaqaWZaZGbdNaZIaWZbdObdPaWZbdQbdRaZIaWZaXKaYyaYyaYyaYzaYybdTaYybbnbbobdUaaqbdVbcGaYJaYKaYKaYJbcHbsAaaqbdWbdXbdXbdYbdZbeabebbecbedbedbedbedbedbedbeebefbegaYSaYSaYSaYSaYSaYSbehbeibejaXAaUKaUKaUKaWlaUKaUKbekazGbelbelbelazGaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabembenbenbeobenbMFbenbenbeobepbeqberbesaLCaLCaLCaLCaLDbetaaiaaiaaiaaiaaiaaiaaiaSbbbWaQGaaiaaiaaiaaiaaiaaiaaibeuaNSaZmaNSbevaaiaaiaqAaaiaaiaaiaaiaYebewbexbeybezbeAbeBbeCactbeDbeEbeFbeGaaiaaiaaiaaiaaiaaibeHbeIaqsbeJbdtbeKbeLaaibeMbeNbeObePbeQbeRaSNaSNeDVaWZbeSaWZaWZaWZaMuaWZaWZbeTbeTbeUbeUbeVaYyaYybeWbeXaYyaYyaYybeYbeZbfaaaqaZXbcGaYJaYJaYJaYJbcHbgiaaqbfbaQdaQdbfcaQdbfdaVXaVXaVXaVXbfeaVXaVXaVXbffbeiaYSaYSaYSaYSaYSaYSaYSbehbeibejaXAaUKaYVaYVaYWaYVaUKbfgazGbfhbfibfjazGaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabembenbenbenbenbenbenbenbenbenbenbfkaDHaBNaBNaBNaBNaBObbPaaibflbfmbfnbfobfpaaqbfqbbWaQGaaibfrbfsbftbfubfuacdaTRbfvbfwbfvaTRacdbfxbfybfzbfAbfBaaibfCbfDbfEaaiaaiaaiaaiaaiaaiaaqaLGaaqaaiaaiaaiaaiaaiaaiaaiaaiaaiaqAaaiaaiaPiaaiaaiaaiaaiaaiaaiaaibeRaSNaSNaaqbfHbfIaWZbfJaWZbfKaWZbfLbfMbfNbeUbfOaaqbfPbfQaaqaaqaRJaPmaPmaPmaaqaaqaaqbfTbfUbfVbfVbfVbfVbfUbfWaaqaQcaQdaQdbfcbfXaaqbfYbfZbgabcNbavbfZbgcbcNbgdaaqbgeaNhbgfaYSaYSbgfaNhbggaaqbghaXAaUKbaibaibajbaiaUKbekazGbelbelbelazGaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabembenbenbenbenbenbenbenbenaYPaUubgjbgkaJgaJgaJgbglaJhbbPaaibgmbgnbgobgobgoaIsbbVbbWaQGaaibgpbgqbgrbgsbgtaaibguaNSaZmaNSbgvaaibjdbgwbgxbfxbgyaaiblXbgAbgBaaibgCaEObgEbgFbgGbgHbgIbgJaaiaaibgKbgLbgMaWdbgObgPbgKaqAaaibgQbgRbgSbgTbgUbgVbgWbgXaaibgYbgZbgZbhaaaqaaqaaqaaqbhbeDVbhbbhcaaqanpaYuaaqaaqaaqaaqaaqbhdbhdbhdbhdbhdbhebhfaaqaZFbhgaZFbhhbhhaZFbhgaZFaaqaQcaQdaQdaKbbfXaaqaaqaaqaaqaaqaaJaaqaaqaaqaaqaaqaaJbhibhjbhjbhjbhjbhkaaqaaqbURbUSaUKaUKaUKaWlaUKaUKbdaaHubhmanFanFbhnaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayAaaiaaiaaianEanGayAanEanGaaianEanGaaiaaiaaiaaiaDHaBNaBNaBNaBOaBObbPaaibhpbhqbhrbhrbhraUTaQEbhsbbXaaibhtbhubhvbhwbhxbhyaVcbhzbhAbaFaVcbhBbhCbhDbhEbhFbhGaaibhHbhIbgBaXcbhKbhLbhMbhNbhNbhMbhObhPaaiaaibhQbhRbgKbhSbhTbhUbhVbhWbhXbhYbhZbiabibbicbidbiabieaaibifbigbihbiibijbikbilbimbimbimbimbimbimbinbimbimbiobimbipbimbimbimbimbimbimbimbimbiqbirbisbisbisbisbisbisbitbikbiubivbivbiwbixbiybixbizbixbiAbiBbiCbixbiDbiEbiFbiGbiHbiHbiHbiHbiHbiHbiHbiIbiJbiKbiKbiKbiKbiLbiKbiMbiNbiObiPbiQbbHbiRaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiSbiSbiSbiSbiSbiSbiSbiSbiSbiSaaaaaaaBIbiTaCSbiUbiVaBObiWbiXaaiaRXbiYbiYbiYbiZaaqbfqbbWaQGaaibjabgsbgrbgsbgsaaibgubjbbjcaaibgvaaibfAbjebjfbfAbjgaaibtWbhIbgBaUGbjibjjbjkbjlbjmbjnbhObjoaaiaaibjpbjqaaqaaqaaqbjrbjsaaiaqAbjtbiabiabibbjubidbiabjvaaibjwbihbihbiibijbikbimbimbimbimbimbimbimbjxbimbimbimbimbimbimbjybjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjAbjBbjCbiHbiHbjDaQdaQdaQdaQdaQdbfcaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdbjEaQdbjFbjGaUKaUKaUKaUKaUKaUKaUKbjHbdbbakanFanFbalaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiSbiSbiSbiSbiSbiSbiSbiSbiSbiSbiSaDEaDFaDGaaiaaiaaibjIaaiaaiaaibgmbiYbiYbiYcEzaaqaSbbbWaQGaaicEwbjJbjKbgsbgsaaibjLbjbbjMaaibjLaaicEvbjebjNbjObfAaaibjPbhIbgBchhbjRbjjbjkbjSbjTbjnbhObjUaaieAvbjWbjXaaqeAuaaqbjZbkaeAtaqAbkcbkdbkebkfbkfbkgbiabkhaaibkibkjbihbiibijbikbimbkkbimbimbimbimbklbkmbkmbkmbkmbknbimbimbimbimbkobimbkkbkpbimbkqbkrbksbimbktbkubkubkvbkwbkxbkyaQdaQdaQdaQdaQdaQdaQdbkzbkAbkBaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdbkCbkDbkDbkEbkFbkGbkHbkIbkIbkIbkJbkKbkLaDBaaaaaaaaabkMaLqaLqaLqaLqaLqaLqaaaaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabembenbenbenbenbenbenbenbenaYPaUubgjbgkaJgaJgaJgbglaJhbbPaaibgmbgnbgobgobgoaIsbbVbbWaQGaaibgpbgqbgrbgsbgtaaibguaNSaZmaNSbgvaaibjdbgwbgxbfxbgyaaiblXbgAbgBaaibgCaEObgEbgFbgGbgHbgIbgJaaiaaibgKbgLbgMaWdbgObgPbgKaqAaaibgQbgRbgSbgTbgUbgVbgWaUGaaibgYbgZbgZbhaaaqaaqaaqaaqbhbeDVbhbbhcaaqanpaYuaaqaaqaaqaaqaaqbhdbhdbhdbhdbhdbhebhfaaqaZFbhgaZFbhhbhhaZFbhgaZFaaqaQcaQdaQdaKbbfXaaqaaqaaqaaqaaqaaJaaqaaqaaqaaqaaqaaJbhibhjbhjbhjbhjbhkaaqaaqbURbUSaUKaUKaUKaWlaUKaUKbdaaHubhmanFanFbhnaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayAaaiaaiaaianEanGayAanEanGaaianEanGaaiaaiaaiaaiaDHaBNaBNaBNaBOaBObbPaaibhpbhqbhrbhrbhraUTaQEbhsbbXaaibhtbhubhvbhwbhxbhyaVcbhzbhAbaFaVcbhBbhCbhDbhEbhFbhGaaibhHbhIbgBbgXbhKbhLbhMbhNbhNbhMbhObhPaaiaaibhQbhRbgKbhSbhTbhUbhVbhWbhXbhYbhZbiabibbicbidbiabieaaibifbigbihbiibijbikbilbimbimbimbimbimbimbinbimbimbiobimbipbimbimbimbimbimbimbimbimbiqbirbisbisbisbisbisbisbitbikbiubivbivbiwbixbiybixbizbixbiAbiBbiCbixbiDbiEbiFbiGbiHbiHbiHbiHbiHbiHbiHbiIbiJbiKbiKbiKbiKbiLbiKbiMbiNbiObiPbiQbbHbiRaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiSbiSbiSbiSbiSbiSbiSbiSbiSbiSaaaaaaaBIbiTaCSbiUbiVaBObiWbiXaaiaRXbiYbiYbiYbiZaaqbfqbbWaQGaaibjabgsbgrbgsbgsaaibgubjbbjcaaibgvaaibfAbjebjfbfAbjgaaibtWbhIbgBaXcbjibjjbjkbjlbjmbjnbhObjoaaiaaibjpbjqaaqaaqaaqbjrbjsaaiaqAbjtbiabiabibbjubidbiabjvaaibjwbihbihbiibijbikbimbimbimbimbimbimbimbjxbimbimbimbimbimbimbjybjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjzbjAbjBbjCbiHbiHbjDaQdaQdaQdaQdaQdbfcaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdbjEaQdbjFbjGaUKaUKaUKaUKaUKaUKaUKbjHbdbbakanFanFbalaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiSbiSbiSbiSbiSbiSbiSbiSbiSbiSbiSaDEaDFaDGaaiaaiaaibjIaaiaaiaaibgmbiYbiYbiYcEzaaqaSbbbWaQGaaicEwbjJbjKbgsbgsaaibjLbjbbjMaaibjLaaicEvbjebjNbjObfAaaibjPbhIbgBcjWbjRbjjbjkbjSbjTbjnbhObjUaaieAvbjWbjXaaqeAuaaqbjZbkaeAtaqAbkcbkdbkebkfbkfbkgbiabkhaaibkibkjbihbiibijbikbimbkkbimbimbimbimbklbkmbkmbkmbkmbknbimbimbimbimbkobimbkkbkpbimbkqbkrbksbimbktbkubkubkvbkwbkxbkyaQdaQdaQdaQdaQdaQdaQdbkzbkAbkBaQdaQdaQdaQdaQdaQdaQdaQdaQdaQdbkCbkDbkDbkEbkFbkGbkHbkIbkIbkIbkJbkKbkLaDBaaaaaaaaabkMaLqaLqaLqaLqaLqaLqaaaaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiSbiSbiSbiSbiSbiSbiSbiSbiSbiSbiSbkNbkObkPbkQbkRbkSbkTbkUbkVaaibflbkWbkWbkXbkYaaqaSbbbWaQGaaiaaiaaiaaiaaiaaiaaiaaibjbbkZaaiaaiaaiaaiaqAaaiaaiaaiaaiblabhIblbaaiblcbldbhMbhMbhMbhMbhObleaaiaaiblfblgblhblibljblgblkaaiaqAaaibllblmblnbloblpblqblraaiblsbltbltaaiaaiaaiaaiaaiaaiaaiaaqaaqblublvblwblwblvbluaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqblxblyaaqaaqaaqaaqaaiblzanpblAaQdaQdblBblBaaiaaiaaiaaiaaiblCbkDbkDbkCbkDaQdbkDbkDbkDbkDblDaaiblEaaiaaiblFaaiaaiblGblHblIaaiaaiaaiaaiaaiaaaaaaaaaaLqaLqaLqaLqaLqaLqaaaaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiSbiSbiSbiSbiSbiSbiSbiSbiSbiSbiSaFoaFpaDGblJblKblKblLblMblKaaiblNblNblNblOcheaaqaSbbbWaQGaaqblQblRblSblTblUaaiblVbjbblWaaieAsaaiblYblZbmabmbbmcaaqbmdbhIbmeaaibmfbmgbmhbmibmjbmkcElaaiaaiaaibmmbmnbmobmpbmqbmrbmsaaiaqAaaibmtbmubmvbmwblpbiabmxaaibmybmzbmAaaibmBbmCbmDbmEbmFbmGbmHbmIbmJbmKbmLbmLbmKbmMbmNbmOaaqbmPbmQbmRbmSaaqbmTbmUbmVbmWbmXbmYbmYbmZbnabnbabnaaichfaaichgchgaaibnebnfbngaaibnhbnibnhaaiblCbkDblDaaiaaibnjbnkaaibnlbnmaaibnnbnoaaibnpbnqbnrbnsbntbnubnvaaiaaaaaaaaaaLqaLqaLqaLqaLqaLqaaaaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiSbiSbiSbiSbiSbiSbiSbiSbiSbiSaaabnwaGubnxbnybkRbkRbnzbnAbnBaaiblPblPblPblPbnCaaqaSbbbWbnDaaqbnEbnFbnGbnFbnHaaibnIbnJbnKeArbnLaaicDRbnNbnObnObnPbnQbnRbhIbnSaaibnTaqAaaiaaiaaiaaicgaaaibnVactbnWbnXbgKbnYbgKbnZboaacdbobaaibocbiabodboeblpbofbogaaibohboibojaaibokbolbombonboobopboqbmLbmLbmLbmLbmLbmLbmLborbosbotboubovbowboxaaqboybozboAboBboCboDbozbmZbnabnbabnboEboFcgqboHboIaaqboJboKboJboLboMboNboOaaiaaqboPalkboQboRboSboSboSboTboUboVboWboXboVboYboZbpabpbbpcbpdbpeaaiaaaaaaaaaaLqaLqaLqaLqaLqaLqaaaaLqaLqaLqaLqaLqaLqaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12507,7 +12507,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFaaaaBIblJbkRbkRbkRbnzbnAbkRaaiblPblPbqHbiYbiYcjpaSbbbWaQGaaqbqJbqKbqLbqMbqNaaibqObqPbqQbqRbqSaaibqTbqUbqVbqWbqXbqYbqZbrabrbbrcbrdbrdbrebrfayOcGobrhactbriaFkbrjbrkbrlbrmbrnbrkbroaFkbrpaaiabnbrqaaiaaiaaiaaibrraaibrsbmzbrtactbrubrvbrwbrxbryaaibrzbrAbrBbrCbrDbrEbrFbrGborbrHaaqbrIbpZbrJbrKaaqbrLbrMboAboBbmZboDbozbmZbnabnbabnbrNbrObrPbrQbrRaFkbrSbrTbrUbrUbrVboJbrWaaibrXbrYbrZaaibsabsbbscbsdbsbbqzaaibqAbseaaibsfbsgbpabshbsibsjbskaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFaaaazGbslbsmblKblKblLblMddjaaiaaqchjcjccjbaaqaaqbfqbbWaQGaaqbsqbsrbssbstbsuaaibnLbpobsvbnLbnLaaibswbsxbsybszcFmaaqbsBbsCbsDaaqbsEaaiaaiabnaaiaqAchiaaibsGbsHbsIbrkbsJbrmbsJbrkbsKbsHbrpaaibsLbkfbsMbsNbsOabHbsPabHbsQbmzbsRaaibmBbmCbsSbsTbsUbsVbsWbsXbsYbsZbtabtbbtcbtdbtebtfblvbtgbthbticFnaaqbtkbtlbtmbtnbtobtpbtobmZbnabtqbtrbtsbttbttbtubtvbtwbtxbtybtzbtzbtAbtBbtCaaibtDbrYbtEaaibtFbsbbtGbtHbsbbtIaaibtJbtKaaibtLbsgbtMaaqaaqaaqaaqaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFaDEaDFbtNbtObkRbkRbnzbnAbnBaaibtPbiYbtQbiYbtRaaqaSbbbWaQGaaqaFobtSbtTbtUaQWaaieAxbtVeAwbtXbtYaaibtZbuabubbucbtZaaqbudbuebufaaqaaqaaibugbuhbuibujbukaaibulbumbunbuobupbuqbupburbusbutbuuaaibuvbkfbuwaaqbuxaaqbuyaaqbuzbmzbuAaaiaFobuBbtSbuCbuDaaqbuEbuFbuGbuHbuIbuIbuJbuKbuLbuMaaqbuNbuOanpaaqaaqaaqaaJbuPanpaaqaaiaaiaaibuQbuRabnbrNbrObrPbuSbttbuTbuUbuVbuVbuVbuWbuXbuYbuZaaiboPbvaaaibvbbvcbqybvdbvebvfaaibqAbvgaaicEAbvibvjbvkbvlbvmbvnaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbvobvpbvqbvrblKblKblLblMblKaaibvsbiYbvtbiYbvuaaqaSbbbWaQGbvvbvwbvxbvybvzbvAaaiaaiaaiaaibvBaaiaaibvCbvDbvEbvFbvGaaqbvHbvIbvJbvKbvLbvMbvNbvObvPbvQbvRaaibsGbvSbvTbrkbupbvUbupbrkbvVaaibrpaaibvWbvXbvYaaqbvZaaqbwaaaqbwbbmzbwcaaibwdbwebwfbwgbwhabHbwibwjbwkabHbXpbXDabHbwkbwnbwoazaazdbwpbwqbwrbwsbwtbwubwvbwwbwxaaibwybwzbwAbwBabnbwCbwDbwEbwFbwGaaqbwHbuVbuVbwIbwJbuXbwKaaibwLbwLbwMaaicxnbwObwPbwQbwPbwRaaibqAbwSaaicxCbwUbwVbwWbwXbwYbwZaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbvobvpbvqbvrblKblKblLblMblKaaibvsbiYbvtbiYbvuaaqaSbbbWaQGbvvbvwbvxbvybvzbvAaaiaaiaaiaaibvBaaiaaibvCbvDbvEbvFbvGaaqbvHbvIbvJbvKbvLbvMbvNbvObvPbvQbvRaaibsGbvSbvTbrkbupbvUbupbrkbvVaaibrpaaibvWbvXbvYaaqbvZaaqbwaaaqbwbbmzbwcaaibwdbwebwfbwgcjRabHbwibwjbwkabHbXpbXDabHbwkbwnbwoazaazdbwpbwqbwrbwsbwtbwubwvbwwbwxaaibwybwzbwAbwBabnbwCbwDbwEbwFbwGaaqbwHbuVbuVbwIbwJbuXbwKaaibwLbwLbwMaaicxnbwObwPbwQbwPbwRaaibqAbwSaaicxCbwUbwVbwWbwXbwYbwZaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFaFoaFpbtNblJbkRbkRbnzbnAbkRaaibxabhqbhrbhrbWCabHaQEbhsbbXaaqbxcbnNbxdbxebxfbxgbxhbxjbxibxibxkbxlbxmbxnbxebxoeASaaqbudbmzbxqbxrbxsbWDbxubxvbxwbxxbxyaaibsGaaiaaibxzbxAbxBbrkbxCbxDacdbxEaaiabnaaiaaiaaiaaiaaibxFaaibxGbmzbwcaaibxHbxIbxIbxJbxKaaqbxLbxMbxNbxObxPbxQbxRbxNbxSbxTbxUbxVbxWbxXbxYbxZbyabybbycbydbyebyfbygbyhbyibyjbWBbylbylbymbynbyoaaqbypboJboJbyqbyrbuXbysaaqbytbyubyvaaqaFobuBaQWbywaZFaaiaaibyxaaiaaibyybyzaaibyAbyBbyCbyDbpdbpdbyEbyFbyGaaiaaaaaaaabbyHbyIbyJbyIbyJbyIbyKaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbyMbyNbnxbnyblKblKblLblMblKaaibyObgnbgobyPbyQbVxbySbyTaQGaaqcuEbnNbxdbxebWmaaqbyVbyWbnObnObyXbyYbyZbxnbxebzabzbbzcbudbmzbzdbzebxsbUUbzgbzhbzibzjbzkbzlabubxDacdaqsbzmbvUbzmbxDbznaaiaaiaaibzobzpbzqbzrbzsbztbzuacdbzvbmzbwcbsVbzwbzxbzybzzbzAaaqbzBbzCbzDbzEbzFbzGbzHbzIbzJbzKbzLbzMbzNbzObzPbzQbzRbzSbzTbzUbzVaaibzWbzXbzYbzZaaibAabAbbAcbAdbAdaaqbAebAfbAgaaqbAhbuXbAiaBIbAjbAkbAlbAmbAnbAobApbAqbArbAsbAtbAubAvbAwbAxbAybAzbAAbyBbABbpdbpdbpdbACbADbAEaaiaaaaaaaabbAFbAGbAHbAIbAIbAJbAFaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFbqFaaabAKblJbkRbkRbkRbALbAMbANaaibAObAPbAQbULbASancbATbAUaQGaaqbAVbAWbAXbAYbAZbBabBbbBcbBdbBdbBebBabBfbBgbxebBhbUJaaqbBjbmzbzdbzebxsaaibBkbBlbBmbBnbBoabnbBpbBqbBrbeIacdbBsbBtbeIbBubBvbBwaaibBxbBybBzbBAbBBbBBbBCbBDbBEbmzbBFaaiaaqbBGaZFbBHbBIblybBJbBKaaqbBLbBMbzGbBNaaqbBJbBObBPaaqaaqaaqanpaaqaaqaaqbBQalraaqaaiaaicQqaaqaaqaaiaaiaaqaaJaaqaaqaaqaaqaaqaaqaaqbBSbBTaAWaAXbBUbBVbBWbBXbBXbBYbBZbCabCbbCcbCdbCebCfbCgbChbCiaaibCjbCkbClbpdbpdbpdbCmbAEbCnaaiaaaaaaaabbCobCpbAHbAIbAHbCqbyJaaaaaaaaaaaaaaaaaaaaaaaabhobhobhobhobhobhobhobhobhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12517,10 +12517,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLby aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbHaanFaAXbHbbHcbHcbHcbHdbHebHcbFObFObFObFObFObHfbHgbFObFObHfbFObFObFQbHhbHibEfaxZancancbCtancancancbHjbCzaaqbxgaaqaaqbudbmzbHkbHlbHmbHnbHobHpbHqbHrbHsbHtbHubHvbHwbHxbHybHzbHAbHBbHCbHDbHEbHDbHFbHGbHHbltbHIbmzbHJbHKbHLbmzbHMaaqbHNbHObHPbXMbHRbBJbHSbHTbHUbHVbHWbHXbHYbHZbIabIbbIcaaqbIdbIebIfbIgbIhbFabIibIjaaqbIkbDEbDEbDEbIlaaibImbInbIobIpbIqbIrbIsbItaaibIubIvbIwaaqaaqbIxbGIbIybIzbIAbIBbICbIDbIEbIFaaibIGaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibIHbFIcjwbIJbIKbILbIMbINaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNpaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbIObIPbIObIQbIQbIQbIQbIRbISbIQbIQbIQbIQbIQbIQbIQbITbIQbIQbIQbIQbIQbISbIUbIVbIQbIWbIXbIYbIZbJabJbbJcbJdbJebJfbJgbJgaaqbudbJhbJibmzbmzbwcbJjbltbHHbHGbJkbJlbJkbJmbJnbJnbJobJpbJqbJnbJnbJrbJnbJsbJnbHGbHHbltbJtbJubJvbJwbJxbJybmzaaqeAnbHObUIbUGbMpbBJbJCbJDbMEbMCbMGbJHbLwbLBbBJbJKbJLaaqaaqbJMbJNbJObJPbJQbJRbJSaaqbJTbJUbDEbJVbJWaaibImbJXbJYbJZbKabKbbKcbKdaaibKebKfbKgbKgaaqbKhbKibKjbKkbKlbKmbIEbKnbKobKpaaibFCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibKqbKrbKsbKsbKtbKubKvaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbKwbKxbKwbEbbEcbKybKzbKAbKBbKzbKCbKCbKDbKCbKCbKzbKEbKCbKCbKzbKCbKCbKFbKGbKHbKIabHbKJbKKbKLbKMbKLbKNbKObKPbKQbKRbKSaaqbudbKTbKUbKVbKWbKXbKYbKZbLabLbbLcbLdbLebLfbLgbLgbLhbLibLibLibLibLibLibLjbLkbLlbLmbLnbMMbMKbLqbLrbMPbMNbLtaaqbLubHObHPbMQbMpbBJbJCbJDbOmbLxbLybLzbLAbOnbzJbLCbLDaaqbLEbLFbLGaaqcbdaaqbLIavXaaqbLJbLKbLLbLMbLNaaibImbLObLPbIpbLQbLRckHbLTaaibLUbKfbKgbKgaaqbLVbLWbLXactbLYbLZbMaclhbMcbMdaaibFCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaibMeaaibFJaaiaaibFJaaiaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbHaanFbalbMfbFObFQbFObMgbMhbMibMibMibMjbMibMibMibMkbMibMibMlbMibMibMmbMnbMobMibBRbMqbMrbMsbMtbMsbMubMvbMwbMxbMybMzaaqbMAaaqbMBaaqaaqbGjeAibGjaaqaaqaaqbGbeAfbGiaaqaaqbMHbHGbHGbMIaaqaaqaaqanpbMJaaqaaqaaqbDXaaqaaqcjRaaqcjWanpaaqbMObHQbJEaaqbMRbBJbJCbMSaaibMTbMUbMVbMWaaibzBbJKbMXaaqbMYbMZbNabNbbNcbNdabHbNebNfbNgbNhbNibNjbNkaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibNlbNmbNnbNnaaqbNobNpbNqaaiaaiaaiaaiaaiaaiaaiaaibFCaaiaaabNrbNrbNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabbNsbNtbNtbNuaaqaaqaaiaaiaaiaaibNvaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbHaanFbalbMfbFObFQbFObMgbMhbMibMibMibMjbMibMibMibMkbMibMibMlbMibMibMmbMnbMobMibBRbMqbMrbMsbMtbMsbMubMvbMwbMxbMybMzaaqbMAaaqbMBaaqaaqbGjeAibGjaaqaaqaaqbGbeAfbGiaaqaaqbMHbHGbHGbMIaaqaaqaaqanpbMJaaqaaqaaqbDXaaqaaqbwhaaqbRjanpaaqbMObHQbJEaaqbMRbBJbJCbMSaaibMTbMUbMVbMWaaibzBbJKbMXaaqbMYbMZbNabNbbNcbNdabHbNebNfbNgbNhbNibNjbNkaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibNlbNmbNnbNnaaqbNobNpbNqaaiaaiaaiaaiaaiaaiaaiaaibFCaaiaaabNrbNrbNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabbNsbNtbNtbNuaaqaaqaaiaaiaaiaaibNvaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbKwbKxbKwbNwbHcbHebHcbNxbNybNzbNAbNAbNBbNAbNAbNCbNDbNAbNAbNEbNAbNAbNAbNAbNFbNGayObNHbNIbNJbNKbNJbNLbNMbNNbNObNPbKSaaqaaqaaqbNQayObNRbNSbNTbNUbNVaaqcvWbNXbNYbNZcvXaaqbObbOcbOdaaqbOebOfbOgbOhbOibOjbOkbOlbJGayObJJbJIbLvbLsbLpayObOtbOubOvbLobOxbOybOzbJDbOAbOBbOCbODbOEbOFbzJbOGbOHbOIbOJbOKbOKbOLbOMbONaaqbOObOPbOQbORbOSbOTbOUaaicfQbOWbOXaaibOYbOZbPabPbaaibPcbPdbPebPeaaqbPfbPgbGJaaibPhbPibPjbPkbPkbPjbPkbPlaaiaaabNrbPmbNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbPnbPobPpbPoaaqaaiaaibPqbPrbPqbPsaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbPtbPubPtbPvbPvbPwbPvbPvbPxbPvbPvbPvbPybPvbPvbPvbPzbPvbPvbPAbPvbPvbPvbPvbPvbPvbPBbPCbPDbMxbMxbMxbMxbMxbPEbPFbPGbPHbCzacvaaqbPIaaqeApbPKbPKbPKbPJaaqeAqbPMbPMbPMbPNbPObPPbPQbPRayObPSbPTbPUbPUbPVbPWaaqaaqbPXaaqbQcbQbbRpbRobRqaaqeAnbHPbUIbUGbQdbQebQfbQgactbRwbRzbQjbQiaaibQlbQmbQnbQobQpbQqbQrbQsbQtbQuaaqaaqaaqaaqaaqaaJaBpanlaaibQvbQwbQwbQxbPbbQybPbbQzaaibQAbKfbQBbQBaaqbGHbQCbGJaaiaaibQDaaiaaiaaiaaiaaiaaiaaiaaiaaibQEaaiaaiaaiaaiaaiaaiaaiaaiaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbQFbPobPobQGaaiaaibPqbPqbQHbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbHaanFaDGctmbEcbQIbEcbQJbQKbQLbFObFObQMbFObFObEcbQNbFObFObQObFObFObFObFOcrWbEfaaqcqPbQQbQRbQSbQTbQUbQVbQWbQXbQYbQZbRabCzaaqbPIaaqbPJbPKbRbbPKbSxaaqbPLbPMbRcbPMbPLaaqbRdbRebRfaaqbRgbRhbRibRjbRkbRlabHbRmbRnabHbRtbRrbSMbSJbRAaaqbRsbHPbHPbSRbQdbQebRubRvbQkbOBbSObRyczAbRxbRBbRCbRDaaqcuzbRFbQrbRGbRGbRGaaqbRHbRIbRJbRKbRLbRMbRNaaibQwbQwbQwbRObPbbRPbPbbRQaaibRRbKfbRSbRSaaqbRTbRUbGJaaibRVbRWbRXactbRYbRZbSabSbbScbSdbSebSfbSgbShbSibSjbSkbSlbSmaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabSnaaibQFaaiaaibPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZbHaanFaDGctmbEcbQIbEcbQJbQKbQLbFObFObQMbFObFObEcbQNbFObFObQObFObFObFObFOcrWbEfaaqcqPbQQbQRbQSbQTbQUbQVbQWbQXbQYbQZbRabCzaaqbPIaaqbPJbPKbRbbPKbSxaaqbPLbPMbRcbPMbPLaaqbRdbRebRfaaqbRgbRhbRibRtbRkbRlabHbRmbRnabHchhbRrbSMbSJbRAaaqbRsbHPbHPbSRbQdbQebRubRvbQkbOBbSObRyczAbRxbRBbRCbRDaaqcuzbRFbQrbRGbRGbRGaaqbRHbRIbRJbRKbRLbRMbRNaaibQwbQwbQwbRObPbbRPbPbbRQaaibRRbKfbRSbRSaaqbRTbRUbGJaaibRVbRWbRXactbRYbRZbSabSbbScbSdbSebSfbSgbShbSibSjbSkbSlbSmaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabSnaaibQFaaiaaibPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZaaaaaiaaiaaqayGbSoayHbxgbSpaaqaaqayGanFayHaaqaaqbSqaaqaaqaaqaaqbxgaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbSraaqaaqaaqbSsbStbSubSvaaqbPJbSwbPKbPKbPJaaqbSybSzbPMbSAbSBabHbSCbSDbSEaaqaaqaaqaaqaaqbSFaaqaaqbSGbSHaaqaaqaaJaaqanpaaqaaqbSIbOqbOqaaqaaqbSKbSLbMLbOpbSNbQhbSPbSQbOoaaqbSSbSTaaqbREbRFbQrbRGbRGbRGaaqbSYbSZbTabTbbTcbTdbTeaaibQwbQwbQwbTfbPbbQybTgbVdactbTibTjbTkbTkayObTlbTmbLXbTnbTobTpbTqbTrbTsbShbShbTtbTubShbTvbShbTwbTxbTybTzbTAbTBbTCacdcogbTEbTFcoYaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibTHbTIbTIbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZbDZbDZaaaaaibTJbTKbTLbTMbTNbTObTPbTQaaibTRbTSbTTbTUbTVbTWbTXbTYbTZbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbTYbUabTYbTYbTYbUbbUcbUdbUeaaqeAobUgbUhbUibUjabHbUkbUlbUmbUnbUoaaqbUpbUqbUrbUsbUtbUtbUtbUtbUubUvbUwbUxbUxbUybUybUzbUAbUBaaqaaqbUCbUDbUEbPYcbhbQebUHbMLbOwbOsaFWbUKbLwbQaaFWbUMbUNanccxjcxkcxhcxicwdcxgaaqcqxbUVbUWbUXbUYbUZbVaaaibVbbQwbQwaaibVcbYdbVeaaiaaqbVfbVgbIwaaqaaqbVhbQCbViaaibVjbVkbVlaaibVmbVnbVnbVobVpbVqbVrbVnbVsbVtbVnbVnbVubVvbVwcpcbVybVzbVAcqoaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVCbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqbPqaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyLbyLbyLbyLbyLbyLbyLbyLbyLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDZbDZbDZbDZbDZaaaaaaaaibVDbVEbVEbVFbVEbVEbVGbVHaaibVIbVJbVKbVJbVJbVLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaqbVMaaqaaqbVNaaqbVObVPbVQbVRbVSaaqbVTbVUbVVbVWbVXaMRbVYbVZbWaabHacdacdacdacdbWbatQbzlayObWcayOayObWdbWebWfbWgbWhbWibWjbWkbWlbsobWnbWobWpbWqbWrbWsbWtbWubWvbWwbWxbWyaaqaaqaCZayOayOayObWzaaqaaqeBvaaqalrbqIboGbnUaaibWEbQwbQwbWFbWGbWHbWIbWJaaqaaqbWKaaqaaqbWLbWMbQCbrYaaiaaibWNaaiaaibWObsnbWPbWQbWRbVnbWSbVwbWTbVwbVwbVwbWUbSfbIIaaibWVbWWbWXcdiaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPqbPqbPqbPqbPqbPqbWZbPqbXabPqbPqbPqbPqbPqaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa