Merge remote-tracking branch 'remotes/upstream/master' into OOPgularity2

Conflicts:
	code/modules/mob/living/carbon/human/human.dm
This commit is contained in:
Hornygranny
2014-10-28 15:27:46 -07:00
47 changed files with 446 additions and 491 deletions
+69 -61
View File
@@ -393,7 +393,7 @@
"ahC" = (/obj/machinery/seed_extractor,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"ahD" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
"ahE" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/prison)
"ahF" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"ahF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"ahG" = (/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fsmaint)
"ahH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
"ahI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/machinery/camera{c_tag = "Labor Shuttle Dock South"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/processing)
@@ -640,7 +640,7 @@
"amp" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/security/prison)
"amq" = (/obj/structure/extinguisher_cabinet{pixel_x = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/security/prison)
"amr" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"ams" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"ams" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"amt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/prison)
"amu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/maintenance/fsmaint)
"amv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall,/area/maintenance/fsmaint)
@@ -786,9 +786,9 @@
"apf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"apg" = (/obj/machinery/door/airlock/external{name = "External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aph" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/fpmaint2)
"api" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"api" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"apj" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"apk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"apk" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"apl" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"apm" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"apn" = (/obj/machinery/power/apc{dir = 1; name = "Arrivals North Maintenance APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
@@ -898,7 +898,7 @@
"arn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aro" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"arp" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"arq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"arq" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"arr" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"ars" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"art" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
@@ -1616,7 +1616,7 @@
"aFd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aFe" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"aFf" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/security/vacantoffice)
"aFg" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aFg" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/wall,/area/maintenance/fpmaint2)
"aFh" = (/obj/machinery/power/apc{dir = 1; name = "Law Office APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/lawoffice)
"aFi" = (/obj/machinery/power/apc{dir = 8; name = "Detective APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/detectives_office)
"aFj" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/light{dir = 1},/obj/structure/table/woodentable,/obj/item/weapon/lipstick,/turf/simulated/floor/wood,/area/crew_quarters/theatre)
@@ -1685,7 +1685,7 @@
"aGu" = (/obj/structure/table,/obj/item/weapon/weldingtool,/obj/item/weapon/crowbar,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/turf/simulated/floor,/area/storage/primary)
"aGv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall,/area/maintenance/fpmaint2)
"aGw" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "vault"},/area/ai_monitored/nuke_storage)
"aGx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aGx" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall,/area/maintenance/fpmaint2)
"aGy" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aGz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/maintenance/electrical)
"aGA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
@@ -1869,7 +1869,7 @@
"aJW" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central)
"aJX" = (/obj/structure/table/woodentable,/obj/structure/mirror{pixel_x = -28},/obj/item/weapon/lipstick/random,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/crew_quarters/theatre)
"aJY" = (/turf/simulated/floor/wood,/area/crew_quarters/theatre)
"aJZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aJZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aKa" = (/obj/structure/closet/lasertag/blue,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
"aKb" = (/obj/structure/closet/lasertag/red,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness)
"aKc" = (/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
@@ -1925,12 +1925,12 @@
"aLa" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/port)
"aLb" = (/obj/machinery/light{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/port)
"aLc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall,/area/lawoffice)
"aLd" = (/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLe" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/port)
"aLf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/maintenance/fpmaint2)
"aLf" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLg" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/port)
"aLh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/port)
"aLi" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLi" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/maintenance/fpmaint2)
"aLj" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/port)
"aLk" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/port)
"aLl" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central)
@@ -1958,11 +1958,11 @@
"aLH" = (/obj/structure/piano,/turf/simulated/floor/wood,/area/crew_quarters/theatre)
"aLI" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLJ" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"aLK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLL" = (/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aLM" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aLN" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aLO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLO" = (/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aLP" = (/turf/simulated/floor,/area/crew_quarters/fitness)
"aLQ" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"},/obj/machinery/camera{c_tag = "Kitchen Cold Room"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"aLR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness)
@@ -2062,7 +2062,6 @@
"aNH" = (/obj/machinery/camera{c_tag = "Port Hallway 3"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
"aNI" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
"aNJ" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
"aNK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
"aNL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/port)
"aNM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "barber"},/area/crew_quarters/locker)
"aNN" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/crew_quarters/locker)
@@ -2372,7 +2371,7 @@
"aTF" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet,/obj/item/clothing/under/suit_jacket/female{pixel_x = 3; pixel_y = 1},/obj/item/clothing/under/suit_jacket/really_black{pixel_x = -2; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "barber"},/area/crew_quarters/locker)
"aTG" = (/obj/structure/table,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"aTH" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"aTI" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/port)
"aTI" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aTJ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"aTK" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/storage/primary)
"aTL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/storage/primary)
@@ -3195,7 +3194,7 @@
"bjw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/chemistry)
"bjx" = (/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = -32},/obj/structure/table,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/atmos)
"bjy" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bjz" = (/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bjz" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"bjA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/medical/medbay)
"bjB" = (/obj/machinery/door/airlock/research{name = "Testing Lab"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/misc_lab)
"bjC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/toxins/misc_lab)
@@ -3312,7 +3311,7 @@
"blJ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/storage)
"blK" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage)
"blL" = (/obj/structure/closet/emcloset,/obj/machinery/alarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/quartermaster/storage)
"blM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"blM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 5},/turf/simulated/floor/plating/airless,/area/space)
"blN" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2)
"blO" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2)
"blP" = (/obj/machinery/computer/security,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2)
@@ -3643,7 +3642,7 @@
"bsc" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"bsd" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"bse" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage)
"bsf" = (/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bsf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 4},/turf/simulated/floor/plating/airless,/area/space)
"bsg" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/aft)
"bsh" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
"bsi" = (/obj/structure/table,/obj/item/weapon/storage/box/disks{pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
@@ -5003,7 +5002,7 @@
"bSk" = (/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 5; initialize_directions = 12},/turf/simulated/floor,/area/atmos)
"bSl" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Unfiltered to Mix"; on = 1},/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 4; initialize_directions = 12},/turf/simulated/floor,/area/atmos)
"bSm" = (/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/atmos)
"bSn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bSn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bSo" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 4},/turf/space,/area/space)
"bSp" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "waste_in"; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
"bSq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -5136,12 +5135,12 @@
"bUN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bUO" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/simulated/floor/plating/airless,/area/space)
"bUP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area/space)
"bUQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 5},/turf/simulated/floor/plating/airless,/area/space)
"bUR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/plating/airless,/area/space)
"bUQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bUR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bUS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Gas Pump"; on = 1},/turf/simulated/floor/plating/airless,/area/space)
"bUT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bUU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bUV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 10},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bUT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bUU" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
"bUV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bUW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bUX" = (/obj/machinery/atmospherics/pipe/tank/toxins{volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bUY" = (/obj/machinery/atmospherics/pipe/tank/oxygen{volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
@@ -5204,7 +5203,7 @@
"bWd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/maintenance/asmaint2)
"bWe" = (/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
"bWf" = (/obj/structure/sign/nosmoking_2{pixel_x = -28},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bWg" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bWg" = (/obj/machinery/embedded_controller/radio/access_controller{exterior_door_tag = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; interior_door_tag = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -26; pixel_y = 6; req_access_txt = "12"},/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = -24; pixel_y = -6},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bWh" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bWi" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bWj" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -5256,8 +5255,8 @@
"bXd" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 4; frequency = 1443; id = "air_in"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
"bXe" = (/obj/machinery/atmospherics/pipe/simple/cyan/visible,/turf/simulated/floor{icon_state = "arrival"; dir = 10},/area/atmos)
"bXf" = (/obj/machinery/atmospherics/binary/pump{dir = 8; on = 1},/obj/machinery/access_button{command = "cycle_exterior"; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -22; pixel_y = -10},/obj/structure/sign/fire{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bXg" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/embedded_controller/radio/access_controller{exterior_door_tag = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; interior_door_tag = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -26; pixel_y = 6; req_access_txt = "12"},/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = -24; pixel_y = -6},/obj/machinery/meter,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bXh" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bXg" = (/obj/machinery/atmospherics/pipe/manifold/yellow/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bXh" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bXi" = (/obj/machinery/atmospherics/pipe/simple/green/visible,/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/atmos)
"bXj" = (/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/cyan/visible,/turf/simulated/floor,/area/atmos)
"bXk" = (/obj/machinery/atmospherics/portables_connector/visible{dir = 8},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
@@ -5367,13 +5366,13 @@
"bZk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/toxins/misc_lab)
"bZl" = (/obj/structure/closet/crate,/obj/item/clothing/under/color/lightpurple,/obj/item/weapon/spacecash/c200,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bZm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
"bZn" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
"bZn" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/manifold/yellow/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bZo" = (/obj/machinery/atmospherics/binary/pump{dir = 4; on = 1},/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/access_button{command = "cycle_interior"; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 24; pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bZp" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "12"},/obj/machinery/meter,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bZp" = (/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "12"},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bZq" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/cyan/visible,/turf/space,/area/space)
"bZr" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bZs" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bZt" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bZs" = (/obj/machinery/atmospherics/valve/open{tag = "icon-mvalve_map (EAST)"; icon_state = "mvalve_map"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/medical/virology)
"bZt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bZu" = (/obj/machinery/atmospherics/portables_connector/visible{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"bZv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/aft)
"bZw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -5744,7 +5743,7 @@
"cgx" = (/obj/machinery/portable_atmospherics/canister,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cgy" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/port)
"cgz" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/maintenance/asmaint)
"cgA" = (/obj/machinery/door/airlock/maintenance{name = "Biohazard Disposals"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cgA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"cgB" = (/obj/machinery/power/apc{dir = 1; name = "Locker Room APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/crew_quarters/locker)
"cgC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cgD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -5782,7 +5781,7 @@
"chj" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/camera{c_tag = "Atmospherics West"; dir = 8; network = list("SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/atmos)
"chk" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/atmos)
"chl" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "O2 Outlet Pump"; on = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/atmos)
"chm" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"chm" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"chn" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor{icon_state = "arrival"},/area/atmos)
"cho" = (/obj/machinery/camera{c_tag = "Atmospherics South East"; dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Air Outlet Pump"; on = 1},/turf/simulated/floor{icon_state = "arrival"; dir = 6},/area/atmos)
"chp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -5838,7 +5837,7 @@
"cin" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/atmos)
"cio" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
"cip" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/atmos)
"ciq" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/machinery/light,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
"ciq" = (/obj/machinery/atmospherics/pipe/simple/cyan/hidden{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cir" = (/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/atmos)
"cis" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/atmos)
"cit" = (/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j2s"; sortType = 2},/obj/structure/noticeboard{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/office)
@@ -7499,6 +7498,7 @@
"cOk" = (/obj/item/weapon/shard,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating/airless,/area/AIsattele)
"cOl" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele)
"cOm" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"cOn" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cOo" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating/airless,/area/AIsattele)
"cOp" = (/obj/machinery/power/solar/fake,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars)
"cOq" = (/turf/simulated/floor/plating/airless,/area/djstation/solars)
@@ -8892,12 +8892,14 @@
"dpa" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor,/area/engine/break_room)
"dpb" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/obj/machinery/mineral/labor_points_checker,/turf/simulated/wall,/area/mine/laborcamp)
"dpc" = (/obj/machinery/computer/shuttle/ferry/request,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
"dpd" = (/obj/machinery/door/airlock/maintenance{name = "Biohazard Disposals"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dpe" = (/obj/machinery/computer/mech_bay_power_console,/turf/unsimulated/floor/plating,/area/syndicate_mothership)
"dpf" = (/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/syndicate_mothership)
"dpg" = (/obj/machinery/door/airlock/glass_large{name = "Equipment Room"; opacity = 1; req_access_txt = "150"; text = "g"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
"dph" = (/obj/machinery/door/window{dir = 4; name = "EVA Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"dpi" = (/obj/structure/stool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"dpj" = (/obj/machinery/door/airlock/centcom{name = "Transport Shuttle"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"dpk" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/general/hidden{tag = "icon-manifold (NORTH)"; icon_state = "manifold"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dpl" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plating,/area/security/prison)
"dpm" = (/obj/structure/table,/obj/item/weapon/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"dpn" = (/obj/item/weapon/soap/syndie,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
@@ -8916,7 +8918,7 @@
"dpA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/atmos)
"dpB" = (/obj/machinery/atmospherics/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/medical/virology)
"dpC" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/medical/virology)
"dpD" = (/obj/machinery/atmospherics/valve{dir = 4; icon_state = "valve1"; open = 1; openDuringInit = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/medical/virology)
"dpD" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"dpE" = (/obj/machinery/camera{c_tag = "Atmospherics South West"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/atmos)
"dpF" = (/obj/structure/table,/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/engine/break_room)
"dpG" = (/obj/machinery/bot/secbot/pingsky,/turf/simulated/floor/carpet,/area/turret_protected/aisat_interior)
@@ -9189,6 +9191,12 @@
"duN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft)
"duO" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/medical/virology)
"duP" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/aisat_interior)
"duQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"duR" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"duS" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"duT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"duU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"duV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating/airless,/area/space)
(1,1,1) = {"
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
@@ -9283,16 +9291,16 @@ ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlah
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahldpXdpXdpXahlahlahjahlakoakpakoahjahjahjahjdpXdpXdpXahlahlahlahlahlahlahlahlahlahlahlahjahlaiCakqajKajKaiCajgajhakrahnahkaioakvaeRafrahoafraeSakwajTakxaeSakyajTakzaeSakAajTakBaeSakCakDahrajZagqaeSakFajTakGaeRakHairakJakKakHakIaisakJahuahvahwabIabIahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahlakMakNakMahlahjahlahlahjahlahlahlahjahjahjahlahlahlahlakmakOakmahjahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahjahlahlahlahlahjahlakPakQakPahjahlahjahlahlahjahjahlahlahlahlahlahlahlahlahlahlahlahjahlaiCakRakSakTakUahlahlakVahyakWailalGaeRafragOafraeRalcaldalealfalgaldalealfalgaldalealfakEagLaljajYajWaeRaeRaeRaeRaeRalmaigalmalnalmalmaihalnahuainaimanRabIabIabIahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjalsaltalualtakkahjahjahjahjahlahjahlahlahlahjahjahlahlahlakmalvakmahjahjahjahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahjalwalxalyalzalAahlahjahlahlahjahjahlahlahlahlahlahlahlahlahlahlahlahjahlaiCalBalCalCaiCajgajhalDaijalEahVahWadcaeRaeRaeRaeRalHalHalHalJalHalHalHalIalHalHalHalJalHalHalHalKalKalLalMalMalMalNalmaigalmalnalmalmaihalnabIahvalPadYalQalRalQahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjalSalTakNalUalVahjahlahlahjahlahjahlahlahlahlahjahjahlahlakmalvakmahlahlahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahlahlahlahlahjalWalXalYalZalWamaamaahlahlahjahjahlahlahlahlahlahlahlahlahlahlahlahjahlaiCalCalCalCambamcajNamcajjaiHahSaiHamgalKalKalKagEalKalKamjalKalKalKalKalKalKalKamialKagjalKamhalKalKalKalKalKalKamkalnahRamlammamnalnahUalnamramsahTamuamuamvabIahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjamwamxamyamzamwahjahlahlahjahlahjahlahjahlahlahlahjakmakmakmalvakmakmakmakmakmakmahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahlahlahlahlahjalWalXalYalZalWamaamaahlahlahjahjahlahlahlahlahlahlahlahlahlahlahlahjahlaiCalCalCalCambamcajNamcajjaiHahSaiHamgalKalKalKagEalKalKamjalKalKalKalKalKalKalKamialKagjalKamhalKalKalKalKalKalKamkalnahRamlammamnalnahUalnamrahFahTamuamuamvabIahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjamwamxamyamzamwahjahlahlahjahlahjahlahjahlahlahlahjakmakmakmalvakmakmakmakmakmakmahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlamaamaamaamaamaahjahjalWamAamBamCalWamDamaahlahlahjahjahlahlahlahlahlahlahlahlahlahlahjahjahlaiCamEamEamEaiCajgajhamFagIafZahIahLahyamKamKamKamKamKamLahHamKamKamKamKamKamKamKamNamOamOamOahNamQamOamRagDagCagBalNamSamTahuahuahuahuahuahuabIamWahPabIamYamZabIahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjamwanaanbancamwahjahlahlahjahlahjahlahjakmaknakmaknakmandalvalvalvalvalvalvaneakmahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlamaamaamaamaanfanganhamaahlahlalWaniacZankalWanlamaahlahlahjahjahlahlahlahlahlahlahlahlahlahjahjahlahlaiCanmanmanmaiCahlahjadcaebabUahyahianpanpanqanranqanpanpagZantantantanuantantanvanwanxagXamuagUamuamuamuamuagRamuamuamuamuamuahtahsahqahmanEanEahFahzanHanIahGabIahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlamwanKafDanMamwanNanNanNanNanNanOanPanQakmalralvaneakmakmalvakmakmakmakmanSakmakmahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlamaamaamaamaanfanganhamaahlahlalWaniacZankalWanlamaahlahlahjahjahlahlahlahlahlahlahlahlahlahjahjahlahlaiCanmanmanmaiCahlahjadcaebabUahyahianpanpanqanranqanpanpagZantantantanuantantanvanwanxagXamuagUamuamuamuamuagRamuamuamuamuamuahtahsahqahmanEanEamsahzanHanIahGabIahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlamwanKafDanMamwanNanNanNanNanNanOanPanQakmalralvaneakmakmalvakmakmakmakmanSakmakmahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlahjamaasianUanVanlanWanlamaanXanYalWalWanZaoaalWanlamaamaanXaobaocamaamaahlahjahlahlahlahlahlahlahjahjahlaodaoeaoeaoeaofahlahjahyaKUajNahyaIUanpaomaonaonaonaooanpaJaatXaJcaJeaJdaotantalHalKaouaGQaIPaoxaoxaoxaoxaoxaISaITaoxaoxaoxaoxaoxaIOaIJaIKaIGaIHaIEaIFabIaoIaoJabIahjaIyaANaANaIhaANaANaIgahlahlahlahlahlahjaoOaoPaoOahlanNamwamwaoQaoRamwaoSalvalvalvakmarualvarwakmalvalvalvaoWakmalvakmdtNdtLakmalvaoYakmahlahlahlahlahlahlahlahlaaeahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaoZapaapbahlapcapdapeahlahjapfapgapfahlahlahjamaaphapiapjaJZapkapVamaapmanlapnapoasGanlanlanlanlanlanlanlanlanlamaahlappahlahlahlahlahlahlahjahlahlahlahlahlahlahlahlahjahyaKUaSvahyaJDanpapuapvapwapxapyanpapsantapzapAaJGapCapDalHalKalMaGQaguaqHaqHaqHaqHaqHaJHanyaqHaqHaqHaqHaqHaqHaqHaqHapQaJsaJAaJgaJgaJgaJgaJgaJfayNapSapSapSapSapSayNapQahlahlahlahlahjapTalvapUahlanNasjapWapXapYalvalvalvakmalvakmapZalvalvakmalvaqaaqbaqcanSalvakmdtPasDakmalvasnakmahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaqfaqgbahaqgaqfaqibcpaqiaqfahjaqkanlaqlahlahlamaamaamaamaamaaLIaHgaEkaEkaLKarqaLOarqaLiaLfaLdasNamaanlamaamaamaanlamaahlahjahlahlahlahlahlahlahjahlahjahjahjahjaogaogaogaogaogaogaogaogaKDanpaquapvaqvaqwaqxanpapsaLcaKVaKFaKEaKGaqBalHalKaXOaGQaguaqHaFsaFtaKxapGaKyaKzaqHaKraqLaKsaqHaqNaKhaKiapQaKqaKlaKmaVOaKfaKaaKbaKgayNapSapSapSapSapSayNapQahjahjahjahjaqYaqZaoParaarbanNasLalvardalvandalvakmakmarfakmakmargakmakmaqcasEarialvakmalvarjarjarjarjarjarjarjarjarjbRJbRJbRJbRJdsibRJbRJahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlarkaqgarlaqgarkaqiarmaqiarkamaarnapgaroaobanYamaaNaaFdaFdaFdaFdaFdaFdaNeaNiamaamaamaamaamablMamaamaanlartamaatzanlamaamaamaahlahlahlahlahlahjahjahjahjahjahlahlaogarvauSaogarxaryarzaogaKDanpaMxaMkaMeaMeaMdarBaMIaMHarGarGaMGarGaMAalHalKarLaGQaguaqHaFHaMJaFBaMYaFDaMWaqHaMVarUaMKaqHarUaLVaLXapQaLYaLZawGaLPaLPaLPaELaLRaLUapSapSapSapSapSaMbapQapQapQahlahlashalvalvalvaoSanNauMaqcardalvatOaskaslanSalvalvalvalvasmalvalvasEasoalvaspalvarjasqbcDassarjastasuasvarjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaoZapaapbahlapcapdapeahlahjapfapgapfahlahlahjamaaphapiapjarqapkapVamaapmanlapnapoasGanlanlanlanlanlanlanlanlanlamaahlappahlahlahlahlahlahlahjahlahlahlahlahlahlahlahlahjahyaKUaSvahyaJDanpapuapvapwapxapyanpapsantapzapAaJGapCapDalHalKalMaGQaguaqHaqHaqHaqHaqHaJHanyaqHaqHaqHaqHaqHaqHaqHaqHapQaJsaJAaJgaJgaJgaJgaJgaJfayNapSapSapSapSapSayNapQahlahlahlahlahjapTalvapUahlanNasjapWapXapYalvalvalvakmalvakmapZalvalvakmalvaqaaqbaqcanSalvakmdtPasDakmalvasnakmahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaqfaqgbahaqgaqfaqibcpaqiaqfahjaqkanlaqlahlahlamaamaamaamaamaaLIaFgaGxaGxaLdaJZaLfaJZaLKaLiaLOasNamaanlamaamaamaanlamaahlahjahlahlahlahlahlahlahjahlahjahjahjahjaogaogaogaogaogaogaogaogaKDanpaquapvaqvaqwaqxanpapsaLcaKVaKFaKEaKGaqBalHalKaXOaGQaguaqHaFsaFtaKxapGaKyaKzaqHaKraqLaKsaqHaqNaKhaKiapQaKqaKlaKmaVOaKfaKaaKbaKgayNapSapSapSapSapSayNapQahjahjahjahjaqYaqZaoParaarbanNasLalvardalvandalvakmakmarfakmakmargakmakmaqcasEarialvakmalvarjarjarjarjarjarjarjarjarjbRJbRJbRJbRJdsibRJbRJahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlarkaqgarlaqgarkaqiarmaqiarkamaarnapgaroaobanYamaaNaaFdaFdaFdaFdaFdaFdaNeaNiamaamaamaamaamaaTIamaamaanlartamaatzanlamaamaamaahlahlahlahlahlahjahjahjahjahjahlahlaogarvauSaogarxaryarzaogaKDanpaMxaMkaMeaMeaMdarBaMIaMHarGarGaMGarGaMAalHalKarLaGQaguaqHaFHaMJaFBaMYaFDaMWaqHaMVarUaMKaqHarUaLVaLXapQaLYaLZawGaLPaLPaLPaELaLRaLUapSapSapSapSapSaMbapQapQapQahlahlashalvalvalvaoSanNauMaqcardalvatOaskaslanSalvalvalvalvasmalvalvasEasoalvaspalvarjasqbcDassarjastasuasvarjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlarkaswasxasyarkaszasAasBarkasCanlanlbknbknartasFaEYaGvaEkaEkaEkaEkaEkaEkaEfaEgcUbdsiakjamaavUaplasManlasFamaaoVanlanlanlapfahlahlahlahlahlahjahlahlahjahlaogaogaogapqapqaogapqapqapqaogayganpaEDaEGaEFaEIaEHatTaExaEzantasUaECasWantaEvalKalMaGQaguaqHaqHaqHaqHaqHaEsaEtaqHaEuasYaqDaqHaqHaDNaqDapQataaDMcECaDWaDWaDTaDUaDQaDSapSapSapSapSapSaDLaDKaDJatkahlahlatlalvalvatmalvanNatnalvatoatpatpatpatpatqatpatralvalvalvalvalvalvalvalvakmaskarjatsattattarjbbmavFbgharjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlarkatvatwatxarkatyatwatxarkapVbkrbkoaqoaqoaqobkDbksaEZatDatEatFatGatHamaaEYaEZdsiasIcUbatJaFgatLamaamaamaamaamaamaamaanlatMahjahlahlahlahlahjahlahjdsidsiatNaqeatNapqapqaogaogatPaogaogayganpanpanpaFkanpanpanpaFiaFhantantantantantaFralKauaaGQaguaqHaFsaFtaFnapGaFlaFmaFpaFqaujaFoaKTaulaEJaEKaunarXaDMauoauqauqauraELautauuapSapSapSapSapSauuauvauwauxahjahjakmalvalvakmakmanNanNanNanNanNanNanNanNanNakmauyauzakmakmakmakmakmakmakmaDFaBaaEPaEOaENaEMauBaEQatsauDarjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahlaqfarkauEauFaqfarkauGauFaqfamaauHamaamaamaamaamaaEYaEZanlauIaavanlanlamaaEYaEZcUZahjcUZamaaGxatLamaarhauNamaaoVapVaGvaEraEkaGlaGsaGpaGpaGpaGpaGraGpaGpaGoaGlaGnaGlaGlaGjaGlaGmaGjaGkaGiaGhauWauWauWauWauWauWauWaFSaFWauWauWauWauWaFRaFJaFOaFOaFQaFGaqHaFHaFIaFBaFCaFDaFEavhaFzavjaFAavlaviaFwaFxavmavnaFyauoauqauqauraELavpavqapSapSapSapSapSavqavrauwauxahlahlakmaqralvalvarcakmaqsaneavvavwandakmatnandakmavzalvakmavAalvakmaqaaqbavBaFuatpatpavCavDavEbjOaFvavHavIarjbRJbRJdsidsibRJbRJbRJbRJahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlarkatvatwatxarkatyatwatxarkapVbkrbkoaqoaqoaqobkDbksaEZatDatEatFatGatHamaaEYaEZdsiasIcUbatJbjzatLamaamaamaamaamaamaamaanlatMahjahlahlahlahlahjahlahjdsidsiatNaqeatNapqapqaogaogatPaogaogayganpanpanpaFkanpanpanpaFiaFhantantantantantaFralKauaaGQaguaqHaFsaFtaFnapGaFlaFmaFpaFqaujaFoaKTaulaEJaEKaunarXaDMauoauqauqauraELautauuapSapSapSapSapSauuauvauwauxahjahjakmalvalvakmakmanNanNanNanNanNanNanNanNanNakmauyauzakmakmakmakmakmakmakmaDFaBaaEPaEOaENaEMauBaEQatsauDarjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahlaqfarkauEauFaqfarkauGauFaqfamaauHamaamaamaamaamaaEYaEZanlauIaavanlanlamaaEYaEZcUZahjcUZamaapiatLamaarhauNamaaoVapVaGvaEraEkaGlaGsaGpaGpaGpaGpaGraGpaGpaGoaGlaGnaGlaGlaGjaGlaGmaGjaGkaGiaGhauWauWauWauWauWauWauWaFSaFWauWauWauWauWaFRaFJaFOaFOaFQaFGaqHaFHaFIaFBaFCaFDaFEavhaFzavjaFAavlaviaFwaFxavmavnaFyauoauqauqauraELavpavqapSapSapSapSapSavqavrauwauxahlahlakmaqralvalvarcakmaqsaneavvavwandakmatnandakmavzalvakmavAalvakmaqaaqbavBaFuatpatpavCavDavEbjOaFvavHavIarjbRJbRJdsidsibRJbRJbRJbRJahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlavJavKavKavKavLavKavKavKavMavNavOavMavMavMavPamaaHhaEZanlauJavSanlavTamaaEYaHgaEkaEkaEkaEkaEkaEkaEganlavSavVanlanlaopaHLaHFaHEaHIaHIaHIaHRaHIaHTaHIaHIaHPaHQaHOaHMaHMaHMaHMaHMaHMaHNaHlaHkaHiaHiaHiaHiaHiaHiaHiaHjaHiaGHaGHaGHaGHaGHaHuaHCaHtawkaHsaqHaqHaqHaqHaqHaHqaHraHoaHpaHmaHnaGFaGGaGIaGJawuawvaGXaGYaGZaGZaHaaHbaHcaHdapSapSapSapSapSaHeascaHfawHahlahlakmalvalvalvalvalvalvavBatpatpatpatpatpatpatpawIalvalvalvalvaspalvalvardaGAayOaGzaGDaGCaGBattattattawKarjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjawLawMawNawMawOawNawNawPawMawNawQawRawSawSawTamaaHhaEZawUanlanlawVawWamaaXzaFdaFdaFdaFdaFdaFdaWMaEZavuanlamaasCasCaWPapsaogaxbaxcaxdaxdaWRaxdaWQaxdaxdaxeaxbaGyaxgaxgaxgaxgaxgaxgaxgaopaWSawfaxiaWUaWTaXfaWVaXgaxoaXqaXpaXraxsaxtawhaXsalKaXtabIadYaqHaFsaFtaXuapGaXvaXwaXxaXxaXxaXyaXRaYaaXKaXQaunaxEaXJaxGaxHaxIaxJaDUaxLaXAapSapSapSapSapSaYiapQapQapQakmakmakmandakmakmanSakmakmardakmakmaxPakmakmanSakmardaqrakmakmaxRakmalvaqrardaGAaYnarjaxTavDaYmaxVaYjavDaxXarjahjahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlarkavJaxYavJaxZawNawNcFUavJaxYavJaybaycawOaydamaaHhaHgaEmaEkaEkaEgayeayeakmaspakmayeayeayeayeaYFaYGaGnaGlaGlaGlaGlaYSapsarvaxbahlahjahlaYrahlaIeahlahjahlaxbaGyaxgayhayiayjaykaylaxgaopaZEaZzaZyaZPaZOaZNaZMaZRaZRaZQaywaywaywayxawhaxualKaxvabIadYaqHaFHaFBaFBaZraFDaYXaZxayBayCayDayEayFayFayGayFapQbasbaGbacbajbakbarapQaZUapSapSapSapSapSaZUapQasnalvayOayPakmakmakmasnalvakmasnardakmaxaalvakmavyalvakmayUayVakmavxalvakmanOanQardbaPbaNarjayXavDbaIayZbaIavDcbBarjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
@@ -9306,7 +9314,7 @@ ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlah
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaJkaJlaBjaCEaCFaCFaCFaJmaCFaCFaJnaCFaCFaCLaJoawLaxZawNaJpaJqaJqaJqaJqaJqaJqaJqaJrawNayeapraubaprayeayeaBqaJvaJwaAkaAkaAkaAkaJuaJxaJyaAlaJzaJBaJBaJCatWaJEaJBaJBaJFaxbaBraxgatZaxgaJIaJJaJKaxgazGavWawhawhawhaJLaJMaJLawhawhawhaJOaJPaJQaJRaIuaIuaIuaIuaIuaJSaJTaJPaJUaTkaJVaAoaJWayFayFayFayFayFayFayFayFayFayFaFjatQatBatAatCaPuatjaKeaIIatuaMZaKjatVaKjaINaKkatUaINatSaINaKnaKoaKpatRasXasXasXasVasTaMaaIRapBaDOasSaIVaKAaIXaIYaKBaDOaKCasRathatiatfatgatdateaVlatcasZatbaKIaKJaKKahlahjahlahlahlahlahjahlahjahlaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaJkaBjaBkaBjaBjaKLaBmaBjaBjaBkaJlaKMaqfaKNawNavJaKOaKOaKPaKOaKQarkaKRaKSawNaGgaMzaKYaKYaKXaKYaEpaKZaKYaKYaKYaKYaKYaKYaKYaLaaLbawCawDaLeaLeawBaLgaLeaLeaLeaLhaEnaLjawBaLeaLeaLeaLkaLlaLmaIuaLnaLoaIvaIwaIwaIwaItaIuaIuaLpaIuaLqaLraLsaLtaLuaLvaLwaLxaIuaIuaLybzVaEqaEWaLAaLCaLDaLEaLFaIuaLGaIuaAKaLHawraJYatQawpawoawnawmaqFdrhaIIawqaLLawjaLMaLNaINawlatUaLQaqAaINaIRaLSbgAawiaPSaLWawyawxawzaDCaIRapBaDOawAawtawsawwaMcaMfaDOaMgaMhaDRaHGaHGaHGaHGaDRaMiaMjasZatbaDVaDVaDVaMlaMlaMlaMmaMnaMoahjahlahjaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlavJaxYaMpaAbaAbaAbaAbaMqaxYavJaAdaqfaAeaMrazdaMsaMtaMuaMuaMvarkaMwaKSawgaMyaMzaweaMBaMCaMDaMEaMFaKYaKYaKYaKYaKYaKYaKYaLaaKYaMzaKYaKYaKYaDgaDfaCxaCxaCxaCxaDlaCxaEhaCxaCxaDkaMLaLlaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaLpaIuaMMaMNaMOaMPaMQaMRaMSaMTaIuaIuaLyaIuaIuaIuaIuaIuaIuaIuaIuaIuaMUaIuaAKaJYaJYaJYavGavfaveavkavgavoaQSaIIavtaMZavQaIIaIIaINaNbatUaNcaqAaNdaINaIRaIRaIRaIRaIRaIRavZaNgaNfaIRapBaDOaNhaHwavYavXaHwaNjaDOaDRaDRaDRaDRaDRaDRaNkaDRaFXaFXawaatbaNlaNmaDVaNnaNoafJaNqaNraNsahjahlahjaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjazbaqfazdatwazdaNtaNuaNvaNwazdatwaNxaNyaqfaxZawNazdaNzaNAaMuaMuaMvarkaNBaKSawNaMyaMzaKYaNDaNEaNEaNEaNFaNGaNHaNEaNIaNEaNEaNEaNJaNKaqSaNEaNEaNEaqQaqPatKasaasaaqRaqOaqMaqKaNUaKYanLaMLaLlaIuaNVaIuaNWaNWaNWaNWaNWaNWaNWaNWaNXaNWaNWaNWaNWaNWaNWaNWaNWaNWaNWaNWaNYaNWaNWaNWaNWaNWaNWaNWaNWaIuaIuaIuaAKaNZaNZaNZaNZaNZaqIaqGaPuaqFaqdaIIaqEaOeaqyaIIaOfaINaqtaqpaqqaqAaOjaINaIRaOkaqzaOmaOnaOmaqnaOoaOpaIRapBaDOaOqaOqapHapFaOtaOtaOuaDOaOvaOwaOxaDVaOyaOzaOAaFXaFXaqjaqmaDVaOCaDVaODaqhaOFaOFaOGaOHaMnaMnaOIaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjazbaqfazdatwazdaNtaNuaNvaNwazdatwaNxaNyaqfaxZawNazdaNzaNAaMuaMuaMvarkaNBaKSawNaMyaMzaKYaNDaNEaNEaNEaNFaNGaNHaNEaNIaNEaNEaNEaNJaNEaqSaNEaNEaNEaqQaqPatKasaasaaqRaqOaqMaqKaNUaKYanLaMLaLlaIuaNVaIuaNWaNWaNWaNWaNWaNWaNWaNWaNXaNWaNWaNWaNWaNWaNWaNWaNWaNWaNWaNWaNYaNWaNWaNWaNWaNWaNWaNWaNWaIuaIuaIuaAKaNZaNZaNZaNZaNZaqIaqGaPuaqFaqdaIIaqEaOeaqyaIIaOfaINaqtaqpaqqaqAaOjaINaIRaOkaqzaOmaOnaOmaqnaOoaOpaIRapBaDOaOqaOqapHapFaOtaOtaOuaDOaOvaOwaOxaDVaOyaOzaOAaFXaFXaqjaqmaDVaOCaDVaODaqhaOFaOFaOGaOHaMnaMnaOIaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlarkawLaxYawLaxZawNawNayaawLaxYawLaOJaOKaOLawNawLaOMaOMaKPaOMaKQarkaONaKSawNaOOaOOaOOaOQaOOaORaORaORaORaORaOSaOTaORaOUaORaORaORaOYaOWaOXaOWaqJapRaPaaKYaKYaPbapPaPdanjaKZaKYanLaPeaPeaIuaIuaIvaPfaJPaJPaPgaPgaPgaPgaPhaPiaPjaPkaPlaPmaPnaPmaPoaPmaPpaPkaPqaPiaPraPgaPgaPgaPgaJPaJPaPsaItaIuaIuaIIaoXaMXaKcaKcaKcaKcaKcaPuaQUaKcaIIapKaPzapNaINaINaINapLapMaINaINaINaINaIRaOmapOaPEaPEaPEapEaPFaOmaIRapBaDOaPHaHwapHapFaHwaHwaPIaDOaPJaPKaPLaDVaFXaPMaPNaPOaPOapIapJaPQaPRaDVafsaSEaOFaOEaOFaPWaPXaPXaPWaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlaaeahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaGcahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjavJaPZawNavKaOLawNawNaQaavKawNaPZaOLawNawNawNaQbaQcaQcaQcaQcaQcaQcaQcaQdawNaOOanTaOOaRDaORasQaQnaQkaQlaQmaQnaQoaQpbKEaQraQsaQtaOYaQvaQwaQxaqJaxfaPaaPaaQzaPaaPaaPeazEaQBaQCaxyaPeaPeaQDaIuaIvaQEahlahlahlahlahlahlahlaPiaQFaQGaQHaQIaQJaQKaQLaQMaQNaQOaQPaPiahlahlahlahlahlahlahlaQQaItaIuaQRaIIaPtaKcaQTaKcaKcaKcbKcaPuaQUaLJaQVaPuaQWasbaINaQYaQZasfasdaseasgaReaRfaINaOmasraRhaRhaRhasKaRiaOmaIRasOaDOaRkaRkapHapFaRlaRlaRmaDOaDOaRnaDOaDVaRoaOzaOAaRpaRpaqjaqmaDVaDVaDVaMmasHasJasPaMnaMnaMnaMnaRsaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahlahlawLaRtaRuaRuaRuaRuaRuaRuaRuaRuaRtaRuaRvawNawNaRwawNaRzawcawNaRyawbawNaRAarYaOOaRCaOOaRDaORaREaQnawdaQnaQnaQnaQoaRFaQnaQnaQnaQtaOYaRGaQwaQwaqJaxfaPaaRHaRIaRIarZaPeawZaRLaRMawYaROaRPaIuaIuaIvaQEahlahlahlahlaPiaPiaPiaPiaSOaRRaRSaRTaRUaRVaRWaRXaRYaRZaSaaPiaPiaPiaPiahlahlahlahlaQQaItaIuaIuaSbaKcaqTaqVaqUaqXaqWarparearsarrarCarAarDarEatYarFarFarHarIarJarJarKarFarMarNarOarParQarSarRaRiaOmaIRapBaDOaHwaHwapHapFaHwaHwaHwaolaSwaHwaSxaDVaKHbDuaSzaRpaRparTarVaSBaDVaSCaSDaSEaOFarWaOFaSFaPXaPXaSGaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
@@ -9314,7 +9322,7 @@ ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlah
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUdazeawOaUeaSMaWZaZSaZIazxaZIaZTaWZaZIaSMaRCaRCazFbfBaORaUsaQnaYBaYEaZoaUtaUuaSSaQnaQnaQnaQtaOYaOYaOYaOYaqJaxfaPaaPaaPaaPaaPaaPeazwaRMaRMaRMaRMaTjaIuaIuaIvaIwaIwaUBaUCaUDaPiazaayWayYazmazqazmazoayKayJayIayHayQayMayHayLayTaySaPiaURaUCaUSaUTaIwaItaIuaIuaSbaKcaPuaQTaKcaUUaKcaQTaKcaQUaLJaUVaKcaKcaKcaUWaSkazYaUXaUYaUZazVaTJaVbaINaVcaTMaVdaRhbadaRhaSuaVeaIRazUaDOaDOaDOapHapFaVgaVhaHwaViaVjaKAazQaDVaFXazNaSzaRpaRparTazMazLaDVazKaOFaSEazJazHaVwaNsahlahjahjaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaVxaVyaVzaxZaVAbjabjjbjhbjlbjkbjXbjraWZaZIaSMaDpaDqaxkaOOaORaKdbhlbhfbhkbhfbhjbhLbhjbhjbhjbhrbhJaORbhnbiRbiQbiGbiFaVWaVXaVYaOOaCyaPebiWaWbaWcaWdaWdaWeaIuaIuaIuaIuaIuaWfaWgaWhaWiaCPaCSaCUaCzaCAaCBaCOaCZaCYaDbaDaaCWaCVaCXaCUaDdaDcaWzaWAaWBaWCaWDaWEaWFaIuaIuaIIdtFaScaSgaSeaKcaSfaSdaSeaQUaLJaTBaTBaWGaWHaINaSkaSkaSkaWIaSkaSkaTJaWKaINaOmaTMaRhaRhbadaRhaTPaOmaIRaDuaDvaWNaWOaDraDtaDsaDsaDsaDsaDsaDsaDEaDHaVoaVoaVoaVoaVoaDxaDyaDzaDAaDBaVtaVvaDDaOFaWWaNsahjahjahlaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaWXatwaWXawNawNaSMberbemaXaaXaaXabfAbfjaXcaSMaXdaRCaxkaXhaXhaXhbcTbchaXhbcibcSbehbekbelbelbcVbcWaORbdIbbKbaObcebcabbZbbZaBfaBeaBeaXBaXBaXBaXBaXBaXCaPeaIuaIuaXDaXEaXFaXGaXHaXIaPiaBKaBNaXLdnJaBMbnGbnGaxqauCaxwaBJbrHaBIdnFaXLaBLaBKaPiaXSaXHaXTaXUaXEaXVaIuaIuaSbaKcaXWaTAaKcaKcaKcaTAaKcaQUaKcaLJaLJaKcaKcaXXaXYaXZaSkaSkaSkaSkaYbaYcaINaYdaYeaRhaYfbheaYgaYeaYhaIRaCvaYkaYkaYlaOraCtaCnbfUaCuaCnaCnaCnaCraCjaCmaBVaBVaBVaBVaBVaCbaBOaBQaCibbQaCgaChaOFaYoaNsahlahjahjaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaYpaYqaVzaxZawNaxlaWZaTfaXaaXaaXaaSNaYsaWZaSMaYtaSjaxkaXhaYvaYwaUfaVEaXhaUnaYAaTFaORaYCaYDaNNaOZaORaTIaNLaYHaYHaYHaYHaYIaYHaYHaYJaYKaYKaYKaYLaYKaYMaYNaYOaYOaYPaYQaYQaYQaYQaYQaYQaxmaxnaYRaxpaxqaYVbkMbkMbrIbambkMaYVaxwaxxaYWaxrbkQaYWaYWaYWaYWaYWaYWaYZaYOaYOaIIaZaaZbaZcaZdaKcaKcaKcaZeaZfaZgaKcaZhaZiaZjaINaINaINaZkaZlaZlaZlaINaINaINaZmaRhaRhaZnaVPaZpaZqaNfaIRaxjaYkaZsaDOaZtcesaZvaVQaxzaZuaTTaVhbbsaDVaxAaFXaZAaRpaRpaZAaFXaZBaDVaZCaZDaxBarWaOFaOGaZFaMnaMnaOIaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaYpaYqaVzaxZawNaxlaWZaTfaXaaXaaXaaSNaYsaWZaSMaYtaSjaxkaXhaYvaYwaUfaVEaXhaUnaYAaTFaORaYCaYDaNNaOZaORaQfaNLaYHaYHaYHaYHaYIaYHaYHaYJaYKaYKaYKaYLaYKaYMaYNaYOaYOaYPaYQaYQaYQaYQaYQaYQaxmaxnaYRaxpaxqaYVbkMbkMbrIbambkMaYVaxwaxxaYWaxrbkQaYWaYWaYWaYWaYWaYWaYZaYOaYOaIIaZaaZbaZcaZdaKcaKcaKcaZeaZfaZgaKcaZhaZiaZjaINaINaINaZkaZlaZlaZlaINaINaINaZmaRhaRhaZnaVPaZpaZqaNfaIRaxjaYkaZsaDOaZtcesaZvaVQaxzaZuaTTaVhbbsaDVaxAaFXaZAaRpaRpaZAaFXaZBaDVaZCaZDaxBarWaOFaOGaZFaMnaMnaOIaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcaUcawLaZGaOLaZHaSMaZIaFfaZIaWZaZJaFaaZKaZIaSMaZLaEXawEaXhaXhaXhaQjaRbaXhaRxbNPaNMaORaYCaYDaNNaOZaORaQfaNLaYHaZVaZWaZWaZWaZXaYHaZYaZZbaababaYNaYNaYNaYNaIuaIuaHWaIAaLzaLBaJNaKWaGRaHSawXbalbqybNHbkMbkMbnIaGqbnIbkMbkMbMVbhzbaqawJawFbatbaubavbawbaxaYWaXVaIuaIuaIIaIIaIIaIIaIIbayaSbbaybazbaAaIIaIIaIIaIIaIIbaBbaCbaCbaCbaCbaCbaCbaDbaCbaBaNfbaEbaEbaFaRKaYkaYkaYkbaBaxjaYkaZsaDOaDOaDOaZwaRNaZwaDOaZwaDOaDOaDVaDVbaJbaKbaKbaKbaKbaLaDVaDVbaMaOFaxharWaOFaOFaSGaPXaPXaSGaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjaqfaqfaSHaSIaSIaSIaSIaSIaSIaSJaqfaqfarkaRzawNaSMaSMaYxaSMaSMaSMaXoaSMaSMaSMbaQaYuaxWaXhcqfbaSaQjbaTaXhbaUbaVbaUaORaYCaYDaNNaOZaORaQfaNLaYHaZWbaXbaXaZWbaXaYHaZYbaYbaZbaZbbabbbbbcaYNbbdaIuaXDbcxbbgbaibbibbjbbjaymaynbblbqyaHVbkMbkMbnIbaobnIbkMbkMbczbhzbbtayqaypaysayrbbxbaxbbyaYWaXVbbzaIubdpbbBaYkaYkaYkaYkaYkaYkaYkaYkbbCaYkaYkaYkaYkbbDaYkaYkaYkaYkaYkaYkaYkaYkbbBaYkaYkaYkaYkaRKaYkaYkaYkbbEaytaYkaYkayuaYkaYkaYkaYzaYkaYkaYkaYkaYkbbDayvaYkaYkaYkaYkaYkaYkbdSayyaSDaOFayzayAaPVbbTbbUaMnaMnbbVaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlavJavNavMavMavMavMavMavMavMavMavNavMbbWaXbawNbbXbbYaXebbZbbZbbZaWaaVTbcbaOOaoTaWYaxCaXhaXhaXhaXkbcfaXhaORaORaORaORaYCaYDaXiaXjaORaQfaNLaYHaZWbcjaZWbaXbckaYHaZYbclbaZbaZbaZbcmbcnaYNbcoaIuaXDbbpbcqbaibcsbctaxNaxOaxMbcwbqybbnbnIbkMbmiaYUbmibkMbnIbbfbhzbcAbbuaxKaxFaxDbbxbaxbaxaYWaHUaIuaIubdpbbBaYkaYkaYkaYkaYkaYkaYkaYkbcEaYkaYkaYkaYkaYkaYkbcFaXlaXlaXlaXmaYkaYkbbBaYkaYkaYkaYkaRKaYkaYkaxSaWNaxUaWNaWNaWNaWNaWNaWNaXnaWNaWNaWNaWNaWNaWNaWNaWNaWNaWNaWNaWNbcLbcMbcNbcObcOaxQarWaOFaOFbcQaPXaPXbcQaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbaGbahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
@@ -9339,36 +9347,36 @@ ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlah
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjbwSbwSbCmbCnbCnbCobwSbwSbCpbCqbENbEMbvwbvwbvwbvwbvwbvwbkHbCvaTkaTkaTkaTkbCwbCwbCwbCwbCwbCwbCwbCwbCwbCwbkGbkFbkEbCAbCAbCAbCAbCAbCCbCAbCAbqxbCAbCDbCEbCDaIzaJVbCGbuCbkSbkRbCJbkVblqbuCbCMblrblbbkXblmbldbCPbCQbCRbCSbuDbkIbkJbMzbMzbggbkObkPbkLbkNbCWbCVblWbBFbXKccNbDcbDcbDcbDcbDcbDcbDcbDcbDcbDdbDdbDdbDdbDdbDdblUblxblzbvdbvdbvdbvdbvdbvdbvdbxYbpXbpXbpXbpXbpXbpXbpXbpXbNhbLEaDGaCqbgZbgZahjahjahjdsidsidsidsidsidsidsidsiahjahjahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlbDjahlahlahlahjahlahlbwWbDkbDlbHjbGObGEbGlbIdbHvbHnbHkbIhbIvahlahlahjahlbCwcjKbDvbDwbDxbDybmnbmobmpbmqbmHbmFbmIbCAbmKbmJbmLbFhbmvbFhbFhbIIbmCbmxbmEbCDbCDbCDbCDbuCbmMbxobyTbxobnybuCbDVbDTbnvbmXbmPbmObmPbmPbnFbDYbDZbnEbnCbnCbnCbnJbnHbqMbEcbEdbEebEfbEgbBFbXKccNbDcbEhbEhbEhbEibEhbEhbEhbDcbEjbEjbElbEjbEjbDdbnLbnKbepaKtbEobEpbEqbErbEsbEtbEubEvbEwbExbEyaQebnMciIciIciObnPbEobEobgZahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbEEbEFbEGbEFbEHahlahjahlbwWbwWbEIbylbQcbQbbQtbQebPGbPGbPPbPJbPzbppahjbEPbEQbERbESbETbDBbEUbDBbEVbDBbDBbDBbCwbQLbQMbtxbCAbtwbtubFebFfbFgbFhbFibqxbCAbFjbFkbtDbFmbuJbFobFpbuObxobFrbxoblrbuxbuEbuzbuFbuCbFvbuIbxobxobusbFzbnTbnTbnTbnTbnTbudbuobLhbupburbFCbCVbucbBFbXKccNbDcbEhbEhbEhbEhbEhbEhbEhbDcbFHbubbFJbFKbFLbDdbtUbtZbuabtXbtYbHqbtKbFQbFQbFQbFQbFRbTubFTbEybgZbLFbtIbQxbQxbtJbFVbFWahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbFXbFYbFXahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbFZbGabGbbGabFZbGcbGdbGebwWbGfbylbGgbQCbQvbGibwWbCvbGjbCvbCvboEbqNahlbGmbGnbGobGpbDBbDBbGqbDBdnRbGsbGtbDBbCwbQLbuQbuRbCAbuPbGybGzbGAbGBbFhbuUbqxbsfbuScdQbuTcdQbwebGKbuCbwgbmPbwfbmPbvVbsUbvSbmObvWbuCbGRbxobxobxobGSbGTbnTbGUbwjbwkbwibggbwhbqMbGYbCVbCVbGZbHabHbccPbvcbDcbEhbEhbEhbEhbEhbEhbEhbDcbHebuZbuYbvubvxbvAbvHbvIbscbvRbHobFQbvebFQbFQbFQbFQbFQbFQbFQbEybuXbuWbuVbHwbHxbHybHzbHAahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbHBbFXbHCbFXbHBahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahjahlbEGbHDbHEbHDbEGbHFbHGbHHbwWbHIbylbHJbylbylbGibwWbHKbHLbELbCvboEboFahjbGmbHNbHObHPbHQbHRbHQbHQbHSbHTbHQbHQbHUbqubeLbHXbCAbCBbCAbCAbCAbCAbHYbPxbPmbHZbIabIbbIcbrObIcbIfbuCbrMbrLbIibrNbrGbuCbrKbrJbrpbuCbIobrEbIqbrgbIsbItbnTbgdbrbbrcbqWbqYbrabIxbIybIzbCVbCVbIAbBFbsfccNbDcbDcbICbEhbEhbIDbICbDcbDcbIEbIFbIGbsebIHbDdbsdbhibscbsabsbbrVbrVbrWbrXbrUbrVbrPbrQbqGbqDbqIbqHbqVbPybIWbIXbIYbIZahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbJabJbbJcbJdbJebJbbJaahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbFZbGabGbbGabFZbGcbGdbGebwWbGfbylbGgbQCbQvbGibwWbCvbGjbCvbCvboEbqNahlbGmbGnbGobGpbDBbDBbGqbDBdnRbGsbGtbDBbCwbQLbuQbuRbCAbuPbGybGzbGAbGBbFhbuUbqxbXKbuScdQbuTcdQbwebGKbuCbwgbmPbwfbmPbvVbsUbvSbmObvWbuCbGRbxobxobxobGSbGTbnTbGUbwjbwkbwibggbwhbqMbGYbCVbCVbGZbHabHbccPbvcbDcbEhbEhbEhbEhbEhbEhbEhbDcbHebuZbuYbvubvxbvAbvHbvIbscbvRbHobFQbvebFQbFQbFQbFQbFQbFQbFQbEybuXbuWbuVbHwbHxbHybHzbHAahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbHBbFXbHCbFXbHBahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahjahlbEGbHDbHEbHDbEGbHFbHGbHHbwWbHIbylbHJbylbylbGibwWbHKbHLbELbCvboEboFahjbGmbHNbHObHPbHQbHRbHQbHQbHSbHTbHQbHQbHUbqubeLbHXbCAbCBbCAbCAbCAbCAbHYbPxbPmbHZbIabIbbIcbrObIcbIfbuCbrMbrLbIibrNbrGbuCbrKbrJbrpbuCbIobrEbIqbrgbIsbItbnTbgdbrbbrcbqWbqYbrabIxbIybIzbCVbCVbIAbBFbXKccNbDcbDcbICbEhbEhbIDbICbDcbDcbIEbIFbIGbsebIHbDdbsdbhibscbsabsbbrVbrVbrWbrXbrUbrVbrPbrQbqGbqDbqIbqHbqVbPybIWbIXbIYbIZahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbJabJbbJcbJdbJebJbbJaahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbFZbHDbHDbHDbJfbJgbylbylbJhbHIbylbylbylbylbGibwWbfFbELbccbCvboEbtFahlbGmbJmbJnbJobDBbDBbJpbDBbJqbJrbJsbJtbCwbshbsgbsobsmbsxbsvbsvbsvbsvbsvbsybsvbsBbszbsFbsCbsVcePchtbsUbsUbsUbsUbsUbsUbsUbsUbsUbsUbsUbsUbsUbsUbsUbsUbtbbnTbnTbnTbnTbnTbtabuAbhSbBFbBFbBFbBFbBFbBFbXKccNbDcbJQbJRbJSbJTbJUbJVbJQbJWbIEbIFbIGbtpbtqbtrbtsbthbtmaKvbEobKabKabKbcGybtdbKebFQbFQbKfbEybsHbKhbsMbEobKjbKkbKlbEoahjahlahlahjahlahlahlahlahjahlahlahlahlahjahlahlahlahlahjahlahjahjbKmbKnbKobKpbKpbKpbKqbKmbKnahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbEGbHEbHEbHEbEGbKrbKsbKtbKubKvbylbylbKwbEKbKxbwWbCvbCvbCvbCvboEbppahjbKybEQbKzbKAbKBbDBbKCbDBbDBbDBbDBbDBbCwbQLbhhbgYbgLbgKbgKbgKbgKbgKbgKbgJbgIbgHbfLbgGbgBbfRbfQbfSbmNbfTbmNbmNbmNbmNbmNbmNbmNbmNbmNbmNbmNbmNbmNbfVbgabnTbgdbLdbMzbgebggbgibgkbglbgobgobgxbfMbfLbfKbfJbDcbLrbLsbLtbLubLvbLwbLxbJWbJWbJWbJWbJWbJWbLybfNbfObfPbLBbEobEybEybEybEybEybEybLDbFQbFQbEybgZbLFbLEbEobLGbLHbLIbLJdsidsiahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjahjbLKbLLbLKbKpbLMbKpbLNbLObFXahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbFZbLPbLQbLRbFZbLSbGdbGebwWbwWbLTbLUbLVbwWbwWbwWahlahlahlbLWbqhbqNahlahlahjahlbCwbLYbLZbMabDBbMbbiEbiJbiSbKGbiDbiCbfIbMibMjbMkbMlbMmbesbMjbMjbMjbMjbMjbMobiBbMjbMjbxtbMjbFSbMjbMjbMjbMjbMjbCDbCDbCDbCDbCDbCDbCDbCDbNIbXIbnTbhHbhFbhGbhMbicbhIbqgbipbhpbhpbiobhpbhpbhsbhqbDcbhwbMNbhCbMNbhEbMNbMObMPbMQbMRbMSbMTbMUbgUbribhibepbMXahjbMYbMZbNabNbbhmbNbbNdbNebNfbEyckEbNhbiubEobEobEobEobEoahjahlahlahjahlahlahlahlahjahlahlahlahlahjahlahlahlahlahjahlahjahjbKmbKnbNjbKpbKpbKpbNkbKmbKnahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbNlbEFbNmbEFbNnahlahjahlahjdsiahjahlahjdsiahjahlahlahlahjbHMboEboFahjahjahjahjbCwbCwbCwbCwbCwbCwbCwbCwbCwbCwbeybexbewbevbMjbMkbMlbMmbesbNrbNrbNtbNubNvbeubetbNybNzbNAbdWbNCbNDbNEbNFbOGcGaahjahlahlahlahlahlahjbCDbNIbSubNJbNJbNJbNJbNJbNKbNLboDbNJbNJbNJbNJbNJbNJbSubencGubNQbNRbNSbNRbNTbNUbNVbNWbNWbNWbNWbNWbNWbNXbeqbeobepbObahjbMYbOcbOcbOdbOebOfbOgbOhbOibEycoxbNhbPqbgZbOkayRbgZahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahlahlahlahlahjahjbJabHBbOmbOnbOobOpbJaahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlahlahlahjahlahjdsiahjahlahjdsiahjahlahlahlahlbHMboEboFahlahlahlahjbOqbOrbOrbOsbOtbOubOubOwbOwbOqbQLbfHbfIbOzbMjbOAbOBbOBbfibODbNrbOEbOFbfrbfCbfsbeMbeHbmgbeBbOGbOLbOGbOMbONbOOahjbOPbOPbOPbOPbOPahjbCDbNIbpaboQbezbOSbOTbNJbpnbpgbphbNJbOXbOYbOZbOYbOXbSubeTbDcbMNbMNbMNbeZbMNbMNbfhbeUbPcbPcbPgbPcbPcbgSbePbeNbeObPkahjbMYbOcbPlbNbbeSbNbbPnbPobPpbEyblAbNhbPqbgZblAblAbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbJbbFXbPrbFXbPsahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahjahjahjahjahjahjbCvbCvbPtbPubPvbCvbCvahlahlahlahlbHMboEboFahlahlahlahjbOqbPwbOsbOsbOsbOsbOubCsbzObBqbDIbiCbjWbPBbPCbjVbjUbjTbkabkcbkbbjUbjUbjUbkabjZbjEbjDbjMbPHbPKbTqbPMbPNbPObTnbPQbPRbPSbPTbPUbOPahjbjRbNIbSubPWbOXbOXbOXbNJbjNbeAbjPbNJbOYbQdbOYbzNbzMbyObjLbDcbQfbQgbQhbQibQjbQkbQlbQmbQnbQobQpbQqbQrbJWbSSbjBbjCbQubQubEybEybEybEybEybEybEobEobEobEybjzbNhbjyblAblAbQzbgZahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbFXbFYbFXahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahjahjahjahjahjahjbCvbCvbPtbPubPvbCvbCvahlahlahlahlbHMboEboFahlahlahlahjbOqbPwbOsbOsbOsbOsbOubCsbzObBqbDIbiCbjWbPBbPCbjVbjUbjTbkabkcbkbbjUbjUbjUbkabjZbjEbjDbjMbPHbPKbTqbPMbPNbPObTnbPQbPRbPSbPTbPUbOPahjbjRbNIbSubPWbOXbOXbOXbNJbjNbeAbjPbNJbOYbQdbOYbzNbzMbyObjLbDcbQfbQgbQhbQibQjbQkbQlbQmbQnbQobQpbQqbQrbJWbSSbjBbjCbQubQubEybEybEybEybEybEybEobEobEobEyblAbNhbjyblAblAbQzbgZahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbFXbFYbFXahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlbCvbQAbELbQBbELaClbCvahlahlahlahlbHMbqhboFahlahjbQDbQEbOqbQFbQGbQHbOsbOsbQIbQJbOubQKbQLbfHcerbQNbQObkubkwbkvbkBbkAbkCbkvbkxbkvbkzbkybPIbQVbQWbQXbQYbQZbRabRbbRcbTsahjbRebRfbPUbRgbOPahjcbMbNIbSubRibRjbOXbRkbNJbRlbEJbktbNJbOXbvEbRpbOXbOXbSubNIbDcbJWbJWbJWbJWbLybRtbRubRvbLybJWbJWbJWbJWbJWbRwcfbbUIbRzbRAbRBbRCcbGbRCbREbQubRFbRybRGbRHcjSbNhbPqbgZbgZbgZbgZbRJahjahjahjdsidsidsidsidsidsiahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahjbCvazvbELbELbELaBdbCvahlahlahlahlbHMboEbtFahlahjbTabRNbRObRPbtWbtHbtHbtHbtHbtHbujbvkbvvbfHcerbNqbjdbjcbjbbOGbjebRZbQVbSbbScbSdbSebSfbSfbSgbShbPKbSibSjbSkbSlbSmbMrbSobPRbSpbPUbPUbOPahjbiXbNIbSubdobOXbSsbNKbNJbNJbrFbNJbNJbSvbrAbStbSvbSzbSubNIbDcbSDbSEbSEbSFbSGbMNbSHbSIbSJbSKbEhbEhbEhbJWbSLbiYbiZbSMbSNbRBbSObSPbMsbSRbSSbRybSTbRybRHaDGbiUbiVbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlbCvazvbELbELbSYaBgbCvahlahjahlahlbJlboEbppbCvbCvbCvbTbbOqbTcbOsbOsbOsbTdbTebTfbTgbOqbQLbfHcerbNqbQObjtbjxbOGbOGbTjbNrbTkbTlbTmbSQbOGbOGbTobTpbRdbTrbPLbTtbOJbTtbTvahjbOPbOPbOPbOPbOPahjbCDbNIbSubTwbyybyybyKbynbypbwNbjibjgbOXbvEbOXbOXbOXbSubNIbDcbEhbEhbEhbTJbTKbMNbTLbMNbTMbTNbEhbEhbEhbJWbTObjmbjqbYbbjsbTRbTSbTTbTRbTUbQubTVbRybTWbRHbgZcgFbjfbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaeahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlbTXahlahjahjbTYbTYbTYbTYbTYbTYbTYbTYbCvbCvbTZbCvbCvbCvbPtbPubPvducduddujduidukdrBdudduhbvkbvkbvkbvkbvkbvkbvkbvkbvkdugduedufcerbUdbMjbNscaGbUebUfbUebNrbOGbOGbOGbSQbUibONbONbUjchfbUlbTqbUmbUpbUobTnbPQbPRbUqbUrbUrbOPahjbCDbNIcaVbPZbPZbPZcbhbUsbOXdulbOXbOXbOXbvEbOXbOXbOXbSubNIbDcbEhbEhbEhbUAbUBbSIbUCbMNbUDbUEbSEbSEbUFbJWbUGbUHbUIcbzcbjbRBbMsbUKbTRbULbQubUMbUMbUMbRHcaUbZPbjfbgZahjahjahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlbUObUPbUQbURbUSbURbUTbUUbUVbUWbUXbUYbUZbTYbVabVbbVbbVbbVbbVbbVbbVbbVbdsHdtidtJdrldrldrldrldtHdtpdtpdtpdtxdtpdtmbPGbPGdtkbppbQLbfHcerbVobVpbZNbZMbONbONbZLbVsbONbONbVtcgqbVvbOGbVwbVxbVybVzbOGcgrbUnbVCbTsahjbRebVDbVEbVFbOPahjcaSbZRbZQbZQbZQbZSbSubVKbTwdtRdtOdtVdtSdtYdtXduadubbSubNIbDcbJWbJWbJWbJWbVRbVSbTLbVTbVRbJWbJWbJWbJWbJWbVUbVVbVWcaCcaBbVZbVZbVZbVZcaFbSSbUMbUMbWcbRHbZObZPbjfbgZbgZbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlbWebWebWebWebWebWfbWgbWhbWibWibWhbTYbELbWjbWkbWkbWkbWkbWkbWkbWlbppdcdbWnbWnbWnbWnbWnbWnbWnbWnbWobWobWobWobWocbNdumbppbQLbfHcerbVobWscceccfbWvbSfcbVbWxbSfbSfbWybWzbWAbWBbWCbWDciobWFbOGcgrbWGbWHbMrbSobPRbWJbUrbUrbOPahjcbMbXKbCDbCDbCDbjLbSubWNbOXbOXbWPduwbUtbWTcbUbWTbUtbSubNIbDcbSDbSEbSEbWUbSGbMNbSHbSIbWVbWWbEhbEhbEhbJWbWXbWYbWZbRxbjmbYbccuccwccvccibQubUMbUMbUMbRHbZObZPbjfblAblAbgZahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbXcbXdbZnbXfbZnbXgbXhbZschmchmbXkbTYbXlbXmahlahlahjahlahlahjahlbppdcdbWnbXnbXobXpbXqbXrbXsbXnbXtbXubXvbXwbWobWodumbppdunbfHcerbXybXzcbDcbDbXCbMjbMjbMjbMjbMjbXDchjbNrbNrbNrbXFbOGbVybOGcgrbUnbXGbTsahjbOPbOPbOPbOPbOPahjbXHbXKbCDcbobXKbjLbpadusdurduvdutduqdupbXPcbUbXPbXQbSubNIbDcbEhbXRbEhbXSbTKbMNbTLbMNbTMbXTbEhbXRbEhbJWbXUbXVbXWbXXbXYbXZbYacbQcbPcbFbSSbCxbYfchUbRHbUMbZPbUwbgZblAbgZbgZbgZdsidsiahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlbUObUPblMbsfbUSbsfbSnbURbUQbUWbUXbUYbUZbTYbVabVbbVbbVbbVbbVbbVbbVbbVbdsHdtidtJdrldrldrldrldtHdtpdtpdtpdtxdtpdtmbPGbPGdtkbppbQLbfHcerbVobVpbZNbZMbONbONbZLbVsbONbONbVtcgqbVvbOGbVwbVxbVybVzbOGcgrbUnbVCbTsahjbRebVDbVEbVFbOPahjcaSbZRbZQbZQbZQbZSbSubVKbTwdtRdtOdtVdtSdtYdtXduadubbSubNIbDcbJWbJWbJWbJWbVRbVSbTLbVTbVRbJWbJWbJWbJWbJWbVUbVVbVWcaCcaBbVZbVZbVZbVZcaFbSSbUMbUMbWcbRHbZObZPbjfbgZbgZbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlbWebWebWebWebWebWfbUTbWhbWibWibWhbTYbELbWjbWkbWkbWkbWkbWkbWkbWlbppdcdbWnbWnbWnbWnbWnbWnbWnbWnbWobWobWobWobWocbNdumbppbQLbfHcerbVobWscceccfbWvbSfcbVbWxbSfbSfbWybWzbWAbWBbWCbWDciobWFbOGcgrbWGbWHbMrbSobPRbWJbUrbUrbOPahjcbMbXKbCDbCDbCDbjLbSubWNbOXbOXbWPduwbUtbWTcbUbWTbUtbSubNIbDcbSDbSEbSEbWUbSGbMNbSHbSIbWVbWWbEhbEhbEhbJWbWXbWYbWZbRxbjmbYbccuccwccvccibQubUMbUMbUMbRHbZObZPbjfblAblAbgZahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjbXcbXdbUUbXfbUUbWgbUVbXhbXgbXgbXkbTYbXlbXmahlahlahjahlahlahjahlbppdcdbWnbXnbXobXpbXqbXrbXsbXnbXtbXubXvbXwbWobWodumbppdunbfHcerbXybXzcbDcbDbXCbMjbMjbMjbMjbMjbXDchjbNrbNrbNrbXFbOGbVybOGcgrbUnbXGbTsahjbOPbOPbOPbOPbOPahjbXHbXKbCDcbobXKbjLbpadusdurduvdutduqdupbXPcbUbXPbXQbSubNIbDcbEhbXRbEhbXSbTKbMNbTLbMNbTMbXTbEhbXRbEhbJWbXUbXVbXWbXXbXYbXZbYacbQcbPcbFbSSbCxbYfchUbRHbUMbZPbUwbgZblAbgZbgZbgZdsidsiahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjbXcbYjbYkbYlbYmbWhbYnbWhbYobWhbWhbYpbELbXmahlahlahjahlahlahjahlbppdcdbWnbXnbYqbYrbYsbYtbYubXnbYvbYwbYxbYybYzbWodumbppbQLbfHcerbYAbYBbMjcdvbYDbMjcdwcuLbYGbMjbYHbSQbZUbNrbYJbWFbOGbWDbYKbYLbUpbYMbTnbPQbPRbYNbYObYPbOPahjbCDbXKbCDbYQbXKbjLbSubYRduzbYTbYUduAduzcdHcdAcdHbzNbyObNIbDcbEhbEhbEhbYZbZabSIbUCbMNbUDbZbbSEbSEbUFbDcbRHbZcbZdbZebRHbRHbZfbZgcdMcdNbZjbVYbVZbZkbUMbUMbZPbjfbgZbrqbgZbZlbgZahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjbXcbZmbZnbZobZnbZpciqbZrbZsbZtbZubTYbZvbZwahlahlahlahlahlahlahlbppdcdbWnbZxbZybZzbYsbZAbZxbZxbYvbZBbZCbYyccAbWodumbppbQLbfHbGwcbAcbAccWccBccQcdbcdlccXduxbMjbOGbSQdjybZVbYJbZWbOGbWDbYKcgrbUnbZXbTsahjbReclkbZZcaabOPahjbCDbXKbCDcabcacbjLbSubNJcadcaebNJduybNJbNJbNJbNJbNJbSubNIbDcbJWbJWbJWbJWbVRcafbTLcagbVRbJWbJWbJWbJWbDcbTRcahbTRbTRbTRbRHbZfbZgcdtcducakcalbRxbCzbRHbUMbZPbjfbgZblAblAblAcanahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaGcahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahjahjahjahjahjahjahjbWebWebWebWebWebTYbTYbYpbTYbTYbTYbTYahjahlahlaPYahlahlahlahlahlduNdcdbWnbZxbZxcarcasbXnbZxcatcaucavcawcaxcaybWodumduMduJduKcexcbAcaDcaEcaEceJcaHcaIceKduLbMjcaLcjIbZUbNrbYJcaNbOGcaObYKcgrcaPcaQbMrbSobPRcaRbYObYObOPahjcaSbXKbCDcaTbXKbjLceQbPZbPZceObNJduOdpDdpCbNKcaZccmbXIbNIbDcbSDbSEbSEcbbbSGbMNbSHbSIcbccbdbEhbEhbEhbDccbebTRbTRbTRbTRbRHcbfcbgceMceLbQubQubRxbQubRHbQubZPbjfbgZcbkcblcbmcbnahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjbXcbZmbUUbZobUUbZpbZnbZrbXhbXhbZubTYbZvbZwahlahlahlahlahlahlahlbppdcdbWnbZxbZybZzbYsbZAbZxbZxbYvbZBbZCbYyccAbWodumbppbQLbfHbGwcbAcbAccWccBccQcdbcdlccXduxbMjbOGbSQdjybZVbYJbZWbOGbWDbYKcgrbUnbZXbTsahjbReclkbZZcaabOPahjbCDbXKbCDcabcacbjLbSubNJcadcaebNJduybNJbNJbNJbNJbNJbSubNIbDcbJWbJWbJWbJWbVRcafbTLcagbVRbJWbJWbJWbJWbDcbTRcahbTRbTRbTRbRHbZfbZgcdtcducakcalbRxbCzbRHbUMbZPbjfbgZblAblAblAcanahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaGcahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahjahjahjahjahjahjahjahjahjahjahjbWebWebWebWebWebTYbTYbYpbTYbTYbTYbTYahjahlahlaPYahlahlahlahlahlduNdcdbWnbZxbZxcarcasbXnbZxcatcaucavcawcaxcaybWodumduMduJduKcexcbAcaDcaEcaEceJcaHcaIceKduLbMjcaLcjIbZUbNrbYJcaNbOGcaObYKcgrcaPcaQbMrbSobPRcaRbYObYObOPahjcaSbXKbCDcaTbXKbjLceQbPZbPZceObNJduObZsdpCbNKcaZccmbXIbNIbDcbSDbSEbSEcbbbSGbMNbSHbSIcbccbdbEhbEhbEhbDccbebTRbTRbTRbTRbRHcbfcbgceMceLbQubQubRxbQubRHbQubZPbjfbgZcbkcblcbmcbnahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHaaHaaHdpXdpXaaHdpXdpXdpXaaRdpXdpXdpXaaHdpXahjahjbCvbELbELbELbELbELbELbELbELbJjcbpahjahlahlahjdsiaFFahlahlahldotdcdbWncbscbtcascbubXnbXncbvcbwcbvcbxbYycbybWoduCduBduDduEbHXcbAdpFcaEcdOcdzcbEduGcdPduFduHbPHcirbNrbNrbNrcbJbOGcbKcbLcgrbUnbOGbTsahjbOPbOPbOPbOPbOPahjcbMbXKbCDcchcbObZRbZQbZQceocepbNKduIcuYdpBbNKceabhpcdTcbWbDcbEhbEhbEhcbXbTKbMNbTLbMNbTMcbYbEhbEhbEhbDccbZbTRccabTRbTRccbcccccdcemcebbQubRxbRxccgbRHaDGbPdbWdbgZccjcckblAcclahjahlahlahlahlahlaaeahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlahlahjahjahlahjahjahlahlahjahjahjahldpXahlahlbCvbRKbELbCvbCvbCvbTZbCvbCvbCvbCvahlahlahldsiaDIauKdsidsiahjdotdcdbWnccpbZxbXnbXnbXnbZxcatccqccrbYyccscctbWobCvbCvbTzbTAbTBcbAcbAccxcaEdoZdoKdoMdoNdoQbMjbOGbVAccDccEccFbQWccGbVuccIbYLbUpccJbTnbPQbPRccKccLccLbOPahjbXHbXKbCDbCDbCDbXKbCDbCDccMbDbbCDbCDcuBbCDbCDbDbbSWbSXbThbDcbEhbEhbEhccRccSbSIccTbMNbUDccUbSEbSEbUFbDcbTRbTRccVbTRbTRbRHcbfcbgbTibTxbQuccYccZcdabRHbfGbPdbjfbgZbgZbgZblAbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlcdccddcdeahlcdccddcdeahlcdccddcdeahjdpXahlahlbCvcdfcdgbCvcdhbELbELbOlaClcdkbCvahlahlahlatIdsidsiahjahlahldbVdcdbWnbZxcdncdobXncdpbZxbZxbYvcdqbYybYycdrbWocdsbSVbSCbSUbSBdoidnZdcNdctdcNdctdcvdctdcubMjcdCcdDcdEbSfbSfbShbUicdFbUmbSibUncdGbTsahjbReclhcdIcdJbOPahjbCDbXKbXKcdKbXKbXKcdLbCDccMbSabRYbSqbSnbSwbRYbSAccMbLEcdVbDcbDcbDcbDcbDcbDccdWcdXcdYbDcbDcbDcbDcbDcbDcbRHbRHbRHbRHbRHbRHcdZcdZbSxbSybRHbRHbRHbRHbRHbgZcgFbjfbgZbNibOjblAbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlcdcceecdeahlcdcceecdeahlcdcceecdeahjahjahlahlbCvbPtbPvbCvbCvcefcegaClbELbSYbCvahlahlahlahlahjahlahlahlahlbppdcdbWnbXncehceibXncejcekbXnbYvcelbYxbYybYybVebVfbfIcercHqbVgceucevcewbVhceycezdpYcaEdqsbMjceBbOGbVAbUibONceCbWEceEceFbNFceGceHbMrbSobPRceIccLccLbOPahjbCDbXKbXKbXKbXKbXKbUzbCDbVdbUxbUNbJFbfKbJFbUJbUxbUybLEbTEbgZahlahlahlahjahlahlceVahlahjahlahlahlahlbgZceWayRceYceZceZbRHcfacfabSxbiZcfccfdblAblAblAaDGcgFbUwbgZcffblAblAbgZbgZbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahldpXahjcdcceecdeahlcdcceecdeahjcdcceecdeahjahjahlahlahlahlahjahjbCvbCvbCvbCvbTZbCvbCvahlahlahlahlahjahlahlahjahlbppdcdbWnbXncfgcfhcficfjcfkbXncflcfmcfncfocfpbWocfqdpVdpPdpQdpNdpOdpTdpUdpRdpSdpsdpzdpadprdpAdpEbQZcfFbVBbOGbOGbOGbOMbVvbVBbUnbXGbTsahjbOPbOPbOPbOPbOPahjbCDcabcfHcfIcfJcacbCDbCDbCDcfKbTGcdUbXKcfMbTFbCDbCDbLEbTEbgZahlahlahlahjahlahlceVahlahjahlahlahlahlbgZblAbjzbrsbjzblAbRHcfScfSbTDbiZbRHbQubgZcfUcfVaDGcgFbTCbECbECbECcfYcfZcgacfZcgbdsiahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlcdcceecdeahjcdcceecdeahlcdcceecdeahlahjahlahlahlahlahlahlbCvaOlbCvbELbELbCvahjahlahjahlahlahjahlahlahjahlbppdcdbWnbWnbWnbWnbWnbWnbWnbWnbWobWobWobWobWobWobCvbWpbCvcggcghcghcghcgicgjcgkcghbWrdqEdqRbMjchebXEbSkbXjcgscgtcgsbXjcgubXjcgvbUicgwahjahjahjahjahjahjahjahlahjcbMbXKcbMahjahlbCDcgxbCDcgzcgzcgAcgzcgzbCDbYQbzgbTEbgZcgCcgDcgEbgZcgCcgDcuncgEbgZcgCcgDcgDcgEbgZbgZbgZcgGbgZbgZbRHbRHbRHbWabWbbRHaDGbgZcbmblAbpYcgFbWdbgZbgZcgLbgZbgZbgZbgZahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHaaHdpXahjahlcdcceecdeahjcdcceecdeahlcdcceecdeahjahjahjahjcgMcgNcgNcgNcgNbCvbCvcgObELbCvcgPbWkbWkbWkbWkbWkbWkbWkbWlbCvbppdcdbCvcgQbVPbVObVObVObVObVObVObVObVObVObVXbVXbVObVQcefcggcnjcgWcgXcgYcgZchacghdoBcmIdqxbMjchebXichgchhchibWIchkchlbOGbXechnchobOIahjahjahlahlahlahlahjahlahjchpcfIchpahjahlbCDchqbsfbVicdUbsfcdUcdUbXKbXKbzgbJEbVHbVHbVHbVHbVHbVHbVHbVIbVqbVqbVqbVqbVqbVqbVrbVqbVqbVqbVqbVGciFbVlbVkbVjbVnbgZbgZbVmciFbVJciFbVLbjfbgZchLblAblAbgZahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlahjahlahjahjchMahjahjahjchMahjahlahjchMahjahlahjchNchOchPchQchRchSchTcgebELchYchZciachZchZchZchZchZchZchZchZchZchZdsrdsydrBdrAbiTcicciccicciccicciccicciccicciccicciccicciccggcghciecifdsbbZDbZEbZFckUckbdspciccincfGcipceDcipcfGcipceDcipccHcipccHcisahjahjahlahlahlahlahjahlahjahlahlahlahjahlbCDchqbXKcdUcjMbYWbYVceTbFobXabXbbWQbWQbWQbWQbWQbWQbWQbWRbWSbWQbWQbWQbWQbWQbWQbYIbYEbYhchEbYCbYibYcbYcbYcbYdbXAbXxbXObXBbYYbYcbYcbYXbZhbgZbOjblAcbabgZahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahldpXahjciRciSciSciTciUciUciUciUciUciUciUciUciUciUciUciVciXciYciXciZdrvcjbcbHchZcjdcjeaClbCvcjgcjhcjhcjhcjhcjhcjhcjhcjibCvbCvdrqdrldrjdrgciccjncjncjociccjpcpFcpEcpCcpOcpNcjvcmvcjxcjycghcjzcjAdracjCcjDcjEcjHdrbdrdcicahjcbIahjcaMahjcbIahjcaMahjbZqahjbZqahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbCDbXKcjLcjMccPcjObXJbFobSZbWqbCDbgZcgCcgDcgDcgEbgZcgCcgDcgDcgEbgZcgCcgDcgDcgEbgZcpGblAbgZbWKbWwbgZbgZcgCcgEbgZbgZcjTbPdbPbbgZcjUcjVbpWbgZbgZbgZbgZbgZahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlcdccddcdeahlcdccddcdeahlcdccddcdeahjdpXahlahlbCvcdfcdgbCvcdhbELbELbOlaClcdkbCvahlahlahlatIdsidsiahjahlahldbVdcdbWnbZxcdncdobXncdpbZxbZxbYvcdqbYybYycdrbWocdsbSVbSCbSUbSBdoidnZdcNdctdcNdctdcvdctdcubMjcdCcdDcdEbSfbSfbShbUicdFbUmbSibUncdGbTsahjbReclhcdIcdJbOPahjbCDbXKbXKcdKbXKbXKcdLbCDccMbSabRYbSqbZtbSwbRYbSAccMbLEcdVbDcbDcbDcbDcbDcbDccdWcdXcdYbDcbDcbDcbDcbDcbDcbRHbRHbRHbRHbRHbRHcdZcdZbSxbSybRHbRHbRHbRHbRHbgZcgFbjfbgZbNibOjblAbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlcdcceecdeahlcdcceecdeahlcdcceecdeahjahjahlahlbCvbPtbPvbCvbCvcefcegaClbELbSYbCvahlahlahlahlahjahlahlahlahlbppdcdbWnbXncehceibXncejcekbXnbYvcelbYxbYybYybVebVfbfIcercHqbVgceucevcewbVhceycezdpYcaEdqsbMjceBbOGbVAbUibONceCbWEceEceFbNFceGceHbMrbSobPRceIccLccLbOPahjbCDbXKbXKbXKbXKbXKbUzbCDbVdbUxbUNbJFcgAbJFbUJbUxbUybLEbTEbgZahlahlahlahjahlahlceVahlahjahlahlahlahlbgZceWayRceYceZceZbRHcfacfabSxbiZcfccfdblAblAblAaDGcgFbUwbgZcffblAblAbgZbgZbgZahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahldpXahjcdcceecdeahlcdcceecdeahjcdcceecdeahjahjahlahlahlahlahjahjbCvbCvbCvbCvbTZbCvbCvahlahlahlahlahjahlahlahjahlbppdcdbWnbXncfgcfhcficfjcfkbXncflcfmcfncfocfpbWocfqdpVdpPdpQdpNdpOdpTdpUdpRdpSdpsdpzdpadprdpAdpEbQZcfFbVBbOGbOGbOGbOMbVvbVBbUnbXGbTsahjbOPbOPbOPbOPbOPahjbCDcabcfHcfIcfJcacbCDbCDbCDcfKbTGcdUbXIcfMbTFbCDbCDbLEbTEbgZahlahlahlahjahlahlceVahlahjahlahlahlahlbgZblAchmbrscOnciqbRHcfScfSbTDbiZbRHbQubgZcfUcfVaDGcgFbTCbECbECbECcfYcfZcgacfZcgbdsiahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlcdcceecdeahjcdcceecdeahlcdcceecdeahlahjahlahlahlahlahlahlbCvaOlbCvbELbELbCvahjahlahjahlahlahjahlahlahjahlbppdcdbWnbWnbWnbWnbWnbWnbWnbWnbWobWobWobWobWobWobCvbWpbCvcggcghcghcghcgicgjcgkcghbWrdqEdqRbMjchebXEbSkbXjcgscgtcgsbXjcgubXjcgvbUicgwahjahjahjahjahjahjahjahlahjcbMbXKcbMahjahlbCDcgxbCDcgzcgzdpdcgzcgzbCDbYQbzgbTEbgZcgCcgDcgEbgZcgCcgDcuncgEbgZcgCcgDcgDcgEbgZbgZcgFcgGbgZbgZbRHbRHbRHbWabWbbRHaDGbgZcbmblAbpYcgFbWdbgZbgZcgLbgZbgZbgZbgZahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHaaHdpXahjahlcdcceecdeahjcdcceecdeahlcdcceecdeahjahjahjahjcgMcgNcgNcgNcgNbCvbCvcgObELbCvcgPbWkbWkbWkbWkbWkbWkbWkbWlbCvbppdcdbCvcgQbVPbVObVObVObVObVObVObVObVObVObVXbVXbVObVQcefcggcnjcgWcgXcgYcgZchacghdoBcmIdqxbMjchebXichgchhchibWIchkchlbOGbXechnchobOIahjahjahlahlahlahlahjahlahjchpcfIchpahjahlbCDchqdpkbVichtdpDcdUcdUbXKbXKbzgbJEbVHbVHbVHbVHbVHbVHbVHbVIbVqbVqbVqbVqbVqbVqbVrbVqduQbVqbVqbVGciFbVlbVkbVjbVnbgZbgZbVmciFbVJciFbVLbjfbgZchLblAblAbgZahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlahjahlahjahjchMahjahjahjchMahjahlahjchMahjahlahjchNchOchPchQchRchSchTcgebELchYchZciachZchZchZchZchZchZchZchZchZchZdsrdsydrBdrAbiTcicciccicciccicciccicciccicciccicciccicciccggcghciecifdsbbZDbZEbZFckUckbdspciccincfGcipceDcipcfGcipceDcipccHcipccHcisahjahjahlahlahlahlahjahlahjahlahlahlahjahlbCDchqduRcdUduSbYWbYVceTbFobXabXbbWQbWQbWQbWQbWQbWQbWQbWRbWSbWQbWQbWQbWQbWQbWQbYIbYEbYhchEbYCbYibYcbYcbYcbYdbXAbXxbXObXBbYYbYcbYcbYXbZhbgZbOjblAcbabgZahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahldpXahjciRciSciSciTciUciUciUciUciUciUciUciUciUciUciUciVciXciYciXciZdrvcjbcbHchZcjdcjeaClbCvcjgcjhcjhcjhcjhcjhcjhcjhcjibCvbCvdrqdrldrjdrgciccjncjncjociccjpcpFcpEcpCcpOcpNcjvcmvcjxcjycghcjzcjAdracjCcjDcjEcjHdrbdrdcicahjcbIahjcaMahjcbIahjcaMahjbZqahjbZqahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlbCDbXKcjLcjMduTcjObXJbFobSZbWqbCDbgZcgCcgDcgDcgEbgZcgCcgDcgDcgEbgZcgCcgDcgDcgEbgZcpGblAbgZbWKbWwbgZbgZcgCcgEbgZbgZcjTbPdbPbbgZcjUcjVbpWbgZbgZbgZbgZbgZahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHahlahjahlahjahjcjWahjahlahjcjWahjahlahjcjWahjahlahlchNchOcjXcjYcjZckacgNbELbELbELbELbCvahlahlahjahlahlahjahlahlahjahlbCvckdbCvcmacmhcicckfckgckhckickjbhAckUckUckUbOHbOKbORckrbhAcghbvCckuclScjCckwcghaJbclRclMcicbOPckzbReckzbOPckzbReckzbOPckAbReckBbOPahlahlahlahlahlahlahlahlahlahlahlahlahjahlbCDbCDbCDbXKckCcjMccPcnCbCDbCDbCDahlahlahjahlahjahjahlahlahlahlahlahlahlahlahlbgZcnyckEbgZbPbbPdbgZahlahlahlahlbgZblAbPdbPackGckGckHckIckGahlahjahjahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHaaHdpXahjahjcdcckJcdeahlcdcckJcdeahlcdcckJcdeahjahjahjahjckKcgNcgNcgNcgNbJibJjbELbELbCvahjahjcjtcjtcjtcjtcjtcjtcjtahjbCvbCvbCvcmBcmxcicckPckhckhckickQckxckxcmwcmjcmqcmicmiciickUcghckWcmQcmJckZclacghclbcmIcmDcicbOPcldcnDclfbOPclgcnXclibOPcljcnYcllbOPahlahlahlahlahlahlahlahlahlahlahlahlahjahlbRJahlbCDcfKcabcnZcacbCDbCDahlbRJahlahlahlahlahjahlahlahlahlahlahlahlahlahlahlbgZcnUbgZbgZbPibPdbgZbgZcgCcgEbgZbgZblAbPjbPfckGclqclrclsckGahlahlahjahjahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlcdcckJcdeahjcdcckJcdeahlcdcckJcdeahlahlahlahlahlahlahlahlbCvbCvbCvbXlbELbCvahlahlcjtclFclzclEclzclucjtahlbCvbSYbELcnzcmxcicclAclAclBcicclCclDcmmcnpckbcmFbPAcksckockocghclKcnmcncclNclOclPclQcmScmRcicbOPclTclUclTbOPclVclWclVbOPclXclYclZbOPahlahlahlahlahlahlahlahlahlahlahlahlahlahlbRJahlahlahjdsiahlahlahjahlahlbRJahlahlahlahlahjahjahlahlahlahlahlahlcmccmdcmebgZbJkaDGbgZbPEbPFciCciFciCciCciCciCciGcfRbPDckGcnBcnAcmkckGahlahlahlahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaGcahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaHaaHdpXahjahjcdcckJcdeahlcdcckJcdeahlcdcckJcdeahjahjahjahjckKcgNcgNcgNcgNbJibJjbELbELbCvahjahjcjtcjtcjtcjtcjtcjtcjtahjbCvbCvbCvcmBcmxcicckPckhckhckickQckxckxcmwcmjcmqcmicmiciickUcghckWcmQcmJckZclacghclbcmIcmDcicbOPcldcnDclfbOPclgcnXclibOPcljcnYcllbOPahlahlahlahlahlahlahlahlahlahlahlahlahjahlbRJahlbCDcfKduUcnZcacbCDbCDahlbRJahlahlahlahlahjahlahlahlahlahlahlahlahlahlahlbgZcnUbgZbgZbPibPdbgZbgZcgCcgEbgZbgZblAbPjbPfckGclqclrclsckGahlahlahjahjahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlcdcckJcdeahjcdcckJcdeahlcdcckJcdeahlahlahlahlahlahlahlahlbCvbCvbCvbXlbELbCvahlahlcjtclFclzclEclzclucjtahlbCvbSYbELcnzcmxcicclAclAclBcicclCclDcmmcnpckbcmFbPAcksckockocghclKcnmcncclNclOclPclQcmScmRcicbOPclTclUclTbOPclVclWclVbOPclXclYclZbOPahlahlahlahlahlahlahlahlahlahlahlahlahlahlbRJahlahlahjduVahlahlahjahlahlbRJahlahlahlahlahjahjahlahlahlahlahlahlcmccmdcmebgZbJkaDGbgZbPEbPFciCciFciCciCciCciCciGcfRbPDckGcnBcnAcmkckGahlahlahlahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaGcahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahldpXahjcdcckJcdeahlcdcckJcdeahlcdcckJcdeahjahlahlahlahlahlahlahlcgccgdcgcbELbELbCvahlahlcjtcmscmocmncmrcmpcjtahlbCvcegbELcnzcmxcicclAclAclBciccmucmvcmtcnFcnHckVcmAcmvcmzcmAcmvdtocnOcnMcmFcmGcmHcmEckbcnIcicbOPclTcmKclTbOPclVcmLclVbOPclZcmMclZbOPahlahlahlahlahlahlaaeahlahlahlahlahlahlahlbRJahlahlahjcmNahlahlahlahlahlbRJahlahlahlahlahjahjahlahlahlahlahlahjcbnblAcmObgZcphblAbgZbPVbKLbKLbQabKLchEchEchEbPXbPYchKckGcnQcnPcmTckGahlahlahjahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahldpXahjcdcckJcdeahlcdcckJcdeahjcdcckJcdeahjahjahjahjahjahjahjahjbCvbCvbCvbCvbELbCvahjahjcjtcmPcoZcoUcoPcmPcjtahjbCvciccnbclecoccicclAclBclBciccndcnecmycodckbclHclGclJclGclGcnkcnlcnScnRcnocnncnncnncobcoacicbOPbOPbOPbOPbOPbOPbOPbOPbOPbOPbOPbOPbOPahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlahlahlahlahlahlahlahlahlbRJahlahlahlahlahjahjahlahlahlahlahjdsicbncnrblAbrqcpGblAbgZbgZbgZbgZbgZblAbgZahlahjahlahjahlcnscntcnucnvcnwahjahjahjahjahjahjahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
ahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlaaRahjcdccnxcdeahlcdccnxcdeahlcdccnxcdeahjdpXahjahlahlahlahlahlahlahlahlbLWbELcaqahlahlcjtcmZcnfcpkcnqcngcjtcjtcjtciccnEclecoeciccicciccicciccnGckUcofcnpckbckUckUckUbQybQwccOckbckbcnpckUcopckUckUcohcogcicahjahlahlahlahjahjahlahlahjahlahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahjahlaaeahlahlahlahlahlahlahlbRJahlahlahlahlahlahjahlahlahlahlahldsicbnblAaBRbgZbLkblAblAblAblAblAblAblAbgZahlahjahlahjahlahjcnVcnWcnVahjahlahlahjahlahlahjahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahlahl
+25 -33
View File
@@ -902,42 +902,34 @@ while True:
print truesender+":"+temdata
arg = temdata
check = temdata.lower()
if check[0:5] == "https":
if len(temporal_list) == 1:
#commenting out rather then remove the if and else because this uses odd spaced based indenting that doesn't seem to play well with notepad++ and im not fucking with that. attempting to do so broke everything already and i can't into python. so this works
#conn.privmsg(targetchannel,sender+" :Secure Youtube does NOT exist")
#break
else:
#temporal_list2.append("Secure Youtube does NOT exist")
break
if cache_youtube_links == True:
result = YTCV2(arg)
else:
if cache_youtube_links == True:
result = YTCV2(arg)
result = YTCV2(arg,0)
if type(result) == str:
### To remove ="
if result[0:4] == 'nt="':
result = result[4:]
pass
elif result[0:2] == '="':
result = result[2:]
pass
else:
result = YTCV2(arg,0)
if type(result) == str:
### To remove ="
if result[0:4] == 'nt="':
result = result[4:]
pass
elif result[0:2] == '="':
result = result[2:]
pass
else:
pass
if """ in result:
result.replace(""",'"')
if len(temporal_list) == 1:
conn.privmsg(targetchannel,sender+" : "+result)
break
else:
temporal_list2.append(result)
pass
if """ in result:
result.replace(""",'"')
if len(temporal_list) == 1:
conn.privmsg(targetchannel,sender+" : "+result)
break
else:
if len(temporal_list) == 1:
conn.privmsg(targetchannel,sender+" : The video does not exist")
break
else:
temporal_list2.append("The video does not exist")
temporal_list2.append(result)
else:
if len(temporal_list) == 1:
conn.privmsg(targetchannel,sender+" : The video does not exist")
break
else:
temporal_list2.append("The video does not exist")
if len(temporal_list) == 1:
pass
else:
+1 -1
View File
@@ -392,7 +392,7 @@
//Anything not bolted down is moved, everything else is destroyed
if(!AM.anchored)
AM.Move(D)
AM.Move(D, SOUTH)
else
qdel(AM)
if(istype(T, /turf/simulated))
+77 -9
View File
@@ -4,23 +4,58 @@
var/anchored = 0
var/move_speed = 10
var/l_move_time = 1
var/m_flag = 1
var/throwing = 0
var/throw_speed = 2
var/throw_range = 7
var/mob/pulledby = null
var/languages = 0 //For say() and Hear()
var/inertia_dir = 0
glide_size = 8
/atom/movable/Move()
var/atom/A = src.loc
. = ..()
/atom/movable/Move(atom/newloc, direct = 0)
if(!loc || !newloc) return 0
last_move = direct
var/atom/oldloc = loc
if(loc != newloc)
if (!(direct & (direct - 1))) //Cardinal move
. = ..()
else //Diagonal move, split it into cardinal moves
if (direct & 1)
if (direct & 4)
if (step(src, NORTH))
. = step(src, EAST)
else if (step(src, EAST))
. = step(src, NORTH)
else if (direct & 8)
if (step(src, NORTH))
. = step(src, WEST)
else if (step(src, WEST))
. = step(src, NORTH)
else if (direct & 2)
if (direct & 4)
if (step(src, SOUTH))
. = step(src, EAST)
else if (step(src, EAST))
. = step(src, SOUTH)
else if (direct & 8)
if (step(src, SOUTH))
. = step(src, WEST)
else if (step(src, WEST))
. = step(src, SOUTH)
if(!loc || (loc == oldloc && oldloc != newloc))
last_move = 0
return
src.move_speed = world.timeofday - src.l_move_time
src.l_move_time = world.timeofday
src.m_flag = 1
if ((A != src.loc && A && A.z == src.z))
src.last_move = get_dir(A, src.loc)
return
spawn(5) // Causes space drifting. /tg/station has no concept of speed, we just use 5
if(loc && direct && last_move == direct)
if(loc == newloc) //Remove this check and people can accelerate. Not opening that can of worms just yet.
newtonian_move(last_move)
/atom/movable/Del()
if(isnull(gc_destroyed) && loc)
@@ -69,6 +104,39 @@
return 1
return 0
//Called whenever an object moves and by mobs when they attempt to move themselves through space
//And when an object or action applies a force on src, see newtonian_move() below
//Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting
//Mobs should return 1 if they should be able to move of their own volition, see client/Move() in mob_movement.dm
//movement_dir == 0 when stopping or any dir when trying to move
/atom/movable/proc/Process_Spacemove(var/movement_dir = 0)
if(has_gravity(src))
return 1
if(pulledby)
return 1
if(locate(/obj/structure/lattice) in orange(1, get_turf(src))) //Not realistic but makes pushing things in space easier
return 1
return 0
/atom/movable/proc/newtonian_move(direction) //Only moves the object if it's under no gravity
if(!loc || Process_Spacemove(0))
inertia_dir = 0
return 0
inertia_dir = direction
if(!direction)
return 1
var/old_dir = dir
. = step(src, direction)
dir = old_dir
/atom/movable/proc/hit_check() // todo: this is partly obsolete due to passflags already, add throwing stuff to mob CanPass and finish it
if(src.throwing)
for(var/atom/A in get_turf(src))
@@ -116,7 +184,7 @@
var/atom/step = get_step(src, (error < 0) ? tdy : tdx)
if(!step) // going off the edge of the map makes get_step return null, don't let things go off the edge
break
src.Move(step)
src.Move(step, get_dir(loc, step))
hit_check()
error += (error < 0) ? tdist_x : -tdist_y;
dist_travelled++
+21 -30
View File
@@ -459,31 +459,18 @@
targets += C //if the perp has passed all previous tests, congrats, it is now a "shoot-me!" nominee
if(targets.len > 0) //if there are targets to shoot
var/atom/t = pick(targets) //pick a perp from the list of targets. Targets go first because they are the most important
if(istype(t, /mob/living)) //if a mob
var/mob/living/M = t //simple typecasting
if(M.stat != DEAD) //if the target is not dead
spawn()
popUp() //pop the turret up if it's not already up.
dir = get_dir(src, M) //even if you can't shoot, follow the target
spawn()
shootAt(M) //shoot the target, finally
else
if(secondarytargets.len > 0) //if there are no primary targets, go for secondary targets
var/mob/t = pick(secondarytargets)
if(istype(t, /mob/living))
if(t.stat != DEAD)
spawn()
popUp()
dir=get_dir(src, t)
shootAt(t)
else
if(!tryToShootAt(targets))
if(!tryToShootAt(secondarytargets)) // if no valid targets, go for secondary targets
spawn()
popDown()
popDown() // no valid targets, close the cover
/obj/machinery/porta_turret/proc/tryToShootAt(var/list/mob/living/targets)
while(targets.len > 0)
var/mob/living/M = pick(targets)
targets -= M
if(target(M))
return 1
/obj/machinery/porta_turret/proc/popUp() //pops the turret up
@@ -573,15 +560,19 @@
return threatcount
/obj/machinery/porta_turret/proc/shootAt(atom/movable/target) //shoots at a target
/obj/machinery/porta_turret/proc/target(var/mob/living/target)
if(disabled)
return
if(target && (target.stat != DEAD) && (!(target.lying) || emagged))
spawn()
popUp() //pop the turret up if it's not already up.
dir = get_dir(src, target) //even if you can't shoot, follow the target
spawn()
shootAt(target)
return 1
return
if(lasercolor && istype(target,/mob/living/carbon/human))
var/mob/living/carbon/human/H = target
if(H.lying)
return
/obj/machinery/porta_turret/proc/shootAt(var/mob/living/target)
if(!emagged) //if it hasn't been emagged, it has to obey a cooldown rate
if(last_fired || !raised) //prevents rapid-fire shooting, unless it's been emagged
return
+6 -35
View File
@@ -94,50 +94,21 @@
return
/obj/mecha/combat/marauder/relaymove(mob/user,direction)
if(user != src.occupant) //While not "realistic", this piece is player friendly.
user.loc = get_turf(src)
user << "You climb out from [src]"
return 0
if(!can_move)
return 0
if(zoom)
if(world.time - last_message > 20)
src.occupant_message("Unable to move while in zoom mode.")
last_message = world.time
return 0
if(connected_port)
if(world.time - last_message > 20)
src.occupant_message("Unable to move while connected to the air system port")
last_message = world.time
return 0
if(!thrusters && pr_inertial_movement && src.pr_inertial_movement.active())
return 0
if(state || !has_charge(step_energy_drain))
return 0
var/tmp_step_in = step_in
var/tmp_step_energy_drain = step_energy_drain
var/move_result = 0
if(internal_damage&MECHA_INT_CONTROL_LOST)
move_result = mechsteprand()
else if(src.dir!=direction)
move_result = mechturn(direction)
else
move_result = mechstep(direction)
if(move_result)
if(istype(src.loc, /turf/space))
if(!src.check_for_support() && pr_inertial_movement)
src.pr_inertial_movement.start(list(src,direction))
if(thrusters)
src.pr_inertial_movement.set_process_args(list(src,direction))
tmp_step_energy_drain = step_energy_drain*2
return ..()
can_move = 0
spawn(tmp_step_in) can_move = 1
use_power(tmp_step_energy_drain)
/obj/mecha/combat/marauder/Process_Spacemove(var/movement_dir = 0)
if(..())
return 1
if(thrusters && movement_dir && use_power(step_energy_drain))
return 1
return 0
/obj/mecha/combat/marauder/verb/toggle_thrusters()
set category = "Exosuit Interface"
set name = "Toggle thrusters"
+8 -30
View File
@@ -57,7 +57,6 @@
var/list/internals_req_access = list(access_engine,access_robotics)//required access level to open cell compartment
var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature
var/datum/global_iterator/pr_inertial_movement //controls intertial movement in spesss
var/datum/global_iterator/pr_give_air //moves air from tank to cabin
var/datum/global_iterator/pr_internal_damage //processes internal damage
@@ -130,12 +129,10 @@
internal_tank = null
qdel(pr_int_temp_processor)
qdel(pr_inertial_movement)
qdel(pr_give_air)
qdel(pr_internal_damage)
qdel(spark_system)
pr_int_temp_processor = null
pr_inertial_movement = null
pr_give_air = null
pr_internal_damage = null
spark_system = null
@@ -183,7 +180,6 @@
/obj/mecha/proc/add_iterators()
pr_int_temp_processor = new /datum/global_iterator/mecha_preserve_temp(list(src))
pr_inertial_movement = new /datum/global_iterator/mecha_intertial_movement(null,0)
pr_give_air = new /datum/global_iterator/mecha_tank_give_air(list(src))
pr_internal_damage = new /datum/global_iterator/mecha_internal_damage(list(src),0)
@@ -206,13 +202,6 @@
return 1
/obj/mecha/proc/check_for_support()
if(locate(/obj/structure/grille, orange(1, src)) || locate(/obj/structure/lattice, orange(1, src)) || locate(/turf/simulated, orange(1, src)) || locate(/turf/unsimulated, orange(1, src)))
return 1
else
return 0
/obj/mecha/examine(mob/user)
..()
var/integrity = health/initial(health)*100
@@ -304,11 +293,15 @@
//////// Movement procs ////////
//////////////////////////////////
/obj/mecha/Move()
/obj/mecha/Move(atom/newloc, direct)
. = ..()
if(.)
events.fireEvent("onMove",get_turf(src))
return
/obj/mecha/Process_Spacemove(var/movement_dir = 0)
if(occupant)
return occupant.Process_Spacemove(movement_dir) //We'll just say you used the clamp to grab the wall
return ..()
/obj/mecha/relaymove(mob/user,direction)
if(user != src.occupant) //While not "realistic", this piece is player friendly.
@@ -331,7 +324,7 @@
/obj/mecha/proc/dyndomove(direction)
if(!can_move)
return 0
if(pr_inertial_movement && src.pr_inertial_movement.active())
if(!Process_Spacemove(direction))
return 0
if(!has_charge(step_energy_drain))
return 0
@@ -341,14 +334,9 @@
else if(src.dir!=direction)
move_result = mechturn(direction)
else
move_result = mechstep(direction)
move_result = mechstep(direction)
if(move_result)
can_move = 0
use_power(step_energy_drain)
if(istype(src.loc, /turf/space))
if(!src.check_for_support() && pr_inertial_movement)
src.pr_inertial_movement.start(list(src,direction))
src.log_message("Movement control lost. Inertial movement started.")
if(do_after(step_in))
can_move = 1
return 1
@@ -1714,16 +1702,6 @@ var/year_integer = text2num(year) // = 2013???
return stop()
return
/datum/global_iterator/mecha_intertial_movement //inertial movement in space
delay = 7
process(var/obj/mecha/mecha as obj,direction)
if(direction)
if(!step(mecha, direction)||mecha.check_for_support())
src.stop()
else
src.stop()
return
/datum/global_iterator/mecha_internal_damage // processing internal damage
+8 -12
View File
@@ -684,9 +684,9 @@ steam.start() -- spawns the effect
/datum/effect/effect/system/ion_trail_follow/set_up(atom/atom)
attach(atom)
oldposition = get_turf(atom)
/datum/effect/effect/system/ion_trail_follow/start()
/datum/effect/effect/system/ion_trail_follow/start() //Whoever is responsible for this abomination of code should become an hero
if(!src.on)
src.on = 1
src.processing = 1
@@ -696,26 +696,22 @@ steam.start() -- spawns the effect
if(T != src.oldposition)
if(!has_gravity(T))
var/obj/effect/effect/ion_trails/I = new /obj/effect/effect/ion_trails(src.oldposition)
src.oldposition = T
I.dir = src.holder.dir
flick("ion_fade", I)
I.icon_state = "blank"
spawn( 20 )
if(I)
I.delete()
spawn(2)
if(src.on)
src.processing = 1
src.start()
else
spawn(2)
if(src.on)
src.processing = 1
src.start()
src.oldposition = T
spawn(2)
if(src.on)
src.processing = 1
src.start()
/datum/effect/effect/system/ion_trail_follow/proc/stop()
src.processing = 0
src.on = 0
oldposition = null
+13 -15
View File
@@ -67,27 +67,29 @@
var/direction = get_dir(src,target)
if(usr.buckled && isobj(usr.buckled) && !usr.buckled.anchored )
if(usr.buckled && isobj(usr.buckled) && !usr.buckled.anchored)
spawn(0)
var/obj/B = usr.buckled
var/movementdirection = turn(direction,180)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(1)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(1)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(1)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(2)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(2)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(3)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(3)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
sleep(3)
B.Move(get_step(usr,movementdirection), movementdirection)
step(B, movementdirection)
else user.newtonian_move(turn(direction, 180))
var/turf/T = get_turf(target)
var/turf/T1 = get_step(T,turn(direction, 90))
@@ -118,9 +120,5 @@
if(W.loc == my_target) break
sleep(2)
if(!has_gravity(user))
user.inertia_dir = get_dir(target, user)
step(user, user.inertia_dir)
else
return ..()
return
return ..()
+3 -8
View File
@@ -156,7 +156,7 @@
name = "janicart"
icon = 'icons/obj/vehicles.dmi'
icon_state = "pussywagon"
anchored = 1
anchored = 0
density = 1
flags = OPENCONTAINER
//copypaste sorry
@@ -206,6 +206,8 @@
if(user.stat || user.stunned || user.weakened || user.paralysis)
unbuckle()
if(istype(user.l_hand, /obj/item/key) || istype(user.r_hand, /obj/item/key))
if(!Process_Spacemove(direction))
return
step(src, direction)
update_mob()
handle_rotation()
@@ -213,13 +215,6 @@
user << "<span class='notice'>You'll need the keys in one of your hands to drive this [callme].</span>"
/obj/structure/stool/bed/chair/janicart/Move()
..()
if(buckled_mob)
if(buckled_mob.buckled == src)
buckled_mob.loc = loc
/obj/structure/stool/bed/chair/janicart/buckle_mob(mob/M, mob/user)
if(M != user || !ismob(M) || get_dist(src, user) > 1 || user.restrained() || user.lying || user.stat || M.buckled || istype(user, /mob/living/silicon))
return
@@ -22,6 +22,28 @@
unbuckle()
..()
/obj/structure/stool/bed/Move(atom/newloc, direct) //Some bed children move
. = ..()
if(buckled_mob)
buckled_mob.buckled = null
if(!buckled_mob.Move(loc, direct))
loc = buckled_mob.loc //we gotta go back
last_move = buckled_mob.last_move
inertia_dir = last_move
buckled_mob.inertia_dir = last_move
. = 0
buckled_mob.buckled = src
/obj/structure/stool/bed/Process_Spacemove(var/movement_dir = 0)
if(buckled_mob)
return buckled_mob.Process_Spacemove(movement_dir)
return ..()
/obj/structure/stool/bed/CanPass(atom/movable/mover, turf/target, height=1.5)
if(mover == buckled_mob)
return 1
return ..()
/obj/structure/stool/bed/attack_paw(mob/user as mob)
return src.attack_hand(user)
@@ -49,9 +71,10 @@
buckled_mob.anchored = initial(buckled_mob.anchored)
buckled_mob.update_canmove()
var/M = buckled_mob
var/mob/M = buckled_mob
buckled_mob = null
M.newtonian_move(inertia_dir)
afterbuckle(M)
return
@@ -135,13 +158,6 @@
icon_state = "down"
M.pixel_y -= buckled_pixel_y_offset
/obj/structure/stool/bed/roller/Move()
..()
if(buckled_mob)
if(buckled_mob.buckled == src)
buckled_mob.loc = src.loc
else
buckled_mob = null
/obj/item/roller
name = "roller bed"
@@ -11,6 +11,10 @@
handle_layer()
return
/obj/structure/stool/bed/chair/Move(atom/newloc, direct)
..()
handle_rotation()
/obj/structure/stool/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/assembly/shock_kit))
@@ -30,10 +34,10 @@
rotate()
return
/obj/structure/stool/bed/chair/proc/handle_rotation(direction) //making this into a seperate proc so office chairs can call it on Move()
/obj/structure/stool/bed/chair/proc/handle_rotation(direction)
if(buckled_mob)
buckled_mob.buckled = null //Temporary, so Move() succeeds.
if(!buckled_mob.Move(direction))
if(!direction || !buckled_mob.Move(get_step(src, direction), direction))
buckled_mob.buckled = src
dir = buckled_mob.dir
return 0
@@ -127,11 +131,6 @@
/obj/structure/stool/bed/chair/office
anchored = 0
/obj/structure/stool/bed/chair/office/Move(direction)
if(handle_rotation(direction))
..()
handle_layer()
/obj/structure/stool/bed/chair/office/light
icon_state = "officechair_white"
@@ -55,6 +55,11 @@
for(var/atom/movable/M in src.contents)
M.loc = src.loc
/obj/structure/transit_tube_pod/Process_Spacemove()
if(moving) //No drifting while moving in the tubes
return 1
else return ..()
/obj/structure/transit_tube_pod/proc/follow_tube(var/reverse_launch)
if(moving)
return
@@ -97,7 +102,7 @@
if(current_tube == null)
dir = next_dir
Move(get_step(loc, dir)) // Allow collisions when leaving the tubes.
Move(get_step(loc, dir), dir) // Allow collisions when leaving the tubes.
break
last_delay = current_tube.enter_delay(src, next_dir)
@@ -111,22 +116,6 @@
break
density = 1
// If the pod is no longer in a tube, move in a line until stopped or slowed to a halt.
// /turf/inertial_drift appears to only work on mobs, and re-implementing some of the
// logic allows a gradual slowdown and eventual stop when passing over non-space turfs.
if(!current_tube && last_delay <= 10)
do
sleep(last_delay)
if(!istype(loc, /turf/space))
last_delay++
if(last_delay > 10)
break
while(isturf(loc) && Move(get_step(loc, dir)))
moving = 0
+3 -5
View File
@@ -52,8 +52,6 @@
if ((!(A) || src != A.loc))
return
inertial_drift(A)
if(transition)
if(destination_x)
@@ -71,8 +69,8 @@
L.pulling.loc = T
//now we're on the new z_level, proceed the space drifting
if ((A && A.loc))
A.loc.Entered(A)
sleep(0)//Let a diagonal move finish, if necessary
A.newtonian_move(A.inertia_dir)
/turf/space/proc/Sandbox_Spacemove(atom/movable/A)
var/cur_x
@@ -211,4 +209,4 @@ proc/setup_map_transitions() //listamania
S.Assign_Destination()
/turf/space/singularity_act()
return
return
+1 -25
View File
@@ -85,12 +85,7 @@
var/mob/O = M
if(!O.lastarea)
O.lastarea = get_area(O.loc)
var/has_gravity = O.mob_has_gravity(src)
O.update_gravity(has_gravity)
if(!has_gravity)
inertial_drift(O)
else if(!istype(src, /turf/space))
O.inertia_dir = 0
O.update_gravity(O.mob_has_gravity())
var/loopsanity = 100
for(var/atom/A in range(1))
@@ -128,25 +123,6 @@
/turf/proc/return_siding_icon_state() //used for grass floors, which have siding.
return 0
/turf/proc/inertial_drift(atom/movable/A as mob|obj)
if(!(A.last_move))
return
if (A.pulledby)
return
if((istype(A, /mob/) && src.x > 2 && src.x < (world.maxx - 1) && src.y > 2 && src.y < (world.maxy-1)))
var/mob/M = A
if(M.Process_Spacemove(1))
M.inertia_dir = 0
return
spawn(5)
if((M && !(M.anchored) && (M.loc == src)))
if(M.inertia_dir & M.last_move)
step(M, M.inertia_dir)
return
M.inertia_dir = M.last_move
step(M, M.inertia_dir)
return
/turf/proc/levelupdate()
for(var/obj/O in src)
if(O.level == 1)
@@ -158,9 +158,6 @@
/mob/living/carbon/alien/SpeciesCanConsume()
return 1 // Aliens can eat, and they can be fed food/drink
/mob/living/carbon/alien/Process_Spaceslipping()
return 0 // Don't slip in space.
/mob/living/carbon/alien/Stat()
statpanel("Status")
@@ -136,7 +136,7 @@
var/atom/step = get_step(src, get_dir(src,target))
if(!step)
break
src.Move(step)
src.Move(step, get_dir(src, step))
hit_check()
error += (error < 0) ? tdist_x : -tdist_y;
dist_travelled++
+1 -14
View File
@@ -309,20 +309,7 @@
item.layer = initial(item.layer)
src.visible_message("<span class='danger'>[src] has thrown [item].</span>")
if(!src.lastarea)
src.lastarea = get_area(src.loc)
if(!has_gravity(src))
src.inertia_dir = get_dir(target, src)
step(src, inertia_dir)
/*
if(istype(src.loc, /turf/space) || (src.flags & NOGRAV)) //they're in space, move em one space in the opposite direction
src.inertia_dir = get_dir(target, src)
step(src, inertia_dir)
*/
newtonian_move(get_dir(target, src))
item.throw_at(target, item.throw_range, item.throw_speed)
@@ -43,7 +43,7 @@
return ..()
/mob/living/carbon/human/Bump(atom/movable/AM as mob|obj, yes)
if ((!( yes ) || now_pushing))
if ((!( yes ) || now_pushing || buckled))
return
now_pushing = 1
if (ismob(AM))
@@ -111,7 +111,7 @@
if(pulling == AM)
stop_pulling()
var/t = get_dir(src, AM)
AM.Move(get_step(AM, t))
AM.Move(get_step(AM, t), t)
now_pushing = 0
/mob/living/carbon/human/Stat()
@@ -5,40 +5,20 @@
. += ..()
. += config.human_delay
/mob/living/carbon/human/Process_Spacemove(var/check_drift = 0)
//Can we act
if(!canmove) return 0
/mob/living/carbon/human/Process_Spacemove(var/movement_dir = 0)
if(..())
return 1
//Do we have a working jetpack
if(istype(back, /obj/item/weapon/tank/jetpack))
if(istype(back, /obj/item/weapon/tank/jetpack) && isturf(loc)) //Second check is so you can't use a jetpack in a mech
var/obj/item/weapon/tank/jetpack/J = back
if(((!check_drift) || (check_drift && J.stabilization_on)) && (!lying) && (J.allow_thrust(0.01, src)))
inertia_dir = 0
if((movement_dir || J.stabilization_on) && J.allow_thrust(0.01, src))
return 1
//If no working jetpack or magboots then use the other checks
if(..()) return 1
return 0
/mob/living/carbon/human/Process_Spaceslipping(var/prob_slip = 5)
//If knocked out we might just hit it and stop. This makes it possible to get dead bodies and such.
if(stat)
prob_slip = 0 // Changing this to zero to make it line up with the comment, and also, make more sense.
//Do we have magboots or such on if so no slip
if(istype(shoes, /obj/item/clothing/shoes/magboots) && (shoes.flags & NOSLIP))
prob_slip = 0
//Check hands and mod slip
if(!l_hand) prob_slip -= 2
else if(l_hand.w_class <= 2) prob_slip -= 1
if (!r_hand) prob_slip -= 2
else if(r_hand.w_class <= 2) prob_slip -= 1
prob_slip = round(prob_slip)
return(prob_slip)
/mob/living/carbon/human/slip(var/s_amount, var/w_amount, var/obj/O, var/lube)
if(isobj(shoes) && (shoes.flags&NOSLIP) && !(lube&GALOSHES_DONT_HELP))
return 0
@@ -617,13 +617,24 @@
/datum/species/proc/movement_delay(var/mob/living/carbon/human/H)
var/mspeed = 0
if(H.status_flags & GOTTAGOFAST)
mspeed -= 1
if(!has_gravity(H))
return -1 //It's hard to be slowed down in space by... anything
else if(H.status_flags & GOTTAGOFAST)
return -1
mspeed += 2 //Carefully propelling yourself along the walls is actually quite slow
if(istype(H.back, /obj/item/weapon/tank/jetpack))
var/obj/item/weapon/tank/jetpack/J = H.back
if(J.allow_thrust(0.01, H))
mspeed -= 3
if(H.l_hand) //Having your hands full makes movement harder when you're weightless. You try climbing around while holding a gun!
mspeed += 0.5
if(H.r_hand)
mspeed += 0.5
if(H.r_hand && H.l_hand)
mspeed += 0.5
mspeed = 0
var/health_deficiency = (100 - H.health + H.staminaloss)
if(health_deficiency >= 40)
mspeed += (health_deficiency / 25)
@@ -151,7 +151,7 @@
step(AM, t)
now_pushing = null
/mob/living/carbon/slime/Process_Spacemove()
/mob/living/carbon/slime/Process_Spacemove(var/movement_dir = 0)
return 2
/mob/living/carbon/slime/Stat()
+7 -7
View File
@@ -315,9 +315,9 @@
return
/mob/living/Move(a, b, flag)
if (buckled)
return
/mob/living/Move(atom/newloc, direct)
if (buckled && buckled.loc != newloc && !buckled.anchored)
return buckled.Move(newloc, direct)
if (restrained())
stop_pulling()
@@ -328,7 +328,7 @@
for(var/mob/living/M in range(src, 1))
if ((M.pulling == src && M.stat == 0 && !( M.restrained() )))
t7 = null
if ((t7 && (pulling && ((get_dist(src, pulling) <= 1 || pulling.loc == loc) && (client && client.moving)))))
if (t7 && pulling && (get_dist(src, pulling) <= 1 || pulling.loc == loc))
var/turf/T = loc
. = ..()
@@ -395,12 +395,12 @@
if(check_dna_integrity(M)) //blood DNA
var/mob/living/carbon/DNA_helper = pulling
H.blood_DNA[DNA_helper.dna.unique_enzymes] = DNA_helper.dna.blood_type
pulling.Move(T)
pulling.Move(T, get_dir(pulling, T))
if(M)
M.start_pulling(t)
else
if (pulling)
pulling.Move(T)
pulling.Move(T, get_dir(pulling, T))
else
stop_pulling()
. = ..()
@@ -638,4 +638,4 @@
return(gain)
/mob/living/singularity_pull(S)
step_towards(src,S)
step_towards(src,S)
@@ -1,4 +1,4 @@
/mob/living/silicon/robot/Process_Spacemove()
/mob/living/silicon/robot/Process_Spacemove(var/movement_dir = 0)
if(module)
for(var/obj/item/weapon/tank/jetpack/J in module.modules)
if(J && istype(J, /obj/item/weapon/tank/jetpack))
@@ -238,5 +238,5 @@
playstyle_string = "<B>You are a Harvester. You are not strong, but your powers of domination will assist you in your role: \
Bring those who still cling to this world of illusion back to the Geometer so they may know Truth.</B>"
/mob/living/simple_animal/construct/harvester/Process_Spacemove(var/check_drift = 0)
/mob/living/simple_animal/construct/harvester/Process_Spacemove(var/movement_dir = 0)
return 1
@@ -28,8 +28,10 @@
if(isturf(src.loc) && !resting && !buckled) //This is so it only moves if it's not inside a closet, gentics machine, etc.
turns_since_move++
if(turns_since_move >= turns_per_move)
Move(get_step(src,pick(4,8)))
turns_since_move = 0
var/east_vs_west = pick(4,8)
if(Process_Spacemove(east_vs_west))
Move(get_step(src,east_vs_west), east_vs_west)
turns_since_move = 0
regenerate_icons()
//COFFEE! SQUEEEEEEEEE!
@@ -57,7 +57,7 @@
var/step = get_step(src, direction)
if(step)
if(locate(/obj/effect/spacevine) in step)
Move(step)
Move(step, get_dir(src, step))
/mob/living/simple_animal/hostile/retaliate/goat/Retaliate()
..()
@@ -54,7 +54,7 @@
else
icon_state = "bearfloor"
/mob/living/simple_animal/hostile/bear/Process_Spacemove(var/check_drift = 0)
/mob/living/simple_animal/hostile/bear/Process_Spacemove(var/movement_dir = 0)
return 1 //No drifting in space for space bears!
/mob/living/simple_animal/hostile/bear/FindTarget()
@@ -38,7 +38,7 @@ F
faction = list("carp")
/mob/living/simple_animal/hostile/carp/Process_Spacemove(var/check_drift = 0)
/mob/living/simple_animal/hostile/carp/Process_Spacemove(var/movement_dir = 0)
return 1 //No drifting in space for space carp! //original comments do not steal
/mob/living/simple_animal/hostile/carp/FindTarget()
@@ -31,7 +31,7 @@
faction = list("faithless")
/mob/living/simple_animal/hostile/faithless/Process_Spacemove(var/check_drift = 0)
/mob/living/simple_animal/hostile/faithless/Process_Spacemove(var/movement_dir = 0)
return 1
/mob/living/simple_animal/hostile/faithless/FindTarget()
@@ -99,7 +99,7 @@
corpse = /obj/effect/landmark/mobcorpse/syndicatecommando
speed = 1
/mob/living/simple_animal/hostile/syndicate/melee/space/Process_Spacemove(var/check_drift = 0)
/mob/living/simple_animal/hostile/syndicate/melee/space/Process_Spacemove(var/movement_dir = 0)
return
/mob/living/simple_animal/hostile/syndicate/ranged
@@ -131,7 +131,7 @@
corpse = /obj/effect/landmark/mobcorpse/syndicatecommando
speed = 1
/mob/living/simple_animal/hostile/syndicate/ranged/space/Process_Spacemove(var/check_drift = 0)
/mob/living/simple_animal/hostile/syndicate/ranged/space/Process_Spacemove(var/movement_dir = 0)
return
@@ -115,8 +115,10 @@
turns_since_move++
if(turns_since_move >= turns_per_move)
if(!(stop_automated_movement_when_pulled && pulledby)) //Soma animals don't move when pulled
Move(get_step(src,pick(cardinal)))
turns_since_move = 0
var/anydir = pick(cardinal)
if(Process_Spacemove(anydir))
Move(get_step(src, anydir), anydir)
turns_since_move = 0
//Speaking
if(!client && speak_chance)
-1
View File
@@ -731,7 +731,6 @@ var/list/slot_equipment_priority = list( \
canmove = 1
if(buckled)
lying = 90 * bed
anchored = buckled
else
if((ko || resting) && !lying)
fall(ko)
-2
View File
@@ -106,8 +106,6 @@
var/coughedtime = null
var/inertia_dir = 0
var/music_lastplayed = "null"
var/job = null//Living
+38 -83
View File
@@ -86,42 +86,6 @@
return
/atom/movable/Move(NewLoc, direct)
if (direct & (direct - 1))
if (direct & 1)
if (direct & 4)
if (step(src, NORTH))
step(src, EAST)
else
if (step(src, EAST))
step(src, NORTH)
else
if (direct & 8)
if (step(src, NORTH))
step(src, WEST)
else
if (step(src, WEST))
step(src, NORTH)
else
if (direct & 2)
if (direct & 4)
if (step(src, SOUTH))
step(src, EAST)
else
if (step(src, EAST))
step(src, SOUTH)
else
if (direct & 8)
if (step(src, SOUTH))
step(src, WEST)
else
if (step(src, WEST))
step(src, SOUTH)
else
. = ..()
return
/client/proc/Move_object(direct)
if(mob && mob.control_object)
if(mob.control_object.density)
@@ -167,15 +131,14 @@
if(!mob.lastarea)
mob.lastarea = get_area(mob.loc)
if(!has_gravity(mob))
if(!mob.Process_Spacemove(0))
return 0
if(isobj(mob.loc) || ismob(mob.loc)) //Inside an object, tell it we moved
var/atom/O = mob.loc
return O.relaymove(mob, direct)
if(!mob.Process_Spacemove(direct))
return 0
if(isturf(mob.loc))
if(mob.restrained()) //Why being pulled while cuffed prevents you from moving
@@ -244,6 +207,8 @@
. = ..()
moving = 0
if(mob && .)
mob.throwing = 0
return .
@@ -342,51 +307,46 @@
///Called by /client/Move()
///For moving in space
///Return 1 for movement 0 for none
/mob/proc/Process_Spacemove(var/check_drift = 0)
//First check to see if we can do things
if(!canmove)
return 0
/mob/Process_Spacemove(var/movement_dir = 0)
if(!isturf(loc)) //if they're in a disposal unit, for example
if(..())
return 1
var/dense_object = 0
for(var/turf/turf in oview(1,src))
if(istype(turf,/turf/space))
var/atom/movable/dense_object_backup
for(var/atom/A in orange(1, get_turf(src)))
if(isarea(A))
continue
if(!turf.density && !mob_negates_gravity())
continue
else if(isturf(A))
var/turf/turf = A
if(istype(turf,/turf/space))
continue
dense_object++
break
if(!turf.density && !mob_negates_gravity())
continue
if(!dense_object && (locate(/obj/structure/lattice) in oview(1, src)))
dense_object++
return 1
//Lastly attempt to locate any dense objects we could push off of
//TODO: If we implement objects drifing in space this needs to really push them
//Due to a few issues only anchored and dense objects will now work.
if(!dense_object)
for(var/obj/O in oview(1, src))
if((O) && (O.density) && (O.anchored))
dense_object++
break
else
var/atom/movable/AM = A
if(AM == buckled) //Kind of unnecessary but let's just be sure
continue
if(AM.density)
if(AM.anchored)
if(istype(AM, /obj/item/projectile)) //"You grab the bullet and push off of it!" No
continue
return 1
if(pulling == AM)
continue
dense_object_backup = AM
//Nothing to push off of so end here
if(!dense_object)
return 0
if(movement_dir && dense_object_backup)
if(dense_object_backup.newtonian_move(turn(movement_dir, 180))) //You're pushing off something movable, so it moves
src << "<span class='info'>You push off of [dense_object_backup] to propel yourself.</span>"
//Check to see if we slipped
if(prob(Process_Spaceslipping(5)))
src << "<span class='boldnotice'>You slipped!</span>"
src.inertia_dir = src.last_move
step(src, src.inertia_dir)
return 0
//If not then we can reset inertia and move
inertia_dir = 0
return 1
return 1
return 0
/mob/proc/mob_has_gravity(turf/T)
return has_gravity(src, T)
@@ -394,15 +354,6 @@
/mob/proc/mob_negates_gravity()
return 0
/mob/proc/Process_Spaceslipping(var/prob_slip = 5)
//Setup slipage
//If knocked out we might just hit it and stop. This makes it possible to get dead bodies and such.
if(stat)
prob_slip = 0 // Changing this to zero to make it line up with the comment.
prob_slip = round(prob_slip)
return(prob_slip)
/mob/proc/Move_Pulled(var/atom/A)
if (!canmove || restrained() || !pulling)
return
@@ -410,6 +361,10 @@
return
if (!pulling.Adjacent(src))
return
if (A == loc && pulling.density)
return
if (!Process_Spacemove(get_dir(pulling.loc, A)))
return
if (ismob(pulling))
var/mob/M = pulling
var/atom/movable/t = M.pulling
@@ -232,10 +232,7 @@
movement_dir = get_dir(src,target) //moves to a singulo beacon, if there is one
if(current_size >= 9)//The superlarge one does not care about things in its way
spawn(0)
step(src, movement_dir)
spawn(1)
step(src, movement_dir)
step(src, movement_dir)
return 1
else if(check_turfs_in(movement_dir))
last_failed_movement = 0//Reset this because we moved
@@ -380,4 +377,4 @@
var/dist = max((current_size - 2),1)
explosion(src.loc,(dist),(dist*2),(dist*4))
qdel(src)
return(gain)
return(gain)
+1
View File
@@ -11,6 +11,7 @@
if(i > 1)
newshot()
user.changeNext_move(CLICK_CD_RANGE)
user.newtonian_move(get_dir(target, user))
update_icon()
return 1
+3
View File
@@ -136,6 +136,9 @@
else
return 1
/obj/item/projectile/Process_Spacemove(var/movement_dir = 0)
return 1 //Bullets don't drift in space
/obj/item/projectile/process()
if(kill_count < 1)
@@ -58,6 +58,7 @@
playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6)
user.changeNext_move(CLICK_CD_RANGE)
user.newtonian_move(get_dir(A, user))
if(reagents.has_reagent("sacid"))
message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].")
+31
View File
@@ -55,6 +55,37 @@
-->
<div class="commit sansserif">
<h2 class="date">27 October 2014</h2>
<h3 class="author">Jordie0608 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Adds a new riot shotgun that spawns in the armory with a 6 round beanbag magazine.</li>
</ul>
<h3 class="author">Paprika updated:</h3>
<ul class="changes bgimages16">
<li class="experiment">Allowed constructs to assist in activating most runes. This includes conversion runes, but does NOT include sacrifice runes.</li>
</ul>
<h3 class="author">Patchouli Knowledge updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">In light of the recent achievements of the Robotics department, new and upgraded exosuit schematics were delivered to SS13 exosuit fabricators as a reward from CentComm.</li>
<li class="rscadd">The countless hours of research, experimentation, and reverse-engineering of wrecks from the mining asteroid have paid off - the Research team has rediscovered the process of building Phazon exosuits. The parts and circuits have been made available in the exofabs and circuit printers.</li>
<li class="rscadd">The APLU Ripley exosuit has been refitted with asteroid mining purposes in mind. Its armour plating will provide extra protection against the brute attacks of asteroid alien lifeforms, and protect from gibtonite explosions. The leg servos were upgraded to provide faster movement.</li>
<li class="rscadd">There are rumours of some creative shaft miners discovering a way of augmenting APLU Ripley armour with trophy hides from goliath-type asteroid lifeforms...</li>
<li class="tweak">Durand construction routines now require a phasic scanner module and a super capacitor to match Nanotrasen industry standards.</li>
<li class="tweak">The exosuit fire extinguisher now boasts a larger watertank, and carries a whole 1000u of water from the old 200u tank.</li>
<li class="tweak">The exosuit plasma converter's efficiency has been vastly improved upon, and its fuel consumption has been cut to nearly half of old values.</li>
<li class="bugfix">The exosuit sleeper interiors have been refitted to allow the occupants more freedom of movement, and the occupants may now eject at will.</li>
<li class="bugfix">The armour plating on all exosuits was fitted with reactive deflection systems specifically designed to stop the rapid slashes from xenomorph threats.</li>
<li class="bugfix">The Firefighter Ripley chassis were moved from the Exosuit Equipment section to the APLU Ripley section of exofab menus.</li>
<li class="spellcheck">Fixed some minor errors in the exosuit construction message syntax.</li>
</ul>
<h3 class="author">phil235 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Closets and its children can no longer contain a near infinite amount of mobs. Large mobs (juggernaut, alien emperess, etc) don't fit, small mobs (mouse, parrot, etc) still fit in the same amounts, human-sized mob (humanoid, slime, etc) fit but maximum two per body bag and three for all the other closets. Adding bluespace body bag to R&D, it can hold even large mobs and in large amounts.</li>
<li class="experiment">girders and displaced girders now have a chance to let projectiles pass through them.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">19 October 2014</h2>
<h3 class="author">Donkie updated:</h3>
+42
View File
@@ -1992,3 +1992,45 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
to encourage janitors to warn crewmembers about wet floors.
optimumtact:
- rscadd: Medical supplies crate now comes with a boxy full of bodybags
2014-10-27:
Jordie0608:
- rscadd: Adds a new riot shotgun that spawns in the armory with a 6 round beanbag
magazine.
Paprika:
- experiment: Allowed constructs to assist in activating most runes. This includes
conversion runes, but does NOT include sacrifice runes.
Patchouli Knowledge:
- rscadd: In light of the recent achievements of the Robotics department, new and
upgraded exosuit schematics were delivered to SS13 exosuit fabricators as a
reward from CentComm.
- rscadd: The countless hours of research, experimentation, and reverse-engineering
of wrecks from the mining asteroid have paid off - the Research team has rediscovered
the process of building Phazon exosuits. The parts and circuits have been made
available in the exofabs and circuit printers.
- rscadd: The APLU Ripley exosuit has been refitted with asteroid mining purposes
in mind. Its armour plating will provide extra protection against the brute
attacks of asteroid alien lifeforms, and protect from gibtonite explosions.
The leg servos were upgraded to provide faster movement.
- rscadd: There are rumours of some creative shaft miners discovering a way of augmenting
APLU Ripley armour with trophy hides from goliath-type asteroid lifeforms...
- tweak: Durand construction routines now require a phasic scanner module and a
super capacitor to match Nanotrasen industry standards.
- tweak: The exosuit fire extinguisher now boasts a larger watertank, and carries
a whole 1000u of water from the old 200u tank.
- tweak: The exosuit plasma converter's efficiency has been vastly improved upon,
and its fuel consumption has been cut to nearly half of old values.
- bugfix: The exosuit sleeper interiors have been refitted to allow the occupants
more freedom of movement, and the occupants may now eject at will.
- bugfix: The armour plating on all exosuits was fitted with reactive deflection
systems specifically designed to stop the rapid slashes from xenomorph threats.
- bugfix: The Firefighter Ripley chassis were moved from the Exosuit Equipment section
to the APLU Ripley section of exofab menus.
- spellcheck: Fixed some minor errors in the exosuit construction message syntax.
phil235:
- rscadd: Closets and its children can no longer contain a near infinite amount
of mobs. Large mobs (juggernaut, alien emperess, etc) don't fit, small mobs
(mouse, parrot, etc) still fit in the same amounts, human-sized mob (humanoid,
slime, etc) fit but maximum two per body bag and three for all the other closets.
Adding bluespace body bag to R&D, it can hold even large mobs and in large amounts.
- experiment: girders and displaced girders now have a chance to let projectiles
pass through them.
-6
View File
@@ -1,6 +0,0 @@
author: Jordie0608
delete-after: True
changes:
- rscadd: Adds a new riot shotgun that spawns in the armory with a 6 round beanbag magazine.
+7 -1
View File
@@ -1,2 +1,8 @@
author: MrPerson
changes: []
changes:
- rscadd: "Everything now drifts in space, not just mobs."
- rscadd: "Mechs are just as maneuverable in space as you are."
- tweak: "Being weightless now slows movement down by a lot rather than speeding it up. Having your hands full will make movement even slower."
- rscdel: "Removed spaceslipping (You slipped! x1000)"
- bugfix: "Jetpacking after being thrown out a mass driver will cancel out your momentum."
- bugfix: "Shooting a gun causes you to drift the other direction like spraying a fire extinguisher."
-4
View File
@@ -1,4 +0,0 @@
author: Paprika
delete-after: True
changes:
- experiment: "Allowed constructs to assist in activating most runes. This includes conversion runes, but does NOT include sacrifice runes."
-14
View File
@@ -1,14 +0,0 @@
author: Patchouli Knowledge
delete-after: true
changes:
- rscadd: "In light of the recent achievements of the Robotics department, new and upgraded exosuit schematics were delivered to SS13 exosuit fabricators as a reward from CentComm.
- rscadd: "The countless hours of research, experimentation, and reverse-engineering of wrecks from the mining asteroid have paid off - the Research team has rediscovered the process of building Phazon exosuits. The parts and circuits have been made available in the exofabs and circuit printers."
- rscadd: "The APLU Ripley exosuit has been refitted with asteroid mining purposes in mind. Its armour plating will provide extra protection against the brute attacks of asteroid alien lifeforms, and protect from gibtonite explosions. The leg servos were upgraded to provide faster movement."
- rscadd: "There are rumours of some creative shaft miners discovering a way of augmenting APLU Ripley armour with trophy hides from goliath-type asteroid lifeforms..."
- tweak: "Durand construction routines now require a phasic scanner module and a super capacitor to match Nanotrasen industry standards."
- tweak: "The exosuit fire extinguisher now boasts a larger watertank, and carries a whole 1000u of water from the old 200u tank."
- tweak: "The exosuit plasma converter's efficiency has been vastly improved upon, and its fuel consumption has been cut to nearly half of old values."
- bugfix: "The exosuit sleeper interiors have been refitted to allow the occupants more freedom of movement, and the occupants may now eject at will.
- bugfix: "The armour plating on all exosuits was fitted with reactive deflection systems specifically designed to stop the rapid slashes from xenomorph threats."
- bugfix: "The Firefighter Ripley chassis were moved from the Exosuit Equipment section to the APLU Ripley section of exofab menus."
- spellcheck: "Fixed some minor errors in the exosuit construction message syntax."
-4
View File
@@ -1,4 +0,0 @@
author: phil235
delete-after: True
changes:
- rscadd: "Closets and its children can no longer contain a near infinite amount of mobs. Large mobs (juggernaut, alien emperess, etc) don't fit, small mobs (mouse, parrot, etc) still fit in the same amounts, human-sized mob (humanoid, slime, etc) fit but maximum two per body bag and three for all the other closets. Adding bluespace body bag to R&D, it can hold even large mobs and in large amounts."
-4
View File
@@ -1,4 +0,0 @@
author: phil235
delete-after: True
changes:
- experiment: "girders and displaced girders now have a chance to let projectiles pass through them."