diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
index 3b220a5022aed..c97bd25796016 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
@@ -524,8 +524,8 @@
/turf/closed/wall/mineral/sandstone,
/area/ruin/powered/beach)
"qK" = (
-/obj/structure/closet/secure_closet/bar/lavaland_bartender_clothes,
/obj/machinery/light/small/directional/east,
+/obj/structure/closet/secure_closet/bar/lavaland_bartender_clothes,
/turf/open/floor/wood,
/area/ruin/powered/beach)
"qT" = (
diff --git a/_maps/RandomZLevels/museum.dmm b/_maps/RandomZLevels/museum.dmm
new file mode 100644
index 0000000000000..f19ee06ddb56c
--- /dev/null
+++ b/_maps/RandomZLevels/museum.dmm
@@ -0,0 +1,71210 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"ab" = (
+/obj/machinery/computer/old{
+ name = "replica computer";
+ dir = 8;
+ icon_keyboard = "rd_key";
+ icon_screen = "rdcomp"
+ },
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"ai" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"am" = (
+/obj/structure/table/reinforced,
+/obj/structure/railing{
+ dir = 9
+ },
+/obj/item/storage/toolbox/mechanical/old,
+/turf/open/floor/iron/smooth_corner,
+/area/awaymission/museum)
+"ap" = (
+/turf/cordon,
+/area/awaymission/museum)
+"as" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/item/stack/rods,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"at" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing/corner{
+ dir = 1
+ },
+/obj/item/stack/rods,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"av" = (
+/obj/structure/chair/stool/directional/south,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"aw" = (
+/obj/structure/shipping_container/nanotrasen{
+ opacity = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"az" = (
+/obj/structure/table/reinforced,
+/obj/effect/spawner/random/entertainment/musical_instrument,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"aG" = (
+/obj/machinery/conveyor{
+ dir = 4
+ },
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"aK" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/closet/crate/preopen,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"aR" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/chair/sofa/bench{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"aW" = (
+/obj/structure/closet/crate/bin,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"bg" = (
+/obj/structure/no_effect_signpost{
+ name = "if youre reading this you stink and also made by jimmyl"
+ },
+/turf/open/floor/bluespace,
+/area/awaymission/museum)
+"bi" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/machinery/computer/terminal/museum{
+ dir = 4;
+ content = list("Sometime long ago, someone accidentally slipped in the design for gloves that work like batons into the basic employee craftsmanship teaching program. Naturally, this was not a good thing and all the ruffians onstation would usually have one of these. As Nanotrasen found out and removed the design, these are no longer ever seen, for nobody knows how to make them.")
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"bj" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/machinery/door/airlock/wood{
+ name = "Bathroom"
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/awaymission/museum)
+"bk" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"bn" = (
+/obj/structure/hedge/opaque,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"br" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"bs" = (
+/turf/open/misc/dirt/station,
+/area/awaymission/museum/mothroachvoid)
+"bt" = (
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = 12
+ },
+/obj/effect/oneway{
+ dir = 4
+ },
+/turf/open/mirage{
+ dir = 8;
+ target_turf_x = 11;
+ range = 1
+ },
+/area/awaymission/museum)
+"bC" = (
+/obj/structure/closet/secure_closet/freezer/kitchen/all_access,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"bE" = (
+/obj/machinery/door/airlock/grunge,
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"bF" = (
+/obj/effect/mapping_helpers/bombable_wall,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"bG" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/grille/broken,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"bI" = (
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "nothing"
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"bJ" = (
+/mob/living/basic/statue/mannequin{
+ dir = 8;
+ name = "Dale Knox"
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"bK" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"bM" = (
+/obj/item/kirbyplants/random/dead,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"bQ" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"bV" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"bW" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic/light,
+/obj/effect/landmark/transport/transport_id{
+ specific_transport_id = "museum_cargo"
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"ce" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 6
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"cf" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/item/storage/box/stickers/googly,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"cm" = (
+/obj/machinery/door/airlock/grunge,
+/obj/structure/barricade/wooden/crude,
+/obj/effect/turf_decal/stripes/end{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"cn" = (
+/obj/effect/turf_decal/stripes{
+ dir = 4
+ },
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"cs" = (
+/obj/effect/spawner/random/food_or_drink/snack,
+/obj/effect/spawner/random/food_or_drink/snack,
+/obj/effect/spawner/random/food_or_drink/snack,
+/obj/structure/table/reinforced,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"ct" = (
+/obj/structure/chair/comfy,
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/obj/machinery/light/dim/directional/north,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"cv" = (
+/obj/effect/turf_decal/bot/left,
+/turf/open/floor/iron/dark/diagonal,
+/area/awaymission/museum)
+"cy" = (
+/obj/effect/decal/cleanable/fuel_pool/hivis,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/old,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"cA" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"cB" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"cC" = (
+/turf/open/floor/mineral/silver,
+/area/awaymission/museum/mothroachvoid)
+"cF" = (
+/turf/open/floor/iron/dark/side{
+ dir = 8
+ },
+/area/awaymission/museum)
+"cH" = (
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/showroomfloor,
+/area/awaymission/museum)
+"cM" = (
+/obj/structure/table/reinforced,
+/obj/effect/spawner/random/bureaucracy/pen,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"cN" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/item/toy/balloon/corgi,
+/obj/machinery/status_display/random_message{
+ firstline_to_secondline = list("NO" = "LITTERING","YOU ARE" = "BEING WATCHED", "DO NOT TOUCH" = "THE EXHIBITS");
+ pixel_x = 32
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"cR" = (
+/obj/structure/broken_flooring/side/always_floorplane{
+ dir = 8
+ },
+/obj/structure/lattice,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"cS" = (
+/obj/effect/step_trigger/thrower{
+ direction = 1;
+ facedir = 1;
+ tiles = 10;
+ mobs_only = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"cW" = (
+/obj/machinery/computer/old,
+/turf/open/floor/circuit/green,
+/area/awaymission/museum)
+"cX" = (
+/obj/structure/plaque/static_plaque/golden/commission/dream,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"cZ" = (
+/obj/structure/fluff/divine/nexus,
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"da" = (
+/obj/effect/turf_decal/siding/dark_blue/corner,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"de" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/caution/stand_clear,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"dl" = (
+/obj/structure/sign/warning/fire/directional/west,
+/obj/machinery/portable_atmospherics/pump,
+/obj/effect/turf_decal/delivery/red,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"dn" = (
+/turf/open/floor/carpet,
+/area/awaymission/museum)
+"do" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing,
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"dx" = (
+/obj/structure/fluff/beach_umbrella,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"dF" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/effect/spawner/random/bureaucracy/paper{
+ spawn_loot_count = 7;
+ spawn_random_offset = 6
+ },
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"dH" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/cup/glass/shaker,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"dK" = (
+/turf/open/mirage{
+ range = 2;
+ target_turf_y = -4;
+ dir = 1
+ },
+/area/awaymission/museum)
+"dL" = (
+/obj/structure/sink/directional/west,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"dN" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"dR" = (
+/obj/effect/turf_decal/siding/wideplating/corner{
+ dir = 8
+ },
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"dS" = (
+/mob/living/basic/statue/mannequin{
+ dir = 4;
+ held_item = /obj/item/weldingtool;
+ hat = /obj/item/clothing/head/utility/welding
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"dV" = (
+/obj/machinery/door/window/brigdoor/left/directional/south{
+ req_access = list("bartender")
+ },
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"dY" = (
+/mob/living/basic/statue/mannequin{
+ hat = /obj/item/clothing/head/helmet/space;
+ dir = 1
+ },
+/turf/open/floor/holofloor/hyperspace/ns,
+/area/awaymission/museum)
+"dZ" = (
+/obj/structure/lattice/catwalk/mining,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"ea" = (
+/obj/structure/flora/rock/icy/style_random,
+/obj/effect/turf_decal/siding{
+ dir = 10
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/railing/corner,
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"ec" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "museum_secret"
+ },
+/obj/machinery/puzzle_keycardpad/directional/east{
+ id = "museum_secret"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"eg" = (
+/obj/effect/spawner/structure/window/hollow/directional{
+ dir = 4
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"ek" = (
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "l";
+ pixel_x = -10
+ },
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "i"
+ },
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "e";
+ pixel_x = 12
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"el" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"em" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"en" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"es" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"ev" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"ex" = (
+/obj/structure/chair/stool/bar/directional/west{
+ can_buckle = 1
+ },
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"eA" = (
+/obj/machinery/door/airlock/wood{
+ name = "Dance Room"
+ },
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"eD" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/showcase/machinery/implanter,
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"eF" = (
+/obj/structure/showcase/machinery/cloning_pod,
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"eH" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"eM" = (
+/obj/structure/statue/gold/qm{
+ anchored = 1
+ },
+/turf/open/misc/dirt/station,
+/area/awaymission/museum/mothroachvoid)
+"eN" = (
+/obj/machinery/door/poddoor/shutters/window/indestructible{
+ dir = 4;
+ id = "nothing"
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"eO" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/spawner/random/entertainment/dice,
+/obj/structure/fluff/fake_camera{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"eP" = (
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"eQ" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green,
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"eR" = (
+/obj/structure/plaque/static_plaque/golden/commission/omega,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"eX" = (
+/obj/effect/turf_decal/siding/wideplating{
+ dir = 4
+ },
+/turf/open/floor/holofloor/beach/coast{
+ dir = 1
+ },
+/area/awaymission/museum)
+"fa" = (
+/obj/effect/turf_decal/sand/plating,
+/mob/living/basic/statue/mannequin{
+ held_item = /obj/item/pickaxe;
+ hat = /obj/item/clothing/suit/hooded/explorer
+ },
+/obj/effect/turf_decal/mining,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"fe" = (
+/turf/closed/indestructible/reinforced/titanium/nodiagonal,
+/area/awaymission/museum)
+"ff" = (
+/turf/open/floor/holofloor/beach/coast{
+ dir = 6
+ },
+/area/awaymission/museum/mothroachvoid)
+"fi" = (
+/obj/structure/table/wood,
+/obj/item/plate,
+/obj/item/kitchen/fork,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"fn" = (
+/turf/open/floor/holofloor/hyperspace/ns,
+/area/awaymission/museum)
+"fo" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"fu" = (
+/obj/item/banhammer{
+ force = -200
+ },
+/turf/open/floor/bluespace,
+/area/awaymission/museum)
+"fy" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"fz" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/plate/large,
+/obj/item/food/little_hawaii_hotdog,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"fC" = (
+/obj/machinery/light/small/directional/west,
+/obj/structure/table/wood,
+/obj/item/language_manual/roundstart_species,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"fJ" = (
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/turf/open/misc/beach/coast{
+ dir = 1
+ },
+/area/awaymission/museum)
+"fK" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/sign/painting{
+ pixel_y = 32;
+ persistence_id = "museumgate"
+ },
+/obj/machinery/light/floor,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"fT" = (
+/obj/structure/broken_flooring/corner/always_floorplane{
+ dir = 1
+ },
+/obj/structure/lattice,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"fW" = (
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"gf" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"gj" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"gm" = (
+/obj/structure/statue/gold/cmo{
+ anchored = 1
+ },
+/turf/open/floor/mineral/diamond,
+/area/awaymission/museum/mothroachvoid)
+"go" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/dark_blue{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"gu" = (
+/obj/structure/flora/tree/palm/style_random,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"gA" = (
+/obj/structure/toilet{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/awaymission/museum)
+"gB" = (
+/obj/structure/table/wood,
+/obj/item/knife,
+/obj/item/kitchen/rollingpin,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"gC" = (
+/obj/machinery/conveyor{
+ dir = 8
+ },
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"gG" = (
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"gJ" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 8
+ },
+/obj/effect/spawner/random/vending/snackvend,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"gM" = (
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"gN" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/item/stack/rods/ten,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"gQ" = (
+/turf/open/mirage{
+ target_turf_y = 14
+ },
+/area/awaymission/museum)
+"gR" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/rack,
+/obj/effect/spawner/random/maintenance/eight,
+/obj/effect/spawner/random/maintenance/eight,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"gT" = (
+/obj/machinery/door/window/left/directional/north,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"gW" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"hb" = (
+/turf/open/misc/beach/coast{
+ dir = 9
+ },
+/area/awaymission/museum/mothroachvoid)
+"hi" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"hj" = (
+/obj/structure/lattice/catwalk/mining,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"hk" = (
+/obj/effect/smooths_with_walls,
+/turf/open/mirage{
+ target_turf_y = -29;
+ dir = 1
+ },
+/area/awaymission/museum)
+"hl" = (
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "gateway_waste"
+ },
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"hp" = (
+/mob/living/basic/mothroach/bar,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"ht" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/effect/spawner/random/vending/colavend,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"hw" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"hA" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/chair/sofa/bench{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"hC" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/machinery/computer/terminal/museum{
+ dir = 4;
+ content = list("2005 - By the early 2000s, Nanotrasen had long observed the computer gaming industry since its inception during the 1980s, and in 2005 would finally make their own entry into the market via the Nanoplay: the world’s first game console with built-in internet connectivity capabilities, bringing the gamers of the world together.")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"hE" = (
+/obj/machinery/light/floor,
+/turf/open/floor/holofloor/hyperspace/ns,
+/area/awaymission/museum)
+"hM" = (
+/turf/closed/wall/rock/porous,
+/area/awaymission/museum)
+"hT" = (
+/mob/living/basic/statue/mannequin{
+ dir = 8;
+ name = "Dale Knox";
+ held_item = /obj/item/circuitboard
+ },
+/obj/structure/sign/flag/nanotrasen/directional/south,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"hV" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"hX" = (
+/obj/item/circuitboard{
+ icon_state = "flopdrive";
+ name = "microprocessor"
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/circuit/green,
+/area/awaymission/museum)
+"hY" = (
+/obj/effect/turf_decal/trimline/yellow/arrow_ccw{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"il" = (
+/obj/structure/table/wood,
+/obj/item/clothing/suit/costume/judgerobe,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"im" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/machinery/light/directional/west,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"ix" = (
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "l";
+ pixel_x = -10
+ },
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "i"
+ },
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "e";
+ pixel_x = 12
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"iz" = (
+/obj/machinery/door/airlock/shuttle/glass,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 5
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/awaymission/museum)
+"iB" = (
+/obj/effect/spawner/random/engineering/canister,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/singular/always_floorplane,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"iD" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/decal/cleanable/blood/gibs,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"iE" = (
+/obj/structure/fluff/wallsign/directional/west{
+ name = "History of Nanotrasen"
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"iF" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 1
+ },
+/obj/machinery/button{
+ pixel_y = 32
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"iI" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/sign/painting{
+ pixel_y = 32;
+ persistence_id = "museumgate"
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"iK" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/turf_decal/siding{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/tram/plate,
+/area/awaymission/museum)
+"iN" = (
+/mob/living/basic/mothroach,
+/obj/structure/window/spawner/directional/west,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/awaymission/museum)
+"iT" = (
+/obj/machinery/door/airlock/engineering,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/mapping_helpers/airlock/access/all/away/generic3,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"iU" = (
+/obj/machinery/telecomms/relay/preset/auto,
+/turf/open/floor/bluespace,
+/area/awaymission/museum)
+"iV" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/structure/table,
+/obj/item/binoculars,
+/obj/item/clothing/mask/whistle,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"iW" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"iZ" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/effect/step_trigger/thrower{
+ direction = 1;
+ facedir = 1;
+ tiles = 10;
+ mobs_only = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"jf" = (
+/mob/living/basic/mothroach,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"jm" = (
+/mob/living/basic/mothroach,
+/turf/open/misc/dirt/station,
+/area/awaymission/museum/mothroachvoid)
+"jn" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/museum)
+"jo" = (
+/obj/effect/spawner/structure/window/hollow/directional{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"jt" = (
+/obj/structure/fluff/divine/conduit,
+/obj/structure/railing{
+ dir = 9
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"jy" = (
+/mob/living/basic/statue/mannequin{
+ dir = 8;
+ name = "Dale Knox";
+ held_item = /obj/item/circuitboard
+ },
+/obj/effect/turf_decal/stripes{
+ dir = 8
+ },
+/turf/open/floor/circuit/green,
+/area/awaymission/museum)
+"jB" = (
+/obj/effect/spawner/structure/window,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"jF" = (
+/obj/machinery/suit_storage_unit/open,
+/obj/effect/turf_decal/box,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/iron/white/textured_large,
+/area/awaymission/museum)
+"jG" = (
+/turf/open/floor/carpet/cyan,
+/area/awaymission/museum/mothroachvoid)
+"jH" = (
+/obj/structure/fake_stairs/directional/west,
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"jI" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"jL" = (
+/obj/structure/sink/kitchen/directional/west,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"jN" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"jP" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/structure/fluff/fake_camera{
+ dir = 9
+ },
+/obj/item/reagent_containers/cup/glass/coffee,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"jU" = (
+/obj/effect/landmark/transport/nav_beacon/tram/platform{
+ specific_transport_id = "museum_cargo";
+ platform_code = 2;
+ name = "Exhibit Loading Bay"
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"jV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"jW" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/table,
+/obj/item/integrated_circuit/loaded/hello_world,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"kd" = (
+/mob/living/basic/mothroach,
+/obj/structure/chair/comfy{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/mob_buckler,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"ke" = (
+/obj/structure/statue/gold/hos{
+ anchored = 1
+ },
+/turf/open/floor/mineral/diamond,
+/area/awaymission/museum/mothroachvoid)
+"kg" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/effect/spawner/random/structure/crate,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"kh" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"kq" = (
+/obj/machinery/door/airlock/grunge,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"kr" = (
+/obj/structure/table/wood,
+/obj/structure/window/spawner/directional/west,
+/obj/item/storage/box/fireworks,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"kw" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"kA" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/item/vending_refill/wardrobe/coroner_wardrobe,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"kO" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"kQ" = (
+/obj/structure/fluff/meteor,
+/turf/open/floor/holofloor/hyperspace/ns,
+/area/awaymission/museum)
+"kX" = (
+/obj/structure/girder/displaced,
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/awaymission/museum)
+"kY" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/random/entertainment/money_medium,
+/obj/effect/spawner/random/entertainment/money_medium,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"la" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"lb" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"lf" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 9
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"lg" = (
+/mob/living/basic/mothroach,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/carpet/executive,
+/area/awaymission/museum)
+"lh" = (
+/obj/effect/turf_decal/stripes{
+ dir = 8
+ },
+/obj/structure/railing,
+/turf/open/floor/catwalk_floor,
+/area/awaymission/museum)
+"lk" = (
+/obj/effect/turf_decal/siding/wideplating{
+ dir = 4
+ },
+/turf/open/floor/holofloor/beach/coast,
+/area/awaymission/museum)
+"ll" = (
+/obj/structure/plasticflaps/opaque,
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"ls" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/computer/arcade/amputation{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"lz" = (
+/obj/effect/landmark/awaystart,
+/obj/structure/flora/bush/sparsegrass/style_random,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"lB" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/turf_decal/siding{
+ dir = 4
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/floor/tram/plate,
+/area/awaymission/museum)
+"lC" = (
+/obj/structure/table,
+/obj/item/cigbutt/cigarbutt,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"lG" = (
+/mob/living/basic/mothroach,
+/obj/item/clothing/shoes/sandal/beach,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"lH" = (
+/obj/structure/plaque/static_plaque/golden/commission/uterus,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"lI" = (
+/obj/effect/smooths_with_walls,
+/turf/open/mirage{
+ target_turf_y = 29
+ },
+/area/awaymission/museum)
+"lM" = (
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"lS" = (
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/clothing/beret_or_rabbitears,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"lT" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/mob/living/basic/statue/mannequin{
+ hat = /obj/item/clothing/suit/toggle/labcoat/science;
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"lU" = (
+/obj/structure/plasticflaps,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"lV" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic/light,
+/obj/effect/landmark/transport/nav_beacon/tram/nav{
+ specific_transport_id = "museum_cargo"
+ },
+/obj/effect/landmark/transport/nav_beacon/tram/platform{
+ specific_transport_id = "museum_cargo";
+ platform_code = 1;
+ name = "Internal Loading Bay"
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"lZ" = (
+/obj/structure/plaque/static_plaque/golden/commission/cere,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"mg" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/item/reagent_containers/cup/soda_cans/air,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"mj" = (
+/turf/open/mirage{
+ range = 2;
+ target_turf_y = 4
+ },
+/area/awaymission/museum)
+"ml" = (
+/obj/structure/table/wood,
+/obj/item/food/hotcrossbun,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"mn" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"mA" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/floor/holofloor/beach/water,
+/area/awaymission/museum)
+"mC" = (
+/obj/structure/fluff/beach_umbrella,
+/turf/open/floor/carpet/cyan,
+/area/awaymission/museum/mothroachvoid)
+"mK" = (
+/obj/structure/window/spawner/directional/south,
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/awaymission/museum)
+"mN" = (
+/obj/structure/statue/sandstone/assistant,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"mQ" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood/corner,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"mS" = (
+/mob/living/basic/statue/mannequin{
+ held_item = /obj/item/wrench;
+ hat = /obj/item/clothing/head/utility/hardhat;
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/gibs,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"mV" = (
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"mX" = (
+/obj/machinery/computer/arcade/battle{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/red,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"mZ" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/door/airlock/freezer{
+ req_access = list("bartender")
+ },
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"nb" = (
+/turf/open/misc/beach/coast/corner,
+/area/awaymission/museum/mothroachvoid)
+"nc" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/tram,
+/obj/machinery/transport/tram_controller{
+ configured_transport_id = "museum_cargo";
+ cover_locked = 0
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"ne" = (
+/obj/structure/fluff/preserved_borer,
+/turf/open/floor/carpet,
+/area/awaymission/museum)
+"nh" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 5
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"nl" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"nq" = (
+/obj/structure/table/wood,
+/obj/item/paper/fluff/jobs/security/court_judgement,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"nr" = (
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/awaymission/museum)
+"ns" = (
+/obj/machinery/light/small/directional/south,
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"nu" = (
+/obj/effect/decal/cleanable/glass/titanium,
+/mob/living/basic/mouse/rat,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"nv" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 5
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"nw" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/machinery/computer/terminal/museum{
+ dir = 8;
+ content = list("The so-called Hands Of God, loyal devotees of some illegal eldritch force. Their effect on the world weakened and crumbled as Nanotrasen loyal employees destroyed these so called Gods. Remember, only follow the faith of the chaplain and his regulated religions!")
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"nx" = (
+/obj/structure/chair/plastic{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"nz" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/fluff{
+ icon = 'icons/mob/simple/hivebot.dmi';
+ icon_state = "fab_robot";
+ name = "old plasma extractor"
+ },
+/turf/open/lava/plasma/mafia,
+/area/awaymission/museum)
+"nC" = (
+/obj/structure/railing,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/carpet,
+/area/awaymission/museum)
+"nD" = (
+/obj/structure/plaque/static_plaque/golden/commission/efficiency,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"nE" = (
+/obj/machinery/light/warm/dim/directional/north,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/dark/diagonal,
+/area/awaymission/museum)
+"nF" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/effect/step_trigger/thrower{
+ direction = 1;
+ facedir = 1;
+ tiles = 10;
+ mobs_only = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"nH" = (
+/obj/structure/fluff/minepost,
+/obj/effect/turf_decal/siding{
+ dir = 5
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"nJ" = (
+/obj/structure/fluff/divine/convertaltar,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"nQ" = (
+/obj/effect/spawner/random/vending/colavend,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"nS" = (
+/obj/effect/turf_decal/tile/dark_blue{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"nT" = (
+/obj/effect/mapping_helpers/bombable_wall,
+/turf/closed/indestructible/fakedoor/maintenance,
+/area/awaymission/museum)
+"nW" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/chair/sofa/bench/right{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"od" = (
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"oe" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/item/food/sandwich/cheese/grilled,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"of" = (
+/obj/effect/puzzle_poddoor_open{
+ icon = 'icons/effects/mapping_helpers.dmi';
+ id = "museum_secret";
+ queue_id = "museum_secret"
+ },
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"oo" = (
+/obj/machinery/iv_drip,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"os" = (
+/obj/item/toy/beach_ball/branded,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"ot" = (
+/obj/structure/grille,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"ow" = (
+/obj/structure/girder/displaced,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"ox" = (
+/obj/machinery/computer/terminal/museum{
+ dir = 8;
+ content = list("1998 - Dale Knox, the cofounder of Nanotrasen, would leave for health reasons.")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"oA" = (
+/obj/effect/turf_decal/siding/wideplating{
+ dir = 4
+ },
+/turf/open/floor/holofloor/beach/water,
+/area/awaymission/museum)
+"oC" = (
+/obj/structure/flora/coconuts,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"oI" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"oQ" = (
+/turf/open/floor/holofloor/beach/coast{
+ dir = 1
+ },
+/area/awaymission/museum)
+"oZ" = (
+/obj/effect/turf_decal/trimline/yellow/arrow_ccw{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"pb" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/sign/poster/official/pda_ad/directional/south,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"pc" = (
+/turf/open/floor/iron/dark/side{
+ dir = 6
+ },
+/area/awaymission/museum)
+"pf" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/gibs/body,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"pg" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 6
+ },
+/obj/structure/hedge/opaque,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"pi" = (
+/mob/living/basic/statue/mannequin{
+ hat = /obj/item/clothing/head/costume/nursehat;
+ held_item = /obj/item/clothing/neck/stethoscope
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"pp" = (
+/obj/structure/chair/stool/bar/directional/north,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"pt" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/carpet,
+/area/awaymission/museum)
+"pv" = (
+/obj/machinery/computer/terminal/museum{
+ dir = 4;
+ content = list("Nanotrasen used to have much more volatile welding fuel mixtures because it was cheap. This backfired when a review revealed that infiltrators would use the fuel tanks to destroy bodies of their victims, leading to Nanotrasen developing a less unstable mixture months later.")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"pw" = (
+/obj/effect/spawner/random/vending/snackvend,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"pD" = (
+/obj/structure/broken_flooring/corner/always_floorplane/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/structure/crate_loot,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"pF" = (
+/obj/structure/hedge/opaque,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"pI" = (
+/obj/machinery/suit_storage_unit/open,
+/obj/machinery/light/small/dim/directional/east,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/white/textured_large,
+/area/awaymission/museum)
+"pL" = (
+/obj/item/clothing/suit/costume/bronze,
+/turf/open/floor/bronze,
+/area/awaymission/museum)
+"pM" = (
+/obj/effect/spawner/random/engineering/canister,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/singular/always_floorplane{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"pX" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/maintenance/two,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/grenade/iedcasing/spawned,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"pY" = (
+/obj/item/pickaxe/drill/diamonddrill,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"qj" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"qo" = (
+/obj/effect/oneway{
+ dir = 8
+ },
+/turf/open/water/beach,
+/area/awaymission/museum/mothroachvoid)
+"qp" = (
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"qt" = (
+/obj/effect/spawner/random/food_or_drink/booze{
+ loot = list(/obj/item/reagent_containers/cup/glass/bottle/beer = 10, /obj/item/reagent_containers/cup/glass/bottle/ale = 10, /obj/item/reagent_containers/cup/glass/bottle/beer/light = 5, /obj/item/reagent_containers/cup/glass/bottle/maltliquor = 5, /obj/item/reagent_containers/cup/glass/bottle/whiskey = 5, /obj/item/reagent_containers/cup/glass/bottle/gin = 5, /obj/item/reagent_containers/cup/glass/bottle/vodka = 5, /obj/item/reagent_containers/cup/glass/bottle/tequila = 5, /obj/item/reagent_containers/cup/glass/bottle/rum = 5, /obj/item/reagent_containers/cup/glass/bottle/vermouth = 5, /obj/item/reagent_containers/cup/glass/bottle/cognac = 5, /obj/item/reagent_containers/cup/glass/bottle/wine = 5, /obj/item/reagent_containers/cup/glass/bottle/kahlua = 5, /obj/item/reagent_containers/cup/glass/bottle/amaretto = 5, /obj/item/reagent_containers/cup/glass/bottle/hcider = 5, /obj/item/reagent_containers/cup/glass/bottle/absinthe = 5, /obj/item/reagent_containers/cup/glass/bottle/sake = 5, /obj/item/reagent_containers/cup/glass/bottle/grappa = 5, /obj/item/reagent_containers/cup/glass/bottle/applejack = 5, /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5, /obj/item/reagent_containers/cup/bottle/ethanol = 2, /obj/item/reagent_containers/cup/glass/bottle/fernet = 2, /obj/item/reagent_containers/cup/glass/bottle/champagne = 2, /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium = 2, /obj/item/reagent_containers/cup/glass/bottle/goldschlager = 2, /obj/item/reagent_containers/cup/glass/bottle/patron = 1, /obj/item/reagent_containers/cup/glass/bottle/kong = 1, /obj/item/reagent_containers/cup/glass/bottle/lizardwine = 1, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka = 1, /obj/item/reagent_containers/cup/glass/bottle/trappist = 1);
+ spawn_random_offset = 2
+ },
+/turf/open/floor/carpet/cyan,
+/area/awaymission/museum/mothroachvoid)
+"qw" = (
+/obj/item/flashlight/flare{
+ start_on = 1;
+ icon_state = "flare-on"
+ },
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"qx" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/decal/cleanable/fuel_pool/hivis,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"qA" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"qJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"qL" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"qM" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"qP" = (
+/obj/structure/plaque/static_plaque/golden/commission/pubby,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"qQ" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"qR" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench/right{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"qS" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"qU" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/decal/cleanable/fuel_pool/hivis,
+/obj/effect/turf_decal/delivery/red,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"qX" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/fluff/fake_camera,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"qY" = (
+/obj/machinery/power/shuttle_engine/heater{
+ dir = 4;
+ opacity = 1
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"rc" = (
+/obj/machinery/light/small/directional/east,
+/obj/structure/girder/displaced,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"re" = (
+/turf/cordon/secret,
+/area/awaymission/museum)
+"rm" = (
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"ro" = (
+/obj/structure/railing,
+/turf/open/floor/holofloor/asteroid{
+ icon_state = "asteroid3"
+ },
+/area/awaymission/museum)
+"rp" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/carpet/executive,
+/area/awaymission/museum)
+"rq" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/gibspawner/human,
+/obj/effect/gibspawner/human,
+/obj/effect/gibspawner/human,
+/obj/effect/gibspawner/human,
+/mob/living/basic/statue/mannequin/suspicious,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"rr" = (
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"rA" = (
+/obj/structure/chair/comfy/beige{
+ dir = 8
+ },
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"rB" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/machinery/light/floor,
+/turf/open/chasm,
+/area/awaymission/museum)
+"rJ" = (
+/obj/structure/broken_flooring/side/always_floorplane{
+ dir = 2
+ },
+/obj/structure/lattice,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"rL" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/holosign/barrier/engineering,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"rO" = (
+/obj/effect/spawner/random/trash/mess,
+/obj/effect/turf_decal/siding/red,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"rP" = (
+/obj/item/clothing/mask/gas/clown_hat,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"rQ" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/railing/corner/end,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"rU" = (
+/mob/living/basic/statue/mannequin{
+ dir = 4;
+ held_item = /obj/item/wrench;
+ name = "Michael Trasen"
+ },
+/obj/structure/sign/flag/nanotrasen/directional/south,
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"rW" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/effect/spawner/random/entertainment/toy_figure,
+/obj/effect/spawner/random/entertainment/toy_figure,
+/obj/structure/desk_bell,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"rX" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"rY" = (
+/obj/machinery/light/small/broken/directional/north,
+/obj/effect/decal/cleanable/dirt/dust,
+/mob/living/basic/mouse/rat,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"sd" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/chair/office,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"sh" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/filingcabinet/chestdrawer,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"sj" = (
+/mob/living/basic/statue{
+ sentience_type = 2
+ },
+/turf/open/floor/black,
+/area/awaymission/museum)
+"sm" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/museum)
+"sp" = (
+/obj/machinery/door/window/left/directional/west,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"sq" = (
+/obj/structure/plaque/static_plaque/golden/commission/delta,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"st" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters/preopen,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"sy" = (
+/obj/structure/railing/corner,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_camera,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"sz" = (
+/obj/effect/decal/cleanable/glass/titanium,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"sA" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/gift{
+ contains_type = /mob/living/basic/pet/cat/feral
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"sC" = (
+/obj/item/toy/figure/dsquad,
+/obj/item/toy/figure/dsquad{
+ pixel_x = -9
+ },
+/obj/item/toy/figure/dsquad{
+ pixel_x = 9
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/floor/holofloor/beach/coast,
+/area/awaymission/museum)
+"sD" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"sE" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "museum_secret"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"sG" = (
+/obj/effect/turf_decal/tile/green,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"sN" = (
+/obj/effect/mine/explosive,
+/obj/item/food/cake/berry_chocolate_cake,
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"sX" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/light/warm/directional/south,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"tc" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 6
+ },
+/obj/structure/chair,
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"tf" = (
+/obj/item/instrument/musicalmoth,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"th" = (
+/obj/structure/flora/rock/icy/style_random,
+/obj/effect/turf_decal/siding{
+ dir = 4
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"tj" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 1
+ },
+/mob/living/basic/statue/mannequin{
+ dir = 1;
+ hat = /obj/item/clothing/head/utility/hardhat;
+ held_item = /obj/item/wrench
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"tk" = (
+/obj/structure/plaque/static_plaque/golden/commission/northstar,
+/turf/open/floor/mineral/gold,
+/area/awaymission/museum)
+"tl" = (
+/obj/item/food/cake/mothmallow,
+/obj/structure/table,
+/turf/open/floor/carpet/executive,
+/area/awaymission/museum)
+"tq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"ts" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"tt" = (
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"tv" = (
+/obj/effect/turf_decal/stripes{
+ dir = 4
+ },
+/obj/structure/railing,
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"tx" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/random/food_or_drink/booze{
+ loot = list(/obj/item/reagent_containers/cup/glass/bottle/beer = 10, /obj/item/reagent_containers/cup/glass/bottle/ale = 10, /obj/item/reagent_containers/cup/glass/bottle/beer/light = 5, /obj/item/reagent_containers/cup/glass/bottle/maltliquor = 5, /obj/item/reagent_containers/cup/glass/bottle/whiskey = 5, /obj/item/reagent_containers/cup/glass/bottle/gin = 5, /obj/item/reagent_containers/cup/glass/bottle/vodka = 5, /obj/item/reagent_containers/cup/glass/bottle/tequila = 5, /obj/item/reagent_containers/cup/glass/bottle/rum = 5, /obj/item/reagent_containers/cup/glass/bottle/vermouth = 5, /obj/item/reagent_containers/cup/glass/bottle/cognac = 5, /obj/item/reagent_containers/cup/glass/bottle/wine = 5, /obj/item/reagent_containers/cup/glass/bottle/kahlua = 5, /obj/item/reagent_containers/cup/glass/bottle/amaretto = 5, /obj/item/reagent_containers/cup/glass/bottle/hcider = 5, /obj/item/reagent_containers/cup/glass/bottle/absinthe = 5, /obj/item/reagent_containers/cup/glass/bottle/sake = 5, /obj/item/reagent_containers/cup/glass/bottle/grappa = 5, /obj/item/reagent_containers/cup/glass/bottle/applejack = 5, /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5, /obj/item/reagent_containers/cup/bottle/ethanol = 2, /obj/item/reagent_containers/cup/glass/bottle/fernet = 2, /obj/item/reagent_containers/cup/glass/bottle/champagne = 2, /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium = 2, /obj/item/reagent_containers/cup/glass/bottle/goldschlager = 2, /obj/item/reagent_containers/cup/glass/bottle/patron = 1, /obj/item/reagent_containers/cup/glass/bottle/kong = 1, /obj/item/reagent_containers/cup/glass/bottle/lizardwine = 1, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka = 1, /obj/item/reagent_containers/cup/glass/bottle/trappist = 1);
+ spawn_random_offset = 2
+ },
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"ty" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow{
+ siemens_coefficient = 10;
+ name = "fake stungloves";
+ desc = "A crude replica of stungloves. Essentially gloves wrapped with wire. Extremely unsafe."
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"tB" = (
+/obj/effect/turf_decal/siding/thinplating_new,
+/turf/open/chasm,
+/area/awaymission/museum)
+"tC" = (
+/obj/structure/sign/departments/lawyer/directional/south,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"tD" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"tG" = (
+/obj/structure/barricade/wooden/crude,
+/turf/closed/indestructible/fakedoor,
+/area/awaymission/museum)
+"tI" = (
+/obj/effect/turf_decal/siding{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/holofloor/asteroid{
+ icon_state = "asteroid5"
+ },
+/area/awaymission/museum)
+"tK" = (
+/obj/structure/sign/warning,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"tM" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/random/contraband/cannabis,
+/obj/effect/spawner/random/contraband/cannabis,
+/obj/effect/spawner/random/contraband/cannabis,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"tN" = (
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/tram/plate,
+/area/awaymission/museum)
+"tS" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/closet/crate/bin,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"tU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/old,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"uc" = (
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/awaymission/museum)
+"ud" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/middle,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"ue" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/light/small/dim/directional/north,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"uf" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"ul" = (
+/obj/effect/oneway{
+ dir = 8
+ },
+/turf/open/floor/holofloor/beach/coast{
+ dir = 2
+ },
+/area/awaymission/museum/mothroachvoid)
+"up" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/door/airlock/wood{
+ name = "Bathroom"
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/awaymission/museum)
+"uu" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/engineering/material,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"uE" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"uM" = (
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"uN" = (
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"uR" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/small/dim/directional/east,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"uT" = (
+/obj/effect/spawner/structure/window/reinforced/shuttle/indestructible,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"uY" = (
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"vb" = (
+/obj/structure/grille/indestructible,
+/obj/effect/decal/cleanable/fuel_pool/hivis,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"vc" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/sign/painting/large{
+ persistence_id = "museumgate_big";
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"ve" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/holosign/barrier/engineering,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"vg" = (
+/obj/structure/puzzle_blockade/oneway{
+ dir = 8
+ },
+/obj/structure/broken_flooring/side/always_floorplane/directional/south,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"vh" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/item/reagent_containers/cup/soda_cans/sol_dry,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"vj" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/table,
+/obj/item/phone,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"vp" = (
+/obj/structure/girder/displaced,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"vs" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/holosign/barrier/engineering,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"vw" = (
+/obj/structure/window/bronze/spawner/directional/south,
+/obj/structure/window/bronze/spawner/directional/west,
+/obj/structure/window/bronze/spawner/directional/north,
+/obj/structure/grille,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"vx" = (
+/obj/structure/sign/poster/random/directional/north,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"vy" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"vC" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/chair/plastic,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"vE" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 5
+ },
+/obj/structure/filingcabinet,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"vM" = (
+/mob/living/basic/statue/mannequin{
+ dir = 1;
+ hat = /obj/item/clothing/suit/costume/bronze
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/bronze,
+/area/awaymission/museum)
+"vO" = (
+/turf/open/floor/iron/stairs/left{
+ dir = 4
+ },
+/area/awaymission/museum)
+"vU" = (
+/obj/machinery/door/airlock/wood{
+ name = "Dance Room"
+ },
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"vZ" = (
+/obj/structure/table/reinforced,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/effect/turf_decal/siding/dark_blue,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"wh" = (
+/obj/structure/broken_flooring/corner/always_floorplane/directional/west,
+/obj/structure/lattice,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"wi" = (
+/obj/machinery/door/poddoor/shutters/indestructible{
+ dir = 8;
+ id = "nothing"
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"wk" = (
+/obj/machinery/vending/dinnerware,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"wy" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"wA" = (
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"wC" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wideplating{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/diagonal,
+/area/awaymission/museum)
+"wE" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 6
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"wG" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 4
+ },
+/obj/structure/broken_flooring/corner/always_floorplane{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"wH" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"wI" = (
+/obj/structure/window/spawner/directional/north,
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/awaymission/museum)
+"wJ" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/fluff/dnamod,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"wL" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/structure/flora/bush/sparsegrass/style_random,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"wN" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/sign/painting/large{
+ persistence_id = "museumgate_big";
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"wO" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"wZ" = (
+/turf/open/misc/beach/coast{
+ dir = 1
+ },
+/area/awaymission/museum/mothroachvoid)
+"xb" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench/left{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"xc" = (
+/obj/structure/falsewall/reinforced,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"xd" = (
+/obj/structure/table/reinforced,
+/obj/structure/window/spawner/directional/west,
+/obj/effect/spawner/random/bureaucracy/paper{
+ spawn_random_offset = 7;
+ spawn_loot_count = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"xf" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/random/directional/south,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"xg" = (
+/obj/structure/table/reinforced,
+/obj/item/circuitboard{
+ icon_state = "bluespacearray";
+ name = "fancy replica tech"
+ },
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"xj" = (
+/obj/effect/turf_decal/siding{
+ dir = 1
+ },
+/turf/open/floor/holofloor/asteroid{
+ icon_state = "asteroid3"
+ },
+/area/awaymission/museum)
+"xm" = (
+/turf/open/floor/holofloor/beach/coast{
+ dir = 2
+ },
+/area/awaymission/museum/mothroachvoid)
+"xn" = (
+/obj/effect/oneway{
+ dir = 8
+ },
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"xr" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/closet/crate/freezer/food,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"xt" = (
+/obj/item/kirbyplants/random,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"xu" = (
+/turf/closed/indestructible/rock,
+/area/awaymission/museum/mothroachvoid)
+"xv" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"xx" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"xB" = (
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/flashlight/lamp{
+ start_on = 0
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"xD" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/fluff/balloon_nuke,
+/turf/open/floor/holofloor/beach,
+/area/awaymission/museum)
+"xE" = (
+/turf/open/floor/mineral/gold,
+/area/awaymission/museum/mothroachvoid)
+"xF" = (
+/mob/living/basic/statue/mannequin{
+ dir = 1;
+ held_item = /obj/item/weldingtool
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"xI" = (
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"xJ" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/obj/machinery/computer/terminal/museum{
+ dir = 1;
+ content = list("1995 - By the early 90s, as computers became smaller and technology more compact, Trasen-Knox saw the need to create more of a recognisable brand. They would officially change their name to Nanotrasen in 1995, and the name would stick for the company.")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"xP" = (
+/obj/structure/closet/crate/cardboard,
+/obj/item/storage/toolbox/artistic,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"xR" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"xT" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/item/storage/box/party_poppers,
+/obj/structure/table/wood,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"ya" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/plate,
+/obj/item/food/kebab/fiesta,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"yf" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/machinery/light/small/directional/north,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"yi" = (
+/obj/structure/chair/comfy/beige{
+ dir = 1
+ },
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"yl" = (
+/turf/open/lava/plasma/mafia,
+/area/awaymission/museum)
+"yn" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/end{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"yo" = (
+/obj/machinery/conveyor/inverted{
+ dir = 10
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"yq" = (
+/obj/structure/fluff/meteor/large,
+/turf/open/floor/holofloor/hyperspace/ns,
+/area/awaymission/museum)
+"yr" = (
+/obj/structure/chair/comfy,
+/obj/effect/mapping_helpers/mob_buckler,
+/mob/living/basic/mothroach,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"yu" = (
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/awaymission/museum)
+"yw" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/structure/table,
+/obj/item/flashlight/lamp,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"yx" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/end,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"yA" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"yE" = (
+/obj/item/pickaxe/diamond,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"yF" = (
+/obj/machinery/light/small/broken/directional/south,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"yG" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/machinery/button/door/directional/east{
+ id = "gateway_waste"
+ },
+/obj/structure/railing,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"yK" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/structure/fluff/fokoff_sign,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"yM" = (
+/obj/machinery/door/poddoor{
+ id = "gatewayfake"
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"yN" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/computer/terminal/museum{
+ dir = 8;
+ content = list("Galaxywise Shipyards (Field: General Aerospace) - Much of Nanotrasen's strength as a megacorporation comes from their ability to practice what is essentially autarky- the production of all required goods from raw material to finalised item, with little to no reliance on external companies or factors. To this end, Galaxywise is critical to Nanotrasen's practice of autarky- from their orbital shipyards above Adasta, Nanotrasen is able to produce a wide range of important vessels, from small single-man scouting vessels to large-scale freighters and everything inbetween. Unfortunately for Nanotrasen, however, their autarky chain is broken by limitations imposed by TerraGov stating that only licensed corporations are capable of producing heavily armed vessels (the Merchant Marine Act states that any vessel capable of bearing armaments in excess of Class 2, the highest legal civilian grade, may be produced by licensed companies only)- a license Galaxywise has been unable to secure due to politicking by corporate rivals at the senate. ")
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"yS" = (
+/turf/closed/wall/space,
+/area/awaymission/museum)
+"zc" = (
+/obj/structure/railing,
+/obj/effect/turf_decal/stripes,
+/obj/structure/fluff/fake_camera{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"zd" = (
+/obj/effect/landmark/awaystart,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"zg" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 6
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"zh" = (
+/obj/machinery/conveyor{
+ dir = 9
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"zr" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"zz" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/girder/bronze,
+/turf/open/floor/bronze/flat,
+/area/awaymission/museum)
+"zA" = (
+/obj/effect/mapping_helpers/ztrait_injector/museum,
+/turf/open/floor/bluespace,
+/area/awaymission/museum)
+"zC" = (
+/obj/machinery/vending/boozeomat/all_access,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"zE" = (
+/turf/closed/indestructible/rock,
+/area/awaymission/museum)
+"zG" = (
+/obj/structure/chair/office{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/red,
+/mob/living/basic/statue/mannequin{
+ dir = 8;
+ hat = /obj/item/clothing/head/fedora
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"zI" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/window/bronze/spawner/directional/north,
+/obj/machinery/computer/terminal/museum{
+ pixel_y = -6;
+ content = list("Ratvar was once a powerful entity competing with the likes of Nar-Sie. It resided on a plane known as “Reebee” or the “City of cogs.” Supposedly, it was a clockwork city made of brass in which its cultists could enter once they had realized its power. However, this plane was also Ratvar’s prison from which it yearned to escape. While Reebee is gone, it is assumed that other structures such as temples or engines of the cult's creation still exist although it is unknown if they still have the power once bestowed to them by Ratvar. The fall of Reebe was an event in which Reebe, Ratvar, and all of its cultists were struck down by Nanotrasen. The cult was preparing Reebe for the freeing of Ratvar where the Veil was weak. Outpost 17, a small nanotrasen asteroid mining station was the target. Brave crewmembers managed to slip through the cracks in the veil and into the heart of Reebe with a bluespace artillery beacon in tow. With a desperate plea being sent out to a nearby security outpost, Reebe was obliterated along with the crewmembers of Outpost 17.")
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"zK" = (
+/obj/machinery/computer/arcade/battle{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"zL" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/table,
+/obj/item/stamp/denied{
+ pixel_y = 12
+ },
+/obj/item/stamp/granted{
+ pixel_y = 12;
+ pixel_x = 8
+ },
+/obj/effect/spawner/random/bureaucracy/paper{
+ spawn_random_offset = 12;
+ spawn_scatter_radius = 1;
+ spawn_loot_count = 8
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"zM" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/tracks,
+/obj/structure/broken_flooring/side/always_floorplane{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"zR" = (
+/obj/structure/statue/gold/hop{
+ anchored = 1
+ },
+/turf/open/floor/mineral/diamond,
+/area/awaymission/museum/mothroachvoid)
+"zU" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/generic,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"zX" = (
+/obj/machinery/door/poddoor/shutters/preopen,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"zY" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/machinery/light/warm/directional/north,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Ab" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/glass/titanium,
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"Ag" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"Ah" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/tram/alt/titanium,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Ai" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic,
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/obj/machinery/door/window/elevator/left/directional/south{
+ transport_linked_id = "museum_cargo"
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Ak" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/chair/sofa/bench/right{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Am" = (
+/obj/structure/window/spawner/directional/west,
+/obj/structure/window/spawner/directional/north,
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/awaymission/museum)
+"Aq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/sign/poster/random/directional/east,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"Ar" = (
+/turf/open/water/beach,
+/area/awaymission/museum/mothroachvoid)
+"As" = (
+/mob/living/basic/statue/mannequin{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/yellow,
+/obj/effect/turf_decal/trimline/yellow/corner,
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"At" = (
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Ay" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 1
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"AC" = (
+/obj/machinery/door/airlock/shuttle/glass,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 9
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/awaymission/museum)
+"AE" = (
+/obj/structure/fluff/divine/powerpylon,
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"AG" = (
+/obj/machinery/oven,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"AI" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/machinery/light/small/dim/directional/east,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"AM" = (
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = -30
+ },
+/turf/open/mirage{
+ target_turf_y = -29;
+ dir = 1
+ },
+/area/awaymission/museum)
+"AP" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"AR" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/grille/broken,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"AS" = (
+/obj/effect/smooths_with_walls,
+/turf/open/mirage{
+ dir = 1;
+ target_turf_x = -9
+ },
+/area/awaymission/museum)
+"AY" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/door/airlock/grunge{
+ name = "Souvenir Shop"
+ },
+/obj/effect/turf_decal/siding/green,
+/obj/effect/mapping_helpers/airlock/access/all/away/generic3,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"AZ" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/light/warm/directional/south,
+/obj/structure/closet/crate/bin,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Be" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Bj" = (
+/obj/structure/closet/lawcloset,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Bo" = (
+/obj/machinery/jukebox,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Bq" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Bu" = (
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"BF" = (
+/turf/open/misc/beach/coast{
+ dir = 6
+ },
+/area/awaymission/museum/mothroachvoid)
+"BK" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"BO" = (
+/obj/structure/sign/poster/random/directional/south,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"BQ" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"BX" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Cb" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic,
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/obj/effect/spawner/random/maintenance/five,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Cc" = (
+/obj/structure/hedge/opaque,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Cd" = (
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = 14
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Cf" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/effect/spawner/random/bureaucracy/crayon{
+ spawn_loot_count = 5;
+ spawn_random_offset = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Ci" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/item/clothing/mask/party_horn,
+/obj/item/clothing/mask/party_horn,
+/obj/structure/table/wood,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Cj" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Co" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Cq" = (
+/obj/structure/statue/gold/rd{
+ anchored = 1
+ },
+/turf/open/floor/mineral/diamond,
+/area/awaymission/museum/mothroachvoid)
+"Cu" = (
+/turf/open/misc/beach/coast{
+ dir = 10
+ },
+/area/awaymission/museum/mothroachvoid)
+"Cy" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/random/food_or_drink/booze{
+ loot = list(/obj/item/reagent_containers/cup/glass/bottle/beer = 10, /obj/item/reagent_containers/cup/glass/bottle/ale = 10, /obj/item/reagent_containers/cup/glass/bottle/beer/light = 5, /obj/item/reagent_containers/cup/glass/bottle/maltliquor = 5, /obj/item/reagent_containers/cup/glass/bottle/whiskey = 5, /obj/item/reagent_containers/cup/glass/bottle/gin = 5, /obj/item/reagent_containers/cup/glass/bottle/vodka = 5, /obj/item/reagent_containers/cup/glass/bottle/tequila = 5, /obj/item/reagent_containers/cup/glass/bottle/rum = 5, /obj/item/reagent_containers/cup/glass/bottle/vermouth = 5, /obj/item/reagent_containers/cup/glass/bottle/cognac = 5, /obj/item/reagent_containers/cup/glass/bottle/wine = 5, /obj/item/reagent_containers/cup/glass/bottle/kahlua = 5, /obj/item/reagent_containers/cup/glass/bottle/amaretto = 5, /obj/item/reagent_containers/cup/glass/bottle/hcider = 5, /obj/item/reagent_containers/cup/glass/bottle/absinthe = 5, /obj/item/reagent_containers/cup/glass/bottle/sake = 5, /obj/item/reagent_containers/cup/glass/bottle/grappa = 5, /obj/item/reagent_containers/cup/glass/bottle/applejack = 5, /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5, /obj/item/reagent_containers/cup/bottle/ethanol = 2, /obj/item/reagent_containers/cup/glass/bottle/fernet = 2, /obj/item/reagent_containers/cup/glass/bottle/champagne = 2, /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium = 2, /obj/item/reagent_containers/cup/glass/bottle/goldschlager = 2, /obj/item/reagent_containers/cup/glass/bottle/patron = 1, /obj/item/reagent_containers/cup/glass/bottle/kong = 1, /obj/item/reagent_containers/cup/glass/bottle/lizardwine = 1, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka = 1, /obj/item/reagent_containers/cup/glass/bottle/trappist = 1);
+ spawn_random_offset = 2;
+ spawn_loot_count = 2
+ },
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"CB" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"CC" = (
+/obj/effect/turf_decal/siding/wideplating,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"CD" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/fluff/wallsign/directional/west{
+ name = "Exit";
+ dir = 2
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"CF" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "nothing"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"CI" = (
+/obj/effect/turf_decal/caution,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"CK" = (
+/obj/item/bedsheet/medical,
+/obj/structure/bed,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"CL" = (
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/carpet/executive,
+/area/awaymission/museum)
+"CT" = (
+/mob/living/basic/mothroach,
+/mob/living/basic/mothroach,
+/obj/structure/window/spawner/directional/south,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/awaymission/museum)
+"CV" = (
+/obj/structure/sink/directional/south,
+/obj/structure/mirror/directional/north{
+ pixel_y = 32
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/awaymission/museum)
+"CW" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"De" = (
+/obj/effect/oneway{
+ dir = 8
+ },
+/turf/open/misc/beach/coast{
+ dir = 1
+ },
+/area/awaymission/museum/mothroachvoid)
+"Dk" = (
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"Dl" = (
+/turf/open/misc/beach/coast/corner{
+ dir = 4
+ },
+/area/awaymission/museum/mothroachvoid)
+"Dr" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_scrubber,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"Du" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/insectguts,
+/obj/structure/closet/crate/preopen,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Dx" = (
+/obj/effect/mine/sound,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"DA" = (
+/obj/machinery/light/small/directional/west,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"DD" = (
+/turf/open/floor/bluespace,
+/area/awaymission/museum)
+"DE" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"DI" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner,
+/obj/structure/chair/sofa/bench/right{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"DL" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"DS" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/spawner/random/structure/girder,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"DT" = (
+/obj/structure/broken_flooring/side/always_floorplane/directional/south,
+/turf/open/floor/black,
+/area/awaymission/museum)
+"DU" = (
+/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"DV" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 9
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"DY" = (
+/turf/closed/indestructible/reinforced/titanium,
+/area/awaymission/museum)
+"Ea" = (
+/obj/machinery/light/small/broken/directional/north,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Ec" = (
+/mob/living/basic/mothroach,
+/obj/structure/window/spawner/directional/north,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/awaymission/museum)
+"Ef" = (
+/obj/machinery/computer/old{
+ name = "replica computer";
+ dir = 4;
+ icon_keyboard = "rd_key";
+ icon_screen = "rdcomp"
+ },
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"Ek" = (
+/obj/structure/table/wood,
+/obj/structure/window/spawner/directional/east,
+/obj/item/plate,
+/obj/item/kitchen/fork,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"El" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4
+ },
+/obj/structure/fluff/wallsign/directional/south{
+ dir = 4;
+ name = "Oddities"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Eo" = (
+/mob/living/basic/statue/mannequin{
+ held_item = /obj/item/wrench;
+ hat = /obj/item/clothing/head/utility/hardhat
+ },
+/obj/machinery/light/directional/north,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Er" = (
+/obj/structure/chair/comfy/beige,
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"EA" = (
+/obj/machinery/door/airlock/shuttle/glass,
+/obj/effect/turf_decal/siding/dark_blue,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"ED" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic,
+/obj/machinery/light/floor,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"EE" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/closet/crate/secure/freezer,
+/obj/item/food/pizza/flatbread/fish,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"EG" = (
+/obj/item/flashlight/flare{
+ start_on = 1;
+ icon_state = "flare-on";
+ light_range = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"EK" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"EM" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/random/food_or_drink/booze{
+ loot = list(/obj/item/reagent_containers/cup/glass/bottle/beer = 10, /obj/item/reagent_containers/cup/glass/bottle/ale = 10, /obj/item/reagent_containers/cup/glass/bottle/beer/light = 5, /obj/item/reagent_containers/cup/glass/bottle/maltliquor = 5, /obj/item/reagent_containers/cup/glass/bottle/whiskey = 5, /obj/item/reagent_containers/cup/glass/bottle/gin = 5, /obj/item/reagent_containers/cup/glass/bottle/vodka = 5, /obj/item/reagent_containers/cup/glass/bottle/tequila = 5, /obj/item/reagent_containers/cup/glass/bottle/rum = 5, /obj/item/reagent_containers/cup/glass/bottle/vermouth = 5, /obj/item/reagent_containers/cup/glass/bottle/cognac = 5, /obj/item/reagent_containers/cup/glass/bottle/wine = 5, /obj/item/reagent_containers/cup/glass/bottle/kahlua = 5, /obj/item/reagent_containers/cup/glass/bottle/amaretto = 5, /obj/item/reagent_containers/cup/glass/bottle/hcider = 5, /obj/item/reagent_containers/cup/glass/bottle/absinthe = 5, /obj/item/reagent_containers/cup/glass/bottle/sake = 5, /obj/item/reagent_containers/cup/glass/bottle/grappa = 5, /obj/item/reagent_containers/cup/glass/bottle/applejack = 5, /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5, /obj/item/reagent_containers/cup/bottle/ethanol = 2, /obj/item/reagent_containers/cup/glass/bottle/fernet = 2, /obj/item/reagent_containers/cup/glass/bottle/champagne = 2, /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium = 2, /obj/item/reagent_containers/cup/glass/bottle/goldschlager = 2, /obj/item/reagent_containers/cup/glass/bottle/patron = 1, /obj/item/reagent_containers/cup/glass/bottle/kong = 1, /obj/item/reagent_containers/cup/glass/bottle/lizardwine = 1, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka = 1, /obj/item/reagent_containers/cup/glass/bottle/trappist = 1);
+ spawn_random_offset = 2;
+ spawn_loot_count = 2
+ },
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"EO" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/old,
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"EQ" = (
+/obj/item/circuitboard{
+ icon_state = "secmodschematic"
+ },
+/obj/item/screwdriver,
+/obj/structure/table/reinforced,
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/floor/circuit/green,
+/area/awaymission/museum)
+"ET" = (
+/obj/structure/chair/stool/directional/north,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 1
+ },
+/mob/living/basic/statue/mannequin{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"EU" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4
+ },
+/obj/structure/fluff/wallsign/directional/north{
+ dir = 4;
+ name = "Oddities"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"EX" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"EY" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner,
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Fa" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/gibs/core,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Fc" = (
+/obj/item/food/sandwich/cheese,
+/turf/open/floor/carpet/cyan,
+/area/awaymission/museum/mothroachvoid)
+"Fg" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 8
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Fh" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/structure/closet/crate/bin,
+/obj/structure/sign/departments/restroom/directional/west,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Fi" = (
+/obj/effect/turf_decal/siding/dark_blue,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"Fj" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 2
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Fq" = (
+/obj/machinery/light/warm/directional/north,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Fr" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing/corner/end{
+ dir = 4
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Fv" = (
+/obj/effect/smooths_with_walls,
+/turf/open/mirage{
+ target_turf_y = -19
+ },
+/area/awaymission/museum)
+"Fw" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ should_dry = 0;
+ name = "replica blood"
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"FA" = (
+/obj/structure/table/reinforced,
+/obj/item/circuitboard{
+ icon_state = "printer";
+ name = "fancy replica tech"
+ },
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"FD" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"FE" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/carpet/executive,
+/area/awaymission/museum)
+"FG" = (
+/obj/structure/window/spawner/directional/south,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/awaymission/museum)
+"FH" = (
+/obj/structure/plaque/static_plaque/golden/commission/box,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"FJ" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/turf_decal/stripes/red/line,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"FK" = (
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"FM" = (
+/obj/structure/sign/departments/restroom/directional/south,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Gh" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 10
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Gi" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/closet/crate/miningcar,
+/turf/open/floor/tram/plate,
+/area/awaymission/museum)
+"Gv" = (
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "l";
+ pixel_x = -10
+ },
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "i"
+ },
+/obj/effect/decal/cleanable/crayon{
+ icon_state = "e";
+ pixel_x = 12
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"Gx" = (
+/obj/machinery/vending/coffee,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"GE" = (
+/obj/structure/plaque/static_plaque/golden/commission/meta,
+/turf/open/floor/mineral/gold,
+/area/awaymission/museum)
+"GG" = (
+/obj/structure/chair/office{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/mob/living/basic/statue/mannequin{
+ dir = 4
+ },
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"GO" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/plate/large,
+/obj/item/food/kurry_ok_subsando,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"GQ" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/middle{
+ dir = 4
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"GS" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/end{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"GT" = (
+/obj/structure/table/wood,
+/obj/structure/window/spawner/directional/north,
+/obj/structure/window/spawner/directional/west,
+/obj/item/book/manual/wiki/security_space_law,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"GU" = (
+/mob/living/basic/mothroach,
+/turf/open/water/beach,
+/area/awaymission/museum/mothroachvoid)
+"GV" = (
+/obj/structure/plaque/static_plaque/golden/commission/disc,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"GY" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/structure/fluff/fake_camera{
+ dir = 9
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Hf" = (
+/obj/structure/table/wood,
+/obj/item/language_manual/roundstart_species,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Hi" = (
+/obj/structure/fluff/fake_scrubber,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/museum)
+"Hj" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench/left{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Hk" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/corner/always_floorplane,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Hn" = (
+/mob/living/basic/statue/mannequin{
+ hat = /obj/item/clothing/head/costume/kitty;
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/yellow,
+/obj/effect/turf_decal/trimline/yellow/corner{
+ dir = 4
+ },
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"Ho" = (
+/obj/structure/fluff/divine/powerpylon,
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"Hs" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/machinery/door/poddoor/shutters/indestructible{
+ dir = 4;
+ id = "nothing"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Hw" = (
+/obj/machinery/computer/terminal/museum{
+ content = list("Early 1970s, 1978 - With the introduction of the microprocessor in the early 1970s, the world of computers became accessible to the masses via the introduction of the personal computer. Seizing on the opportunity to expand their horizons, Trasen-Knox would introduce their first personal computer, the TKC Personal Computer, in 1978, becoming a household name as well as the favourite computer producer of scientific groups in North America.")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"HA" = (
+/obj/machinery/status_display/random_message{
+ firstline_to_secondline = list("NO" = "LITTERING","YOU ARE" = "BEING WATCHED", "DO NOT TOUCH" = "THE EXHIBITS")
+ },
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"HD" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/machinery/door/poddoor/shutters/indestructible{
+ dir = 8;
+ id = "nothing"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"HE" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/showcase/perfect_employee,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"HJ" = (
+/obj/structure/hedge/opaque,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"HL" = (
+/obj/structure/table/reinforced,
+/obj/item/toy/beach_ball/branded{
+ pixel_y = 10
+ },
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/light/directional/north,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"HP" = (
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"HU" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/machinery/computer/old{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"HY" = (
+/obj/machinery/light/floor,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Ic" = (
+/obj/machinery/light/warm/dim/directional/north,
+/turf/open/floor/carpet,
+/area/awaymission/museum)
+"Ij" = (
+/obj/machinery/door/airlock/external,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Im" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/structure/holosign/barrier/engineering,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Iu" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"Iz" = (
+/obj/structure/disposalpipe/broken,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"IB" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic/light,
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"IC" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"IF" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/random/food_or_drink/refreshing_beverage,
+/obj/item/food/grilled_beef_gyro,
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"IH" = (
+/obj/machinery/portable_atmospherics/canister/water_vapor,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/singular/always_floorplane{
+ dir = 4
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"IP" = (
+/turf/open/floor/holofloor/beach/coast,
+/area/awaymission/museum)
+"IV" = (
+/obj/structure/railing,
+/obj/effect/turf_decal/stripes,
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"IZ" = (
+/obj/structure/chair/comfy/beige{
+ dir = 4
+ },
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Jb" = (
+/turf/open/floor/iron/dark/side,
+/area/awaymission/museum)
+"Jc" = (
+/obj/structure/window/spawner/directional/north,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/awaymission/museum)
+"Jd" = (
+/obj/machinery/vending/cigarette/beach,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Je" = (
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/carpet,
+/area/awaymission/museum)
+"Jg" = (
+/obj/structure/statue/sandstone/assistant,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Jj" = (
+/mob/living/basic/mothroach,
+/turf/open/floor/mineral/gold,
+/area/awaymission/museum/mothroachvoid)
+"Jk" = (
+/obj/item/toy/plush/moth,
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/carpet/executive,
+/area/awaymission/museum)
+"Jn" = (
+/obj/structure/table/reinforced,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/turf_decal/siding/dark_blue,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"Js" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/machinery/computer/terminal/museum{
+ dir = 8;
+ content = list("This exhibit is of a preserved cortical borer. Cortical borers went extinct in the Spinward sector due to almost every of them starving as they could not find enough food in the brains of the crewmembers, as they are usually pretty small or damaged by plasma exposure.")
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Jv" = (
+/obj/machinery/light/warm/dim/directional/south,
+/obj/structure/fluff/divine/shrine,
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"Jx" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Jz" = (
+/obj/machinery/light/floor,
+/turf/open/floor/mineral/silver,
+/area/awaymission/museum)
+"JF" = (
+/obj/machinery/gateway/away,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/dark/diagonal,
+/area/awaymission/museum)
+"JK" = (
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = 18
+ },
+/turf/open/mirage{
+ dir = 1;
+ target_turf_x = -9
+ },
+/area/awaymission/museum)
+"JU" = (
+/obj/machinery/computer/terminal/museum{
+ dir = 4;
+ content = list("1963 - Founded in the city of Fresno by Michael Trasen and Dale Knox, Trasen-Knox Computing (as it was known at the time) would get its start producing scientific computers for academia. Trasen-Knox computers quickly gained a reputation for quality and reliability, and the company would gain a decent market share with American and Canadian universities over the coming decade. Trasen-Knox would also work closely with NASA in producing equipment for the space race- giving them an early start in Humanity’s push to the stars. ")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"JV" = (
+/turf/open/floor/bronze,
+/area/awaymission/museum)
+"JW" = (
+/obj/structure/broken_flooring/singular/always_floorplane{
+ dir = 8
+ },
+/turf/open/floor/black,
+/area/awaymission/museum)
+"JY" = (
+/turf/open/floor/iron/stairs{
+ dir = 8
+ },
+/area/awaymission/museum/mothroachvoid)
+"Kb" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Kd" = (
+/obj/structure/chair/stool/bar/directional/east{
+ can_buckle = 1
+ },
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Kh" = (
+/turf/closed/indestructible/fakeglass,
+/area/awaymission/museum)
+"Ko" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/marker_beacon/burgundy,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Ks" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/item/keycard/blue{
+ puzzle_id = "museum_secret"
+ },
+/turf/open/floor/carpet/executive,
+/area/awaymission/museum)
+"Kt" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Kv" = (
+/obj/effect/turf_decal/stripes{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/catwalk_floor,
+/area/awaymission/museum)
+"Kx" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/mob/living/basic/skeleton,
+/obj/effect/spawner/random/maintenance/three,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"KI" = (
+/turf/open/floor/iron/dark/side{
+ dir = 10
+ },
+/area/awaymission/museum)
+"KN" = (
+/obj/effect/landmark/awaystart,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Le" = (
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/museum)
+"Lg" = (
+/obj/machinery/griddle,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"Lk" = (
+/obj/machinery/light/directional/north,
+/obj/structure/showcase/mecha/marauder,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"Lm" = (
+/turf/open/floor/black,
+/area/awaymission/museum)
+"Lp" = (
+/obj/machinery/status_display/random_message{
+ firstline_to_secondline = list("NO" = "LITTERING","YOU ARE" = "BEING WATCHED", "DO NOT TOUCH" = "THE EXHIBITS")
+ },
+/turf/closed/indestructible/reinforced/titanium/nodiagonal,
+/area/awaymission/museum)
+"Lq" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Ls" = (
+/obj/structure/table/reinforced,
+/obj/item/instrument/piano_synth/headphones,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Lt" = (
+/obj/structure/plaque/static_plaque/golden/commission/asteroid,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"Lv" = (
+/obj/structure/window/reinforced/spawner/directional/south,
+/turf/open/floor/circuit/green,
+/area/awaymission/museum)
+"Lw" = (
+/turf/open/floor/mineral/silver,
+/area/awaymission/museum)
+"Ly" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"LB" = (
+/turf/open/floor/iron/stairs/right{
+ dir = 8
+ },
+/area/awaymission/museum)
+"LC" = (
+/obj/machinery/computer/terminal/museum{
+ dir = 4;
+ content = list("Mothroach")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"LN" = (
+/obj/effect/decal/cleanable/glass/titanium,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"LQ" = (
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = -12
+ },
+/obj/effect/oneway{
+ dir = 8
+ },
+/turf/open/mirage{
+ dir = 4;
+ range = 1;
+ target_turf_x = -11
+ },
+/area/awaymission/museum)
+"LS" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"LY" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/flora/bush/sparsegrass/style_random,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Ma" = (
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Mg" = (
+/obj/structure/plaque/static_plaque/golden/commission/tram,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"Mn" = (
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Ms" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/side/always_floorplane{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Mv" = (
+/mob/living/basic/statue/mannequin{
+ dir = 4;
+ held_item = /obj/item/wrench;
+ name = "Michael Trasen"
+ },
+/obj/effect/turf_decal/stripes{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth_large,
+/area/awaymission/museum)
+"Mx" = (
+/obj/structure/table,
+/obj/item/phone,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"MB" = (
+/obj/structure/railing,
+/turf/open/floor/holofloor/asteroid{
+ icon_state = "asteroid5"
+ },
+/area/awaymission/museum)
+"MC" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/holofloor/white,
+/area/awaymission/museum)
+"ME" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"MF" = (
+/turf/closed/indestructible/wood,
+/area/awaymission/museum)
+"MI" = (
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/mecha_parts/mecha_equipment/generator,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"MV" = (
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"MZ" = (
+/obj/structure/fluff/divine/defensepylon,
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"Na" = (
+/obj/structure/girder,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Nc" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"Nd" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Ng" = (
+/obj/item/stack/sheet/bronze/thirty,
+/obj/structure/table/bronze,
+/turf/open/floor/bronze,
+/area/awaymission/museum)
+"Ni" = (
+/obj/machinery/computer/terminal/museum{
+ dir = 4;
+ content = list("Primarily an advanced research and development conglomerate, but also has skin in many other fields. While a great deal of their income still comes from producing public research funded by government research grants, their operations also include directly producing and selling their most profitable designs, leasing their asset protection forces to governments and private organizations (both space fleets and ground troops), logistics management with a specialization in remote settlement self-sufficiency, and maintaining interstellar communication infrastructures to name a few. The common theme that runs through most of their business ventures is taking the lessons they've learned from operating on such a massive scale and helping smaller organizations stretch themselves.")
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"Nm" = (
+/obj/structure/plaque/static_plaque/golden/commission/birdboat,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"Ns" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/random/food_or_drink/booze{
+ loot = list(/obj/item/reagent_containers/cup/glass/bottle/beer = 10, /obj/item/reagent_containers/cup/glass/bottle/ale = 10, /obj/item/reagent_containers/cup/glass/bottle/beer/light = 5, /obj/item/reagent_containers/cup/glass/bottle/maltliquor = 5, /obj/item/reagent_containers/cup/glass/bottle/whiskey = 5, /obj/item/reagent_containers/cup/glass/bottle/gin = 5, /obj/item/reagent_containers/cup/glass/bottle/vodka = 5, /obj/item/reagent_containers/cup/glass/bottle/tequila = 5, /obj/item/reagent_containers/cup/glass/bottle/rum = 5, /obj/item/reagent_containers/cup/glass/bottle/vermouth = 5, /obj/item/reagent_containers/cup/glass/bottle/cognac = 5, /obj/item/reagent_containers/cup/glass/bottle/wine = 5, /obj/item/reagent_containers/cup/glass/bottle/kahlua = 5, /obj/item/reagent_containers/cup/glass/bottle/amaretto = 5, /obj/item/reagent_containers/cup/glass/bottle/hcider = 5, /obj/item/reagent_containers/cup/glass/bottle/absinthe = 5, /obj/item/reagent_containers/cup/glass/bottle/sake = 5, /obj/item/reagent_containers/cup/glass/bottle/grappa = 5, /obj/item/reagent_containers/cup/glass/bottle/applejack = 5, /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5, /obj/item/reagent_containers/cup/bottle/ethanol = 2, /obj/item/reagent_containers/cup/glass/bottle/fernet = 2, /obj/item/reagent_containers/cup/glass/bottle/champagne = 2, /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium = 2, /obj/item/reagent_containers/cup/glass/bottle/goldschlager = 2, /obj/item/reagent_containers/cup/glass/bottle/patron = 1, /obj/item/reagent_containers/cup/glass/bottle/kong = 1, /obj/item/reagent_containers/cup/glass/bottle/lizardwine = 1, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka = 1, /obj/item/reagent_containers/cup/glass/bottle/trappist = 1);
+ spawn_random_offset = 2
+ },
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Ny" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/structure/closet/crate/bin,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"NB" = (
+/obj/effect/turf_decal/siding/wideplating/corner,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"ND" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing,
+/obj/structure/table,
+/obj/item/clothing/mask/cigarette/cigar{
+ lit = 1;
+ icon_state = "cigaron"
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"NK" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/away/generic3,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"NO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"NT" = (
+/obj/machinery/light/floor,
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"NV" = (
+/obj/structure/bed/pod{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"NY" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Oi" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/spawner/random/trash/cigbutt,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Ok" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Ol" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/singular/always_floorplane{
+ dir = 4
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Oo" = (
+/obj/structure/closet/secure_closet/bar/lavaland_bartender_booze{
+ anchored = 1
+ },
+/turf/open/floor/wood/tile,
+/area/awaymission/museum)
+"Op" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/computer/terminal/museum{
+ dir = 4;
+ content = list("The DNA Manipulator, oh how great you were. Phased out several years ago because a study discovered that plants modified by the DNA Manipulator usually gave you cancer. Naturally, this was the botanists fault.")
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Ov" = (
+/turf/open/chasm,
+/area/awaymission/museum)
+"OD" = (
+/obj/machinery/computer/terminal/museum{
+ dir = 8;
+ content = list("2560 - The Nanotrasen Cloning Incident; Did you know that Nanotrasen used to provide cloning for profitable employees? No? Good! Because in 2560, there was a terrorist backed sabotage on one of our cloning material supply facilities, resulting in a Feline serum being dumped into the carefully curated output. This resulted in horrible cat mutations for anyone who got cloned, weeks later. Facing outlash, Nanotrasen had to shut down all cloning clinics.")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"OI" = (
+/obj/machinery/light/floor,
+/turf/open/floor/bronze/filled,
+/area/awaymission/museum)
+"OP" = (
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"OS" = (
+/obj/structure/chair/stool/bar/directional/east{
+ can_buckle = 1
+ },
+/obj/effect/mapping_helpers/mob_buckler,
+/mob/living/basic/mothroach,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"OT" = (
+/obj/structure/marker_beacon/burgundy,
+/obj/structure/lattice/catwalk/mining,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"OZ" = (
+/obj/item/toy/figure/syndie,
+/obj/item/toy/figure/syndie{
+ pixel_x = -9
+ },
+/obj/item/toy/figure/syndie{
+ pixel_x = 9
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/floor/holofloor/beach/coast{
+ dir = 1
+ },
+/area/awaymission/museum)
+"Pb" = (
+/mob/living/basic/mothroach,
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/awaymission/museum)
+"Pc" = (
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Pd" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 2
+ },
+/obj/structure/broken_flooring/corner/always_floorplane{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Pf" = (
+/obj/structure/table/wood,
+/obj/item/food/kebab/pineapple_skewer,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"Pi" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench/left{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Pl" = (
+/obj/structure/filingcabinet/chestdrawer,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Pp" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/machinery/light/small/dim/directional/north,
+/obj/structure/chair/stool/directional/east,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Pq" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/plate,
+/obj/item/food/kebab/pineapple_skewer,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Ps" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"PB" = (
+/turf/closed/indestructible/fakedoor/engineering,
+/area/awaymission/museum)
+"PC" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"PF" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/turf_decal/mining,
+/obj/item/flashlight/lantern{
+ icon_state = "lantern-on";
+ start_on = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"PK" = (
+/obj/machinery/door/poddoor{
+ id = "gatewayfake"
+ },
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"PN" = (
+/obj/structure/girder/bronze,
+/turf/open/floor/bronze/flat,
+/area/awaymission/museum)
+"PP" = (
+/obj/effect/decal/cleanable/fuel_pool/hivis,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"PR" = (
+/obj/structure/fluff/minepost,
+/obj/effect/turf_decal/siding{
+ dir = 9
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"PU" = (
+/obj/machinery/shower/directional/east,
+/obj/effect/decal/cleanable/plastic,
+/turf/open/floor/iron/white/textured_large,
+/area/awaymission/museum)
+"PW" = (
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = -18
+ },
+/turf/open/mirage{
+ target_turf_y = -19
+ },
+/area/awaymission/museum)
+"PX" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic/light,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"PZ" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/item/flashlight/flare{
+ start_on = 1;
+ icon_state = "flare-on"
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Qa" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 1
+ },
+/obj/item/kirbyplants/random,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Qb" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"Qc" = (
+/obj/item/kirbyplants/random/dead,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Qe" = (
+/obj/structure/broken_flooring/singular/always_floorplane{
+ dir = 4
+ },
+/turf/open/floor/black,
+/area/awaymission/museum)
+"Qf" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green,
+/obj/structure/table,
+/obj/machinery/coffeemaker,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Qi" = (
+/obj/effect/spawner/structure/window/reinforced/indestructible,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Qj" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Qk" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Qo" = (
+/obj/structure/closet/crate/cardboard/mothic,
+/obj/item/food/pizza/mothic_white_pie,
+/obj/item/toy/plush/moth,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Qs" = (
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/light/floor,
+/obj/effect/replica_spawner{
+ target_path = /obj/structure/reagent_dispensers/fueltank
+ },
+/obj/effect/decal/cleanable/blood/gibs,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Qt" = (
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/structure/window/reinforced/spawner/directional/east,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Qv" = (
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/awaymission/museum)
+"Qw" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"QB" = (
+/obj/structure/plaque/static_plaque/golden/commission/birdshot,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"QD" = (
+/obj/structure/fluff/broken_canister_frame,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"QF" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"QG" = (
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/dark/diagonal,
+/area/awaymission/museum)
+"QI" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/small/dim/directional/north,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"QK" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/flora/bush/sparsegrass/style_random,
+/obj/structure/closet/crate/bin,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"QN" = (
+/obj/structure/table/wood,
+/obj/item/food/grilled_beef_gyro,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"QP" = (
+/obj/effect/playeronly_barrier,
+/obj/machinery/door/airlock/public/glass,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"QU" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/side/always_floorplane{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"QX" = (
+/obj/structure/sign/poster/party_game/directional/south,
+/turf/open/floor/iron/dark/side,
+/area/awaymission/museum)
+"Re" = (
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Ri" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/remains/human,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Rl" = (
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/structure/fluff{
+ name = "replica prototype autolathe";
+ icon = 'icons/obj/machines/lathes.dmi';
+ icon_state = "autolathe";
+ desc = "A non-functional replica of a prototype Autolathe."
+ },
+/turf/open/floor/iron/smooth_corner{
+ dir = 4
+ },
+/area/awaymission/museum)
+"Rq" = (
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Rs" = (
+/mob/living/basic/mothroach,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/awaymission/museum)
+"Rz" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/end{
+ dir = 4
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"RC" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 10
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"RD" = (
+/obj/effect/turf_decal/trimline/yellow/arrow_ccw{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"RJ" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/maintenance/three,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"RL" = (
+/obj/effect/spawner/random/vending/colavend,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"RR" = (
+/obj/machinery/suit_storage_unit/open,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/white/textured_large,
+/area/awaymission/museum)
+"RU" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic,
+/obj/structure/closet/crate/engineering,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Sa" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/door/airlock/freezer,
+/turf/open/floor/iron/freezer,
+/area/awaymission/museum)
+"Sc" = (
+/obj/effect/baseturf_helper{
+ baseturf_to_replace = list(/turf/open/space/basic);
+ baseturf = /turf/open/indestructible/plating
+ },
+/turf/open/floor/bluespace,
+/area/awaymission/museum)
+"Se" = (
+/obj/structure/chair/comfy/beige,
+/mob/living/basic/mothroach,
+/obj/effect/mapping_helpers/mob_buckler,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Sh" = (
+/obj/effect/turf_decal/siding,
+/obj/structure/railing,
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"So" = (
+/obj/machinery/shower/directional/east,
+/turf/open/floor/iron/white/textured_large,
+/area/awaymission/museum)
+"Sr" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Sv" = (
+/obj/machinery/status_display/random_message{
+ firstline_to_secondline = list("SOUVENIR" = "SHOP")
+ },
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"SA" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/table,
+/obj/item/wirecutters,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"SN" = (
+/obj/structure/fluff/divine/conduit,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"SQ" = (
+/mob/living/basic/mothroach,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"ST" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/door/poddoor/shutters/indestructible{
+ dir = 8;
+ id = "nothing"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"SU" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/stack/spacecash/c1000,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Tr" = (
+/obj/structure/plaque/static_plaque/golden/commission/kilo,
+/obj/machinery/light/floor,
+/turf/open/floor/mineral/gold,
+/area/awaymission/museum)
+"Tt" = (
+/obj/structure/holosign/barrier/engineering,
+/turf/open/misc/grass,
+/area/awaymission/museum/mothroachvoid)
+"Tu" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 8
+ },
+/obj/structure/chair/sofa/bench/left{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Tz" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"TB" = (
+/obj/item/stack/rods,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/corner/always_floorplane{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"TF" = (
+/turf/open/floor/iron/stairs/right{
+ dir = 4
+ },
+/area/awaymission/museum)
+"TI" = (
+/obj/structure/chair/bronze{
+ dir = 8
+ },
+/turf/open/floor/bronze/flat,
+/area/awaymission/museum)
+"TJ" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/replica_spawner{
+ target_path = /obj/machinery/autolathe
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"TM" = (
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"TN" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/item/kirbyplants/random/fullysynthetic,
+/turf/open/floor/mineral/titanium/blue,
+/area/awaymission/museum)
+"TO" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/structure/crate_abandoned,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"TQ" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/singular/always_floorplane{
+ dir = 8
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"TR" = (
+/obj/structure/window/spawner/directional/east,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/awaymission/museum)
+"TV" = (
+/obj/structure/sign/poster/random/directional/east,
+/obj/structure/grille,
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"TY" = (
+/turf/open/floor/iron/showroomfloor,
+/area/awaymission/museum)
+"Ue" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic,
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/obj/machinery/door/window/elevator/right/directional/south{
+ transport_linked_id = "museum_cargo"
+ },
+/obj/effect/spawner/random/maintenance/seven,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Um" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/structure/fluff/wallsign/directional/east{
+ dir = 2;
+ name = "Exit"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Un" = (
+/obj/structure/fluff/wallsign/directional/west{
+ name = "History of Nanotrasen"
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Uo" = (
+/obj/structure/fluff/fake_scrubber,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Uq" = (
+/obj/effect/smooths_with_walls,
+/turf/cordon/secret,
+/area/awaymission/museum)
+"Ut" = (
+/mob/living/basic/statue/mannequin{
+ held_item = /obj/item/banner/command;
+ hat = /obj/item/clothing/head/helmet/space
+ },
+/turf/open/floor/holofloor/hyperspace/ns,
+/area/awaymission/museum)
+"Uu" = (
+/turf/open/floor/mineral/titanium/white,
+/area/awaymission/museum)
+"Ux" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/table,
+/obj/item/computer_disk{
+ icon_state = "datadisk_hydro";
+ name = "plant data disk"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"UB" = (
+/obj/structure/fluff/minepost,
+/obj/effect/turf_decal/siding{
+ dir = 6
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"UD" = (
+/obj/item/reagent_containers/pill/patch/ondansetron,
+/obj/structure/rack,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/reagent_containers/pill/patch/libital,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"UG" = (
+/mob/living/basic/mothroach,
+/turf/open/misc/beach/sand,
+/area/awaymission/museum/mothroachvoid)
+"UI" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"UK" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/machinery/door/poddoor/shutters/preopen,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"UP" = (
+/obj/structure/table/bronze,
+/obj/item/clothing/suit/costume/bronze,
+/obj/item/clothing/suit/costume/bronze,
+/obj/item/clothing/shoes/bronze,
+/obj/item/clothing/head/costume/bronze,
+/turf/open/floor/bronze/flat,
+/area/awaymission/museum)
+"UR" = (
+/obj/structure/railing,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"US" = (
+/obj/machinery/computer/old{
+ name = "replica computer";
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 6
+ },
+/turf/open/floor/circuit/green,
+/area/awaymission/museum)
+"UT" = (
+/obj/machinery/status_display/random_message{
+ firstline_to_secondline = list("NO" = "LITTERING","YOU ARE" = "BEING WATCHED", "DO NOT TOUCH" = "THE EXHIBITS");
+ pixel_x = 32
+ },
+/turf/open/floor/carpet,
+/area/awaymission/museum)
+"UU" = (
+/obj/effect/turf_decal/siding{
+ dir = 1
+ },
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"UV" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/item/storage/toolbox/emergency/old,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"UY" = (
+/obj/effect/spawner/random/trash/mess,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/smooth_half,
+/area/awaymission/museum)
+"Vc" = (
+/obj/machinery/light/warm/directional/east,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Vh" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing/corner,
+/obj/machinery/light/small/directional/east,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Vk" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Vq" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/fluff/fokoff_sign,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Vz" = (
+/obj/structure/grille/broken,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"VA" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"VD" = (
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = 30
+ },
+/turf/open/mirage{
+ target_turf_y = 29
+ },
+/area/awaymission/museum)
+"VE" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/railing/corner,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"VH" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/server,
+/turf/open/floor/holofloor/beach,
+/area/awaymission/museum)
+"VK" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_camera{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"VL" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"VM" = (
+/obj/machinery/conveyor{
+ dir = 1
+ },
+/obj/item/clothing/under/rank/medical/scrubs/coroner,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"VS" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"VT" = (
+/obj/effect/turf_decal/tile/dark_blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"VW" = (
+/turf/open/floor/holofloor/beach/water,
+/area/awaymission/museum)
+"VZ" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Wc" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/door/poddoor/shutters/indestructible{
+ dir = 4;
+ id = "nothing"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"We" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Wf" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/flora/bush/sparsegrass/style_random,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Wg" = (
+/mob/living/basic/mothroach,
+/obj/structure/window/spawner/directional/north,
+/obj/structure/window/spawner/directional/east,
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/awaymission/museum)
+"Wj" = (
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"Wo" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 1
+ },
+/obj/machinery/light/directional/south,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Wr" = (
+/obj/effect/light_emitter{
+ light_color = "#FFF4AA";
+ set_cap = 1
+ },
+/turf/closed/indestructible/rock,
+/area/awaymission/museum)
+"Wt" = (
+/obj/machinery/computer/old{
+ name = "replica computer";
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 5
+ },
+/turf/open/floor/circuit/green,
+/area/awaymission/museum)
+"Wu" = (
+/obj/machinery/door/airlock/grunge,
+/obj/effect/turf_decal/stripes/end,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/engine,
+/area/awaymission/museum)
+"Wy" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"WB" = (
+/obj/structure/chair/stool/bar/directional/east,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"WD" = (
+/obj/effect/mob_spawn/corpse/human/assistant,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"WE" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 1
+ },
+/obj/structure/fluff/fake_scrubber,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"WH" = (
+/obj/structure/fluff/divine/defensepylon,
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/cult,
+/area/awaymission/museum)
+"WJ" = (
+/obj/structure/transport/linear/tram/slow,
+/obj/structure/thermoplastic,
+/obj/effect/spawner/random/maintenance/seven,
+/obj/item/storage/pill_bottle/maintenance_pill/full,
+/obj/effect/spawner/random/structure/closet_empty/crate/with_loot,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"WM" = (
+/obj/structure/flora/bush/sparsegrass/style_random,
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"WQ" = (
+/obj/effect/spawner/random/vending/snackvend,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"WT" = (
+/obj/machinery/computer/terminal/museum{
+ content = list("2008 - Nanotrasen would buy out and merge with the Wulfe Group, a German company known for their manufacture of industrial equipment. Rebranding the company as Nanotrasen Heavy Industry (or NTHI), this would be Nanotrasen’s first step towards new horizons beyond computing. In a series of purchases, Nanotrasen would expand its range of products considerably, acquiring a chemical and oil subsidiary in Texas Chemical (now Nanotrasen Chemical Supply), a consumer goods subsidiary in Seowon Appliances (now Nanotrasen Consumer Goods)")
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"WU" = (
+/obj/machinery/light/warm/directional/south,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"WX" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Xa" = (
+/obj/structure/broken_flooring/corner/always_floorplane{
+ dir = 2
+ },
+/obj/structure/lattice,
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Xc" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/plate,
+/obj/item/food/kitzushi,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Xh" = (
+/turf/closed/indestructible/fakedoor/maintenance,
+/area/awaymission/museum)
+"Xo" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing,
+/obj/structure/table,
+/obj/item/pen/red,
+/obj/item/paper/fluff/museum/noend,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Xs" = (
+/obj/structure/fluff/broken_canister_frame,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Xt" = (
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/contraband/cannabis,
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"XB" = (
+/obj/effect/turf_decal/bot/right,
+/turf/open/floor/iron/dark/diagonal,
+/area/awaymission/museum)
+"XC" = (
+/obj/structure/plaque/static_plaque/golden/commission/mini,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"XD" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = 14
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"XF" = (
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/iron/white,
+/area/awaymission/museum)
+"XK" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"XM" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"XP" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "nothing"
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"XR" = (
+/obj/structure/filingcabinet/chestdrawer,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/corner/always_floorplane,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"XW" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_camera{
+ dir = 5
+ },
+/turf/open/floor/iron/dark/textured_large,
+/area/awaymission/museum)
+"Yb" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/plate/large,
+/obj/item/food/khachapuri,
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"Yd" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/broken_flooring/side/directional/east,
+/obj/machinery/door/airlock/atmos/glass,
+/obj/structure/barricade/wooden,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/mapping_helpers/airlock/access/all/away/generic3,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Ye" = (
+/obj/structure/sign/nanotrasen,
+/turf/closed/indestructible/reinforced/titanium/nodiagonal,
+/area/awaymission/museum)
+"Yg" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/mob/living/basic/cockroach,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Yk" = (
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "museum_secret"
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Yr" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/effect/spawner/random/entertainment/toy,
+/obj/item/reagent_containers/cup/glass/mug/nanotrasen,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Yz" = (
+/obj/effect/turf_decal/siding,
+/mob/living/basic/statue/mannequin{
+ dir = 8;
+ held_item = /obj/item/pickaxe;
+ hat = /obj/item/clothing/suit/hooded/explorer
+ },
+/obj/structure/railing,
+/turf/open/floor/holofloor/asteroid,
+/area/awaymission/museum)
+"YC" = (
+/obj/item/storage/box/mothic_cans_sauces,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"YD" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/middle{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"YF" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/awaymission/museum)
+"YP" = (
+/obj/structure/broken_flooring/singular/always_floorplane{
+ dir = 1
+ },
+/turf/open/floor/black,
+/area/awaymission/museum)
+"YY" = (
+/turf/open/floor/iron/stairs/left{
+ dir = 8
+ },
+/area/awaymission/museum)
+"YZ" = (
+/obj/machinery/light/warm/dim/directional/south,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/green,
+/obj/structure/table,
+/obj/item/coffee_cartridge/bootleg,
+/obj/item/reagent_containers/cup/glass/coffee/no_lid{
+ pixel_x = 12
+ },
+/turf/open/floor/iron,
+/area/awaymission/museum)
+"Zf" = (
+/obj/structure/plaque/static_plaque/golden/commission/donut,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"Zg" = (
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/holofloor/beach/water,
+/area/awaymission/museum)
+"Zk" = (
+/obj/effect/decal/cleanable/fuel_pool/hivis,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"Zn" = (
+/obj/structure/lattice,
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"Zp" = (
+/obj/structure/plaque/static_plaque/golden/commission/icebox,
+/turf/closed/indestructible/reinforced,
+/area/awaymission/museum)
+"Zr" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/effect/step_trigger/teleporter/offset{
+ teleport_y_offset = 14
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"Zw" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"ZB" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/structure/broken_flooring/side/always_floorplane/directional/east,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/mapping_helpers/airlock/access/all/away/generic3,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"ZF" = (
+/mob/living/basic/mothroach,
+/turf/open/misc/beach/coast/corner{
+ dir = 1
+ },
+/area/awaymission/museum/mothroachvoid)
+"ZH" = (
+/obj/structure/lattice/catwalk/mining,
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/chasm/true/no_smooth,
+/area/awaymission/museum)
+"ZI" = (
+/obj/structure/railing,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum)
+"ZP" = (
+/obj/structure/statue/gold/ce{
+ anchored = 1
+ },
+/turf/open/floor/mineral/diamond,
+/area/awaymission/museum/mothroachvoid)
+"ZW" = (
+/obj/machinery/door/airlock/wood/glass,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/wood/large,
+/area/awaymission/museum)
+"ZY" = (
+/obj/structure/window/bronze/spawner/directional/south,
+/obj/structure/window/bronze/spawner/directional/east,
+/obj/structure/window/bronze/spawner/directional/north,
+/obj/structure/grille,
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+"ZZ" = (
+/obj/item/stack/rods,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 4
+ },
+/turf/open/indestructible/plating,
+/area/awaymission/museum)
+
+(1,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(2,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(3,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(4,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(5,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(6,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(7,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(8,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(9,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(10,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(11,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(12,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(13,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(14,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(15,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(16,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(17,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(18,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(19,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(20,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(21,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(22,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(23,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(24,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(25,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(26,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(27,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(28,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(29,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(30,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(31,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(32,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(33,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(34,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(35,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(36,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(37,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(38,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(39,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(40,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(41,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(42,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(43,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(44,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(45,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(46,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(47,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(48,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(49,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(50,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(51,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(52,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(53,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(54,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(55,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(56,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(57,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(58,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(59,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(60,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(61,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(62,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(63,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(64,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(65,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(66,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(67,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(68,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(69,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(70,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(71,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(72,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(73,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(74,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(75,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(76,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(77,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(78,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Lm
+Lm
+Lm
+Lm
+Qe
+Lm
+Qe
+Lm
+Lm
+Lm
+Lm
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(79,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Lm
+Lm
+Lm
+Qe
+Lm
+Qe
+Lm
+YP
+Lm
+Lm
+Lm
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(80,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Lm
+Lm
+Lm
+Lm
+Qe
+Lm
+JW
+Lm
+Lm
+Lm
+sj
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(81,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+yS
+yS
+yS
+yS
+yS
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+DT
+DT
+DT
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(82,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+yS
+yS
+fn
+kQ
+fn
+yS
+yS
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+re
+FK
+xx
+TM
+Wy
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(83,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+yS
+fn
+fn
+fn
+fn
+kQ
+yS
+re
+re
+re
+FK
+FK
+FK
+IP
+Zg
+fJ
+FK
+FK
+FK
+Hs
+eN
+Wc
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(84,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+yS
+fn
+Ut
+hE
+dY
+fn
+yS
+re
+re
+re
+FK
+jH
+mX
+IP
+VW
+oQ
+br
+NV
+FK
+aa
+qj
+fy
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(85,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+yS
+yq
+fn
+fn
+fn
+fn
+yS
+re
+re
+re
+FK
+UY
+zG
+IP
+VW
+oQ
+GG
+rr
+FK
+lb
+TM
+tD
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(86,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+yS
+fe
+uT
+uT
+uT
+fe
+yS
+re
+re
+re
+FK
+cs
+rO
+lk
+oA
+eX
+zK
+IF
+FK
+lb
+uY
+tD
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(87,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+MF
+MF
+MF
+MF
+MF
+MF
+MF
+MF
+MF
+MF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+fe
+Mx
+Ni
+lC
+fe
+fe
+FK
+FK
+FK
+FK
+GQ
+yx
+xR
+hC
+xR
+GS
+GQ
+FK
+lb
+uY
+tD
+FK
+HA
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(88,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+Ns
+yi
+Er
+EM
+yi
+Se
+Cy
+yi
+Ns
+MF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+fe
+fe
+fe
+HL
+Iu
+Uu
+Iu
+uM
+iz
+VL
+hV
+LS
+hV
+hV
+hV
+VL
+hV
+hV
+hV
+hV
+hV
+zg
+uY
+nh
+hV
+hV
+hV
+hV
+VK
+im
+hV
+hV
+VL
+CF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(89,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+rA
+gM
+gM
+gM
+gM
+gM
+gM
+gM
+rA
+MF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+FA
+Ef
+zc
+Iu
+Uu
+Hi
+Uu
+Iu
+EA
+uY
+TM
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+qj
+od
+qj
+uY
+HY
+qj
+qj
+qj
+uY
+uY
+uY
+uY
+uY
+TM
+qj
+bI
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Uq
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(90,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+MF
+MF
+MF
+MF
+MF
+WB
+WB
+WB
+WB
+WB
+WB
+gM
+gM
+wO
+MF
+re
+re
+re
+re
+Ma
+Ma
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+xg
+lT
+IV
+da
+jn
+jn
+jn
+gG
+AC
+bV
+gW
+bV
+RC
+uY
+DV
+bV
+bV
+bV
+Gh
+uY
+lf
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+RC
+qj
+Ok
+bV
+es
+XP
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+yM
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(91,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+ml
+Pf
+Lg
+Lg
+MF
+fi
+fi
+fi
+fi
+fi
+fi
+pp
+gM
+IZ
+MF
+re
+re
+re
+re
+Zn
+Ma
+Ma
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+ab
+lM
+IV
+Fi
+iW
+go
+iW
+TN
+Ye
+FK
+FK
+FK
+GY
+uY
+tD
+am
+kX
+Rl
+lb
+uY
+sy
+FK
+FK
+PR
+tI
+iK
+ea
+FK
+lb
+uY
+tD
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+aG
+FK
+Gv
+ek
+Gv
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(92,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+gB
+HP
+HP
+HP
+MF
+fW
+rr
+rr
+rr
+rr
+Ek
+pp
+gM
+EM
+MF
+re
+re
+re
+DS
+wh
+Ma
+Ma
+Ma
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+jo
+jo
+Lp
+vZ
+Ag
+VT
+Ag
+HE
+fe
+FK
+cW
+Lv
+lb
+qj
+tD
+cn
+Mv
+tv
+lb
+uY
+ZI
+rU
+FK
+UU
+fa
+Gi
+Yz
+Sr
+lb
+uY
+pb
+FK
+EE
+Yg
+vj
+SA
+FK
+Ma
+Ma
+DA
+Ma
+Ma
+as
+PK
+EK
+yo
+Kh
+Gv
+sN
+Gv
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(93,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+AG
+HP
+HP
+HP
+mZ
+rr
+Oo
+zC
+dH
+rr
+dV
+gM
+gM
+rA
+MF
+MF
+re
+re
+DS
+Re
+wh
+Ma
+Ma
+Zn
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+eg
+eg
+fe
+Jn
+nS
+xI
+xI
+eD
+fe
+FK
+hX
+Lv
+lb
+uY
+tD
+Kv
+jy
+lh
+lb
+uY
+ZI
+hT
+FK
+xj
+PF
+tN
+Sh
+WT
+lb
+uY
+xf
+FK
+xr
+XK
+Yg
+XK
+FD
+ZH
+Qk
+Ma
+Ma
+Ma
+tK
+FK
+FK
+Kh
+Kh
+ix
+ix
+ix
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(94,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+wk
+jL
+HP
+bC
+MF
+dL
+rr
+rr
+hp
+rr
+kr
+pp
+gM
+gM
+aW
+MF
+MF
+MF
+MF
+Re
+PZ
+Ma
+Ma
+dZ
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+hM
+iF
+ro
+Fi
+DU
+iW
+iW
+Ny
+Ye
+FK
+FK
+FK
+Hw
+uY
+tD
+Wt
+EQ
+US
+lb
+uY
+xJ
+FK
+FK
+nH
+th
+lB
+UB
+FK
+lb
+qj
+xf
+FK
+FK
+bF
+FK
+We
+tK
+Ma
+VE
+zr
+Ma
+Ma
+Ri
+nT
+Dx
+XK
+XK
+XK
+uR
+SU
+Xh
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(95,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+MF
+MF
+MF
+MF
+Sa
+MF
+MF
+MF
+tx
+tx
+tx
+tx
+tx
+pp
+gM
+jf
+gM
+bj
+TY
+cH
+cH
+vs
+cR
+Ma
+Ma
+Zn
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+yl
+NT
+MB
+tt
+sm
+sm
+sm
+Bu
+iz
+hV
+hV
+hV
+zg
+uY
+nv
+hV
+JU
+hV
+wE
+uY
+nh
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+zg
+uY
+xf
+FK
+Na
+ow
+FK
+FK
+FK
+Ma
+do
+Ma
+Ma
+Ma
+tK
+FK
+FK
+Kh
+Kh
+FK
+FK
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(96,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+cF
+cF
+cF
+cF
+cF
+KI
+Ci
+MF
+ex
+ex
+ex
+ex
+ex
+gM
+gM
+gM
+FM
+MF
+nr
+TY
+cH
+vs
+cR
+Ma
+Ma
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+nz
+tj
+UR
+Iu
+Uu
+Le
+Uu
+Iu
+EA
+uY
+TM
+uY
+qj
+Uo
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+oI
+uY
+uY
+uY
+qj
+qj
+qj
+Uo
+xf
+FK
+XK
+XK
+pX
+bF
+kh
+sD
+at
+Ma
+Ma
+Ma
+kA
+PK
+EK
+EK
+zh
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(97,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+YY
+LB
+Am
+iN
+uc
+Jb
+Ps
+eA
+gM
+gM
+gM
+gM
+gM
+gM
+gM
+gM
+Mn
+MF
+CV
+TY
+gA
+MF
+Zn
+Ma
+Ma
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+fe
+fe
+fe
+Lk
+Uu
+Uu
+Uu
+Iu
+AC
+bV
+es
+bV
+OD
+bV
+bV
+RC
+qj
+lf
+bV
+bV
+ox
+bV
+es
+es
+bV
+bV
+yN
+bV
+bV
+bV
+Wo
+FK
+QI
+XK
+XK
+Xh
+dZ
+dZ
+yG
+Ma
+Ma
+Ma
+VM
+PK
+EK
+zh
+gC
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(98,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+qp
+Ls
+Ec
+uc
+CT
+Jb
+xT
+MF
+Jd
+Kd
+OS
+Kd
+OS
+OS
+Kd
+gM
+gM
+MF
+MF
+up
+MF
+MF
+Zn
+Ma
+Ma
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+fe
+VH
+sC
+mA
+OZ
+xD
+fe
+FK
+FK
+EX
+EX
+EX
+yn
+lb
+uY
+tD
+yn
+eH
+kO
+kO
+FK
+AR
+BK
+DL
+ai
+rX
+ai
+ai
+TJ
+FK
+HU
+AP
+HU
+FK
+Kh
+Kh
+FK
+Kh
+Kh
+FK
+FK
+FK
+FK
+yM
+yM
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(99,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+ct
+Bo
+wI
+Rs
+mK
+QX
+MF
+MF
+MF
+Pq
+ya
+Yb
+Xc
+GO
+fz
+la
+la
+MF
+Fh
+la
+ht
+MF
+qS
+Ma
+Ma
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+FK
+re
+fe
+qY
+qY
+qY
+qY
+qY
+fe
+ap
+FK
+Hn
+eF
+As
+ud
+lb
+uY
+fy
+ud
+pi
+MC
+bQ
+FK
+Eo
+Iz
+fo
+yu
+yu
+yu
+Dk
+BQ
+ll
+BX
+BX
+BX
+hl
+EK
+EK
+EK
+qM
+EK
+hl
+EK
+kg
+EK
+EK
+EK
+yM
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(100,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+qp
+az
+Jc
+Pb
+FG
+Jb
+MF
+eP
+eP
+eP
+nb
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+mV
+mV
+mV
+mV
+mV
+qS
+qS
+Ko
+re
+re
+re
+re
+re
+re
+FK
+Ov
+Ov
+Ov
+tB
+FK
+re
+FK
+sA
+XK
+bG
+XK
+XK
+FK
+ap
+FK
+RD
+oZ
+hY
+FK
+lb
+TM
+qL
+FK
+oo
+bJ
+CK
+FK
+QD
+Xs
+fo
+MV
+dS
+MV
+MV
+UV
+ll
+BX
+BX
+BX
+hl
+EK
+qM
+AI
+EK
+EK
+hl
+EK
+EK
+EK
+EK
+EK
+yM
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(101,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+TF
+vO
+Wg
+TR
+Pb
+Jb
+vU
+eP
+gu
+nb
+ff
+Ar
+Ar
+hb
+Dl
+eP
+SQ
+mV
+mV
+mV
+mV
+SQ
+MF
+MF
+MF
+MF
+MF
+re
+re
+re
+re
+FK
+Ov
+rB
+Ov
+tB
+FK
+re
+FK
+FK
+iT
+FK
+UD
+uu
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+Jx
+gj
+uf
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+DY
+Ij
+DY
+Ij
+DY
+DY
+FK
+TB
+ZZ
+XK
+tK
+Kh
+Kh
+FK
+Kh
+Kh
+FK
+FK
+lU
+lU
+lU
+tK
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(102,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+Qv
+Qv
+Qv
+Qv
+Qv
+pc
+MF
+oC
+nb
+BF
+Ar
+GU
+Ar
+wZ
+gu
+eP
+mV
+mV
+mC
+jG
+mV
+mV
+ZW
+gM
+wO
+Bj
+MF
+re
+re
+re
+re
+FK
+Ov
+Ov
+Ov
+tB
+FK
+re
+FK
+iB
+Ol
+FK
+FK
+FK
+FK
+Cc
+eO
+cf
+mg
+Cc
+FK
+lb
+uY
+tD
+FK
+Cc
+Cc
+Cc
+Cc
+Cc
+FK
+FK
+XK
+XK
+XK
+FK
+re
+FK
+TO
+wG
+XK
+VA
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Cb
+ED
+bk
+Ue
+tU
+PB
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(103,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+MF
+MF
+MF
+MF
+MF
+MF
+MF
+MF
+eP
+xm
+Ar
+Ar
+Ar
+hb
+Dl
+eP
+oC
+mV
+mV
+Fc
+jG
+mV
+tC
+MF
+gM
+gM
+gM
+MF
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+FK
+re
+FK
+IH
+XK
+Hk
+MI
+FK
+pF
+Cc
+DI
+Zw
+Hj
+VL
+Un
+qA
+uY
+nh
+iE
+xb
+Co
+Co
+qR
+Cc
+Cc
+FK
+YC
+dN
+tf
+FK
+re
+FK
+sh
+ts
+Pd
+Fj
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+bk
+bW
+IB
+Ah
+tU
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(104,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+os
+eP
+eP
+mV
+mV
+jG
+qt
+mV
+mV
+jB
+gM
+GT
+sp
+MF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+TQ
+QU
+sd
+Xt
+FK
+fK
+VS
+zg
+qj
+uY
+qj
+qj
+uY
+uY
+uY
+uY
+uY
+uY
+qj
+nh
+Pi
+Cc
+FK
+FK
+FK
+FK
+FK
+re
+FK
+jW
+EO
+ME
+zM
+Ma
+jU
+Ma
+Ma
+Ma
+Ma
+Ma
+bk
+lV
+PX
+nc
+tU
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(105,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+xu
+xu
+xu
+dx
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+eP
+mV
+mV
+SQ
+mV
+mV
+mV
+jB
+yr
+nq
+kd
+MF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+pM
+XR
+xB
+lS
+FK
+vc
+lb
+uY
+od
+qj
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+Uo
+uY
+aR
+HJ
+FK
+re
+re
+re
+re
+re
+FK
+zL
+qj
+qj
+Ms
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+RU
+ED
+WJ
+Ai
+tU
+PB
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(106,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+xu
+xu
+mV
+eP
+xm
+GU
+Ar
+Ar
+wZ
+eP
+eP
+mV
+mV
+mV
+mV
+mV
+mV
+mV
+jB
+gM
+il
+gM
+MF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+FK
+jN
+lb
+uY
+uY
+Gx
+uE
+ev
+VZ
+VZ
+LY
+ev
+Lq
+WQ
+uY
+uY
+aR
+Cc
+FK
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+tK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+PB
+PB
+tK
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(107,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+xu
+xu
+mV
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+gu
+eP
+zE
+Wr
+zE
+zE
+zE
+zE
+zE
+MF
+MF
+MF
+MF
+MF
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+fK
+lb
+uY
+uY
+uE
+QF
+uN
+WM
+uN
+uN
+uN
+Fg
+Lq
+uY
+uY
+nW
+Cc
+FK
+re
+re
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(108,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+xu
+mV
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+NB
+zE
+FK
+Fv
+re
+re
+re
+re
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+AS
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+zY
+uY
+uY
+IC
+Qw
+wL
+Qw
+Pc
+WM
+uN
+uN
+Qj
+qj
+uY
+AZ
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(109,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+mV
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+CC
+QP
+nh
+PW
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+JK
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+sE
+VK
+zg
+uY
+uY
+wC
+XB
+QG
+cv
+KN
+zd
+zd
+WM
+At
+qj
+uY
+nh
+CD
+st
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+gQ
+XD
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+hV
+iZ
+Vq
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(110,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+mV
+eP
+ZF
+Cu
+Ar
+Ar
+wZ
+lG
+CC
+QP
+TM
+PW
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+JK
+uY
+TM
+uY
+uY
+uY
+TM
+uY
+Yk
+qj
+uY
+uY
+Rq
+FK
+nE
+JF
+QG
+KN
+lz
+zd
+uN
+Wf
+qj
+qj
+uY
+uY
+zX
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+gQ
+Cd
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+cS
+rP
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(111,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+xu
+mV
+dx
+eP
+xm
+Ar
+Ar
+wZ
+eP
+CC
+QP
+lf
+PW
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+JK
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+ec
+es
+yA
+uY
+uY
+wC
+cv
+QG
+XB
+KN
+zd
+lz
+WM
+At
+qj
+uY
+lf
+Um
+UK
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+gQ
+Zr
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+bV
+nF
+yK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(112,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+mV
+eP
+gu
+xm
+Ar
+Ar
+wZ
+dx
+dR
+zE
+FK
+Fv
+re
+re
+re
+re
+zE
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+AS
+FK
+FK
+FK
+FK
+FK
+FK
+of
+FK
+FK
+zY
+qj
+uY
+uE
+QK
+VZ
+VZ
+Wj
+uN
+uN
+uN
+Qj
+qj
+uY
+sX
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(113,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+JY
+iV
+eP
+oC
+xm
+Ar
+Ar
+wZ
+eP
+eP
+zE
+Wr
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+iI
+aa
+qj
+uY
+IC
+YF
+WM
+uN
+WM
+WM
+uN
+mQ
+xv
+qj
+uY
+fy
+Cc
+Sv
+Nd
+Cj
+cA
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(114,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+hj
+tc
+eP
+eP
+xm
+Ar
+Ar
+wZ
+eP
+oC
+SQ
+mV
+SQ
+mV
+SQ
+mV
+mV
+mV
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+Xh
+FK
+FK
+FK
+wN
+lb
+uY
+uY
+nQ
+IC
+Tz
+Qw
+Qw
+Qw
+Tz
+xv
+Gx
+uY
+uY
+fy
+el
+Yr
+kw
+UI
+eQ
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+FK
+QN
+fC
+tM
+FK
+FK
+tG
+tG
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(115,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+xu
+mV
+eP
+nb
+BF
+Ar
+Ar
+wZ
+eP
+eP
+mV
+SQ
+mV
+SQ
+mV
+jm
+bs
+bs
+xu
+zE
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+qw
+XK
+PP
+PP
+xP
+FK
+hi
+lb
+uY
+Uo
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+od
+uY
+fy
+el
+rW
+ET
+WE
+YZ
+FK
+en
+Vk
+CB
+FK
+tS
+dZ
+Xo
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+FK
+Hf
+Ab
+XW
+FK
+xt
+wy
+wy
+yF
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(116,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+zE
+xu
+mV
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+gu
+mV
+SQ
+ZP
+Jj
+zR
+xE
+eM
+bs
+xu
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+YD
+Vz
+PP
+Qo
+FK
+iI
+WX
+RC
+uY
+qj
+qj
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+Ok
+bK
+el
+AY
+kw
+cB
+Qf
+FK
+ue
+rq
+FJ
+FK
+yf
+vC
+ND
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+ud
+qQ
+Dr
+qQ
+kq
+qQ
+Dr
+sz
+Qb
+tG
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(117,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+eP
+xm
+Ar
+GU
+Ar
+wZ
+oC
+eP
+mV
+mV
+xE
+cC
+cC
+cC
+xE
+bs
+mV
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+XK
+XK
+PP
+kY
+FK
+pF
+Cc
+Tu
+hA
+Ak
+es
+Bq
+RC
+uY
+lf
+Bq
+bV
+bV
+bV
+bK
+Cc
+Cc
+FK
+vE
+NY
+pg
+FK
+hw
+Be
+XM
+FK
+dZ
+dZ
+PC
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+ud
+nx
+qQ
+Pl
+FK
+Ea
+xI
+xI
+RL
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(118,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+oC
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+mV
+mV
+xE
+cC
+cC
+cC
+xE
+mV
+mV
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+ls
+XK
+qx
+FK
+FK
+FK
+Cc
+Oi
+cN
+vh
+Cc
+FK
+lb
+uY
+qX
+FK
+Cc
+Cc
+bn
+Cc
+Cc
+FK
+FK
+FK
+NK
+FK
+FK
+FK
+FK
+Yd
+FK
+NO
+dZ
+mn
+yw
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+FK
+FK
+FK
+FK
+FK
+vx
+nu
+FK
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(119,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+UG
+mV
+mV
+gm
+xE
+ke
+xE
+Cq
+mV
+xu
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+vg
+bF
+FK
+gR
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+EU
+vy
+El
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+Ks
+aw
+XK
+aK
+Du
+bF
+dl
+CI
+tq
+jI
+dZ
+dZ
+mn
+rL
+sD
+sD
+sD
+gN
+gN
+gN
+sD
+Ma
+Ma
+dZ
+Ma
+sD
+Ma
+dZ
+Ma
+Ma
+Ma
+Ma
+Ma
+sD
+sD
+Ma
+sD
+Ma
+sD
+dZ
+FK
+So
+PU
+So
+FK
+qQ
+xI
+gT
+Qb
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(120,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+gu
+xm
+Ar
+Ar
+Ar
+wZ
+gu
+oC
+mV
+mV
+mV
+mV
+mV
+mV
+mV
+mV
+xu
+zE
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+Kt
+qj
+pD
+FK
+XK
+RJ
+Kx
+FK
+Fa
+OP
+pf
+ud
+lb
+uY
+tD
+ud
+Jg
+Jg
+mN
+FK
+tl
+Jk
+CL
+rm
+Zk
+EG
+XK
+bF
+qU
+CI
+tq
+jI
+dZ
+dZ
+dZ
+ve
+dZ
+Ko
+dZ
+dZ
+dZ
+dZ
+Ko
+dZ
+Ma
+dZ
+OT
+dZ
+Ma
+dZ
+Ko
+dZ
+dZ
+dZ
+Ko
+dZ
+dZ
+dZ
+Ko
+Ma
+Ma
+dZ
+cm
+jV
+jV
+qJ
+Wu
+qQ
+xI
+xd
+ns
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(121,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+mV
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+mV
+mV
+mV
+mV
+Tt
+Tt
+Tt
+Tt
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+qj
+wH
+mS
+FK
+xc
+FK
+FK
+FK
+Fw
+Qs
+xF
+ud
+lb
+TM
+tD
+ud
+wA
+ty
+sG
+FK
+lg
+FE
+rp
+rm
+PP
+zU
+XK
+bF
+PP
+CI
+tq
+de
+dZ
+dZ
+Fr
+Im
+zr
+zr
+zr
+zr
+zr
+zr
+zr
+zr
+zr
+dZ
+zr
+zr
+zr
+dZ
+zr
+zr
+Ma
+Ma
+Ma
+Ma
+zr
+Ma
+zr
+zr
+zr
+dZ
+FK
+RR
+pI
+jF
+FK
+qp
+xI
+cM
+BO
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(122,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+xu
+xu
+xu
+xu
+yE
+mV
+pY
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+ZB
+FK
+FK
+FK
+Ux
+Op
+wJ
+FK
+em
+Qt
+iD
+Rz
+lb
+uY
+tD
+Rz
+gf
+Ly
+Ly
+FK
+GQ
+GQ
+FK
+FK
+vb
+FK
+FK
+FK
+PP
+CI
+tq
+jI
+dZ
+dZ
+PC
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+FK
+FK
+FK
+FK
+FK
+LN
+Nc
+FK
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(123,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+xu
+xn
+ul
+qo
+qo
+qo
+De
+xn
+xn
+xu
+zE
+zE
+zE
+xu
+xu
+xu
+xu
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+zz
+pL
+PN
+ZY
+VS
+hV
+hV
+DE
+hV
+pv
+hV
+hV
+zg
+uY
+nh
+hV
+hV
+bi
+hV
+CW
+hV
+hV
+LC
+FK
+cy
+PP
+PP
+vb
+PP
+CI
+Aq
+nl
+dZ
+Vh
+ce
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Zn
+Zn
+fT
+Qc
+FK
+rY
+xI
+xI
+pw
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(124,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+gu
+xm
+Ar
+Ar
+Ar
+wZ
+gu
+oC
+xu
+zE
+re
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+Ng
+OI
+JV
+zI
+lb
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+od
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+uY
+tD
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+FK
+PB
+FK
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Zn
+Ma
+Ma
+fT
+bE
+qQ
+XF
+xI
+Qb
+tG
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(125,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+UP
+vM
+TI
+vw
+lb
+uY
+lf
+Vc
+bV
+bV
+bV
+bV
+RC
+uY
+lf
+bV
+bV
+bV
+bV
+Vc
+RC
+uY
+tD
+HA
+re
+re
+re
+FK
+re
+re
+re
+re
+re
+FK
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Ma
+Zn
+rJ
+rJ
+Xa
+FK
+bM
+Kb
+Kb
+yF
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(126,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+hk
+FK
+FK
+FK
+FK
+FK
+lb
+uY
+tD
+FK
+GQ
+GQ
+GQ
+FK
+Fq
+uY
+WU
+FK
+GQ
+GQ
+GQ
+FK
+lb
+uY
+tD
+FK
+FK
+FK
+FK
+FK
+lI
+re
+re
+re
+re
+FK
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+LQ
+FK
+vp
+WD
+vp
+FK
+FK
+tG
+tG
+FK
+FK
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(127,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+AM
+Sr
+Sr
+Sr
+Sr
+Sr
+lb
+Uo
+tD
+sq
+Lw
+Lw
+Lw
+qP
+lb
+uY
+tD
+XC
+Lw
+tk
+Lw
+FH
+lb
+Uo
+tD
+Sr
+Sr
+Sr
+Sr
+Sr
+VD
+re
+re
+re
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+ot
+rc
+TV
+FK
+re
+re
+re
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(128,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+gu
+xm
+Ar
+Ar
+Ar
+wZ
+gu
+oC
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+hk
+FK
+FK
+FK
+FK
+FK
+lb
+uY
+tD
+GV
+Lw
+Tr
+Lw
+ud
+lb
+uY
+tD
+ud
+Lw
+Jz
+Lw
+QB
+lb
+uY
+tD
+FK
+FK
+FK
+FK
+FK
+lI
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(129,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+HA
+lb
+uY
+tD
+Zf
+Lw
+Lw
+Lw
+Mg
+lb
+uY
+tD
+eR
+Lw
+GE
+Lw
+Nm
+lb
+uY
+tD
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Uq
+re
+re
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(130,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+gJ
+Vc
+Qa
+FK
+Zp
+nD
+lH
+FK
+lb
+uY
+qL
+FK
+Lt
+lZ
+cX
+FK
+gJ
+Vc
+Ay
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(131,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+EY
+hV
+hV
+hV
+zg
+uY
+nh
+hV
+hV
+hV
+Cf
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(132,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+gu
+xm
+Ar
+Ar
+Ar
+wZ
+gu
+oC
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+Pp
+uY
+uY
+uY
+uY
+Uo
+uY
+uY
+uY
+av
+dF
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(133,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+eP
+xm
+Ar
+Ar
+Ar
+wZ
+eP
+eP
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+jP
+bV
+Js
+bV
+RC
+uY
+lf
+bV
+nw
+bV
+oe
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(134,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+xu
+xu
+xu
+xu
+xu
+xu
+xu
+xu
+xu
+xu
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+pt
+pt
+Je
+lb
+uY
+tD
+jt
+WH
+AE
+FK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(135,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+zE
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+Ic
+ne
+nC
+lb
+uY
+tD
+nJ
+cZ
+Jv
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(136,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+dn
+UT
+nC
+lb
+uY
+tD
+SN
+MZ
+Ho
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(137,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+lb
+uY
+rQ
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(138,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+re
+re
+dK
+Qi
+lb
+uY
+tD
+Qi
+mj
+re
+re
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(139,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+re
+re
+dK
+Qi
+lb
+TM
+tD
+Qi
+mj
+re
+re
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(140,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+re
+re
+dK
+Qi
+lb
+uY
+tD
+Qi
+mj
+re
+re
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(141,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+re
+re
+dK
+Qi
+lb
+uY
+tD
+Qi
+mj
+re
+re
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(142,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+re
+re
+dK
+Qi
+lb
+TM
+tD
+Qi
+mj
+re
+re
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(143,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+re
+re
+dK
+Qi
+lb
+uY
+tD
+Qi
+mj
+re
+re
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(144,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+FK
+FK
+FK
+FK
+lb
+uY
+qX
+FK
+FK
+FK
+FK
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(145,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+FK
+HD
+wi
+ST
+FK
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(146,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+Uq
+re
+re
+re
+Uq
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(147,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(148,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(149,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(150,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(151,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(152,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(153,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(154,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(155,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(156,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(157,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(158,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(159,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(160,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(161,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(162,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(163,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(164,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(165,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(166,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(167,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(168,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(169,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(170,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(171,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(172,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(173,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(174,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(175,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(176,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(177,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(178,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(179,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(180,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(181,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(182,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(183,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(184,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(185,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(186,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(187,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(188,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(189,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(190,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(191,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(192,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(193,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(194,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(195,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(196,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(197,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(198,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(199,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(200,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(201,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(202,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(203,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(204,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(205,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(206,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(207,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(208,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(209,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(210,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(211,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(212,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(213,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(214,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(215,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(216,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(217,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(218,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(219,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(220,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(221,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(222,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(223,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(224,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(225,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(226,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(227,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(228,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(229,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(230,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(231,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(232,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(233,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(234,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(235,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(236,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(237,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(238,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(239,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(240,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(241,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(242,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(243,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(244,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(245,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(246,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(247,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(248,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(249,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(250,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(251,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
+(252,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+bg
+DD
+fu
+re
+"}
+(253,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+DD
+Ov
+zA
+re
+"}
+(254,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+iU
+DD
+Sc
+re
+"}
+(255,1,1) = {"
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+re
+"}
diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm
index 09563ab18686e..72516d9c396fa 100644
--- a/_maps/map_files/Birdshot/birdshot.dmm
+++ b/_maps/map_files/Birdshot/birdshot.dmm
@@ -35810,10 +35810,7 @@
location = "QM #1"
},
/obj/effect/turf_decal/delivery,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #1";
- suffix = "#1"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/storage)
"mKD" = (
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 1ed7706202cbd..bd942b1bd8787 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -30045,10 +30045,7 @@
location = "QM #1"
},
/obj/effect/turf_decal/delivery,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #3";
- suffix = "#3"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/storage)
"htQ" = (
@@ -81530,10 +81527,7 @@
id = "warehouse_shutters";
name = "warehouse shutters control"
},
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #1";
- suffix = "#1"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/storage)
"upB" = (
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index 5f09aa250d132..efeb6bc25c74e 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -58769,10 +58769,7 @@
},
/obj/effect/turf_decal/bot,
/obj/machinery/light/small/directional/east,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #2";
- suffix = "#2"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/storage)
"rUz" = (
@@ -75177,10 +75174,7 @@
location = "QM #1"
},
/obj/effect/turf_decal/bot,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #1";
- suffix = "#1"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/storage)
"xaH" = (
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index 9f005e43e00b2..bd915e60abb13 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -36569,10 +36569,7 @@
location = "QM #2"
},
/obj/effect/turf_decal/tile/brown/fourcorners,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #2";
- suffix = "#2"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
"lQH" = (
@@ -41744,10 +41741,7 @@
location = "QM #6"
},
/obj/effect/turf_decal/tile/brown/fourcorners,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #6";
- suffix = "#6"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
"nIQ" = (
@@ -47921,10 +47915,7 @@
location = "QM #3"
},
/obj/effect/turf_decal/tile/brown/fourcorners,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #3";
- suffix = "#3"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
"pXC" = (
@@ -52540,10 +52531,7 @@
location = "QM #1"
},
/obj/effect/turf_decal/tile/brown/fourcorners,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #1";
- suffix = "#1"
- },
+/mob/living/simple_animal/bot/mulebot,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
"rCL" = (
diff --git a/_maps/templates/lazy_templates/wizard_den.dmm b/_maps/templates/lazy_templates/wizard_den.dmm
index 8c2ad8d215390..58e09b40a0ac7 100644
--- a/_maps/templates/lazy_templates/wizard_den.dmm
+++ b/_maps/templates/lazy_templates/wizard_den.dmm
@@ -229,7 +229,8 @@
"nV" = (
/obj/structure/flora/bush/fullgrass/style_random,
/mob/living/simple_animal/hostile/ooze/gelatinous{
- name = "Jimmy"
+ name = "Jimmy";
+ faction = list("slime", "Wizard")
},
/turf/open/floor/grass,
/area/centcom/wizard_station)
@@ -536,7 +537,8 @@
/area/centcom/wizard_station)
"AW" = (
/mob/living/simple_animal/pet/gondola{
- name = "Jommy"
+ name = "Jommy";
+ faction = list("gondola", "Wizard")
},
/obj/structure/flora/bush/fullgrass/style_random,
/turf/open/floor/grass,
diff --git a/_maps/virtual_domains/beach_bar.dmm b/_maps/virtual_domains/beach_bar.dmm
index edea28b064f50..7da71e943d172 100644
--- a/_maps/virtual_domains/beach_bar.dmm
+++ b/_maps/virtual_domains/beach_bar.dmm
@@ -84,34 +84,7 @@
/turf/open/water/beach,
/area/virtual_domain/fullbright)
"db" = (
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/vending_refill/cigarette,
-/obj/item/vending_refill/boozeomat,
-/obj/structure/closet/secure_closet{
- icon_state = "cabinet";
- name = "booze storage";
- req_access = list("bar")
- },
-/obj/item/storage/backpack/duffelbag,
-/obj/item/etherealballdeployer,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/bottle/beer/light,
-/obj/item/reagent_containers/cup/glass/colocup,
-/obj/item/reagent_containers/cup/glass/colocup,
-/obj/item/reagent_containers/cup/glass/colocup,
-/obj/item/reagent_containers/cup/glass/colocup,
-/obj/item/reagent_containers/cup/glass/colocup,
+/obj/structure/closet/secure_closet/bar/lavaland_bartender_booze,
/turf/open/floor/wood,
/area/virtual_domain/fullbright)
"di" = (
@@ -395,19 +368,8 @@
/turf/open/misc/asteroid/basalt/lava_land_surface,
/area/virtual_domain/fullbright)
"ug" = (
-/obj/structure/closet/secure_closet{
- icon_state = "cabinet";
- name = "bartender's closet";
- req_access = list("bar")
- },
-/obj/item/clothing/shoes/sandal{
- desc = "A very fashionable pair of flip-flops.";
- name = "flip-flops"
- },
-/obj/item/clothing/neck/beads,
-/obj/item/clothing/glasses/sunglasses/reagent,
-/obj/item/clothing/suit/costume/hawaiian,
/obj/machinery/light/small/directional/east,
+/obj/structure/closet/secure_closet/bar/lavaland_bartender_clothes,
/turf/open/floor/wood,
/area/virtual_domain/fullbright)
"uk" = (
diff --git a/code/__DEFINES/ai/ai_blackboard.dm b/code/__DEFINES/ai/ai_blackboard.dm
index daa5d4285f9a0..6dc90ea4d645a 100644
--- a/code/__DEFINES/ai/ai_blackboard.dm
+++ b/code/__DEFINES/ai/ai_blackboard.dm
@@ -141,5 +141,8 @@
/// The next time at which this mob can call for reinforcements
#define BB_BASIC_MOB_REINFORCEMENTS_COOLDOWN "BB_basic_mob_reinforcements_cooldown"
+/// the direction we started when executing stare at things
+#define BB_STARTING_DIRECTION "BB_startdir"
+
///Text we display when we befriend someone
#define BB_FRIENDLY_MESSAGE "friendly_message"
diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
index 2b113f853daec..533ad2e1ae886 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
@@ -12,8 +12,6 @@
#define COMSIG_ORGAN_BEING_REPLACED "organ_being_replaced"
/// Called when an organ gets surgically removed (mob/living/user, mob/living/carbon/old_owner, target_zone, obj/item/tool)
#define COMSIG_ORGAN_SURGICALLY_REMOVED "organ_surgically_removed"
-/// Called when using the *wag emote
-#define COMSIG_ORGAN_WAG_TAIL "wag_tail"
///from base of mob/update_transform()
#define COMSIG_LIVING_POST_UPDATE_TRANSFORM "living_post_update_transform"
diff --git a/code/__DEFINES/dcs/signals/signals_reagent.dm b/code/__DEFINES/dcs/signals/signals_reagent.dm
index a73d59a234c21..38d2ae92d9de3 100644
--- a/code/__DEFINES/dcs/signals/signals_reagent.dm
+++ b/code/__DEFINES/dcs/signals/signals_reagent.dm
@@ -55,3 +55,7 @@
#define COMSIG_REAGENTS_EXPOSE_TURF "reagents_expose_turf"
///from base of [/datum/component/personal_crafting/proc/del_reqs]: ()
#define COMSIG_REAGENTS_CRAFTING_PING "reagents_crafting_ping"
+/// sent when reagents are transfered from a cup, to something refillable (atom/transfer_to)
+#define COMSIG_REAGENTS_CUP_TRANSFER_TO "reagents_cup_transfer_to"
+/// sent when reagents are transfered from some reagent container, to a cup (atom/transfer_from)
+#define COMSIG_REAGENTS_CUP_TRANSFER_FROM "reagents_cup_transfer_from"
diff --git a/code/__DEFINES/research/research_categories.dm b/code/__DEFINES/research/research_categories.dm
index 65de3edca532e..3f6428eb73178 100644
--- a/code/__DEFINES/research/research_categories.dm
+++ b/code/__DEFINES/research/research_categories.dm
@@ -187,6 +187,7 @@
#define RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_TOOLS "/Cybernetic Implanting Tools"
#define RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_UTILITY "/Cybernetic Utility Implants"
#define RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_MISC "/Cybernetic Miscellaneous Implants"
+#define RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_SECURITY "/Cybernetic Security Implants"
#define RND_SUBCATEGORY_CYBERNETICS_ADVANCED_LIMBS "/Cybernetic Advanced Limbs"
// Limb Categories
diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm
index 4e0a0f5b8f984..9e901b0665faa 100644
--- a/code/__DEFINES/traits/declarations.dm
+++ b/code/__DEFINES/traits/declarations.dm
@@ -601,6 +601,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_LAVA_STOPPED "lava_stopped"
///Chasms will be safe to cross while they've this trait.
#define TRAIT_CHASM_STOPPED "chasm_stopped"
+///Chasms will be safe to cross if there is something with this trait on it
+#define TRAIT_CHASM_STOPPER "chasm_stopper"
///The effects of the immerse element will be halted while this trait is present.
#define TRAIT_IMMERSE_STOPPED "immerse_stopped"
/// The effects of hyperspace drift are blocked when the tile has this trait
diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm
index f9cdbe4326d1e..f009b6ccf0f6c 100644
--- a/code/__DEFINES/traits/sources.dm
+++ b/code/__DEFINES/traits/sources.dm
@@ -279,3 +279,6 @@
#define ORGAN_INSIDE_BODY_TRAIT "organ_inside_body"
/// Trait when something was labelled by a pen.
#define PEN_LABEL_TRAIT "pen_label"
+
+/// Trait when a drink was renamed by a shaker
+#define SHAKER_LABEL_TRAIT "shaker_trait"
diff --git a/code/__HELPERS/colors.dm b/code/__HELPERS/colors.dm
index 4742118bebeed..9f17d4c0028cb 100644
--- a/code/__HELPERS/colors.dm
+++ b/code/__HELPERS/colors.dm
@@ -47,24 +47,24 @@
var/list/color = rgb2num(HTMLstring)
return rgb(255 - color[1], 255 - color[2], 255 - color[3])
-///Flash a color on the client
+///Flash a color on the passed mob
/proc/flash_color(mob_or_client, flash_color="#960000", flash_time=20)
- var/client/flashed_client
+ var/mob/flashed_mob
if(ismob(mob_or_client))
- var/mob/client_mob = mob_or_client
- if(client_mob.client)
- flashed_client = client_mob.client
- else
- return
+ flashed_mob = mob_or_client
else if(istype(mob_or_client, /client))
- flashed_client = mob_or_client
+ var/client/flashed_client = mob_or_client
+ flashed_mob = flashed_client.mob
- if(!istype(flashed_client))
+ if(!istype(flashed_mob))
return
- var/animate_color = flashed_client.color
- flashed_client.color = flash_color
- animate(flashed_client, color = animate_color, time = flash_time)
+ var/datum/client_colour/temp/temp_color = new(flashed_mob)
+ temp_color.colour = flash_color
+ temp_color.fade_in = flash_time * 0.25
+ temp_color.fade_out = flash_time * 0.25
+ QDEL_IN(temp_color, (flash_time * 0.5) + 1)
+ flashed_mob.add_client_colour(temp_color)
/// Blends together two colors (passed as 3 or 4 length lists) using the screen blend mode
/// Much like multiply, screen effects the brightness of the resulting color
@@ -103,4 +103,3 @@
#define RANDOM_COLOUR (rgb(rand(0,255),rand(0,255),rand(0,255)))
-
diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm
index d58940485ac88..dd074b8d0649b 100644
--- a/code/_globalvars/traits/_traits.dm
+++ b/code/_globalvars/traits/_traits.dm
@@ -65,6 +65,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_VOIDSTORM_IMMUNE" = TRAIT_VOIDSTORM_IMMUNE,
"TRAIT_WAS_RENAMED" = TRAIT_WAS_RENAMED,
"TRAIT_WEATHER_IMMUNE" = TRAIT_WEATHER_IMMUNE,
+ "TRAIT_CHASM_STOPPER" = TRAIT_CHASM_STOPPER,
),
/datum/controller/subsystem/economy = list(
"TRAIT_MARKET_CRASHING" = TRAIT_MARKET_CRASHING,
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index e73cebf14c0cb..1f5f7588162ab 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -464,7 +464,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
var/mob/living/living_owner = owner
var/last_whisper
if(!HAS_TRAIT(living_owner, TRAIT_SUCCUMB_OVERRIDE))
- last_whisper = tgui_input_text(usr, "Do you have any last words?", "Goodnight, Sweet Prince")
+ last_whisper = tgui_input_text(usr, "Do you have any last words?", "Goodnight, Sweet Prince", encode = FALSE) // saycode already handles sanitization
if(isnull(last_whisper))
if(!HAS_TRAIT(living_owner, TRAIT_SUCCUMB_OVERRIDE))
return
diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm
index e928a2b8b3ef3..79f857e8cbef0 100644
--- a/code/_onclick/hud/fullscreen.dm
+++ b/code/_onclick/hud/fullscreen.dm
@@ -223,4 +223,3 @@
icon_state = "noise"
color = "#04a8d1"
alpha = 80
-
diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm
index 04bbc048e66a6..ec79374cb4fdb 100644
--- a/code/_onclick/other_mobs.dm
+++ b/code/_onclick/other_mobs.dm
@@ -229,6 +229,9 @@
/mob/living/carbon/alien/larva/resolve_right_click_attack(atom/target, list/modifiers)
return target.attack_larva_secondary(src, modifiers)
+/mob/living/carbon/alien/larva/can_unarmed_attack() //We bite stuff, and our head is always free.
+ return TRUE
+
/atom/proc/attack_larva(mob/user, list/modifiers)
return
diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm
index 75e29cf4d1ecd..a915346cebdf0 100644
--- a/code/controllers/subsystem/processing/quirks.dm
+++ b/code/controllers/subsystem/processing/quirks.dm
@@ -5,6 +5,7 @@
// Shifted to glob so they are generated at world start instead of risking players doing preference stuff before the subsystem inits
GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list(
list(/datum/quirk/item_quirk/blindness, /datum/quirk/item_quirk/nearsighted),
+ list(/datum/quirk/item_quirk/blindness, /datum/quirk/touchy),
list(/datum/quirk/jolly, /datum/quirk/depression, /datum/quirk/apathetic, /datum/quirk/hypersensitive),
list(/datum/quirk/no_taste, /datum/quirk/vegetarian, /datum/quirk/deviant_tastes, /datum/quirk/gamer),
list(/datum/quirk/pineapple_liker, /datum/quirk/pineapple_hater, /datum/quirk/gamer),
diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm
index 9829dfc3f52d6..b4406857ac1e3 100644
--- a/code/datums/components/chasm.dm
+++ b/code/datums/components/chasm.dm
@@ -109,6 +109,9 @@
return CHASM_NOT_DROPPING
if(dropped_thing.throwing || (dropped_thing.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
return CHASM_REGISTER_SIGNALS
+ for(var/atom/thing_to_check as anything in parent)
+ if(HAS_TRAIT(thing_to_check, TRAIT_CHASM_STOPPER))
+ return CHASM_NOT_DROPPING
//Flies right over the chasm
if(ismob(dropped_thing))
diff --git a/code/datums/elements/permanent_fire_overlay.dm b/code/datums/elements/permanent_fire_overlay.dm
index e4a61852aed74..514d0f121a457 100644
--- a/code/datums/elements/permanent_fire_overlay.dm
+++ b/code/datums/elements/permanent_fire_overlay.dm
@@ -8,12 +8,10 @@
RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(add_fire_overlay))
target.update_appearance(UPDATE_OVERLAYS)
- ADD_TRAIT(target, TRAIT_NO_EXTINGUISH, ELEMENT_TRAIT(type))
/datum/element/perma_fire_overlay/Detach(atom/target)
. = ..()
UnregisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS)
- REMOVE_TRAIT(target, TRAIT_NO_EXTINGUISH, ELEMENT_TRAIT(type))
target.update_appearance(UPDATE_OVERLAYS)
/datum/element/perma_fire_overlay/proc/add_fire_overlay(mob/living/source, list/overlays)
diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm
index cc3af071eef37..afcb5d688ed60 100644
--- a/code/datums/mood_events/generic_negative_events.dm
+++ b/code/datums/mood_events/generic_negative_events.dm
@@ -112,8 +112,8 @@
/datum/mood_event/table/add_effects()
if(isfelinid(owner)) //Holy snowflake batman!
- var/mob/living/carbon/human/H = owner
- SEND_SIGNAL(H, COMSIG_ORGAN_WAG_TAIL, TRUE, 3 SECONDS)
+ var/mob/living/carbon/human/feline = owner
+ feline.wag_tail(3 SECONDS)
description = "They want to play on the table!"
mood_change = 2
diff --git a/code/datums/quirks/negative_quirks/unusual.dm b/code/datums/quirks/negative_quirks/unusual.dm
new file mode 100644
index 0000000000000..79cfac06c13eb
--- /dev/null
+++ b/code/datums/quirks/negative_quirks/unusual.dm
@@ -0,0 +1,22 @@
+/datum/quirk/touchy
+ name = "Touchy"
+ desc = "You are very touchy and have to physically be able to touch something to examine it."
+ icon = FA_ICON_HAND
+ value = -2
+ gain_text = span_danger("You feel like you can't examine things from a distance.")
+ lose_text = span_notice("You feel like you can examine things from a distance.")
+ medical_record_text = "Patient is unable to tell objects apart from a distance."
+ hardcore_value = 4
+
+/datum/quirk/touchy/add(client/client_source)
+ RegisterSignal(quirk_holder, COMSIG_CLICK_SHIFT, PROC_REF(examinate_check))
+
+/datum/quirk/touchy/remove()
+ UnregisterSignal(quirk_holder, COMSIG_CLICK_SHIFT)
+
+///Checks if the mob is besides the thing being examined, if they aren't then we cancel their examinate.
+/datum/quirk/touchy/proc/examinate_check(mob/examiner, atom/examined)
+ SIGNAL_HANDLER
+
+ if(!examined.Adjacent(examiner))
+ return COMSIG_MOB_CANCEL_CLICKON
diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm
index 8cdc2840e2c48..74eb198cfcec9 100644
--- a/code/datums/status_effects/debuffs/debuffs.dm
+++ b/code/datums/status_effects/debuffs/debuffs.dm
@@ -792,6 +792,8 @@
processing_speed = STATUS_EFFECT_NORMAL_PROCESS
/// Will act as the main timer as well as changing how much damage the ants do.
var/ants_remaining = 0
+ /// Amount of damage done per ant on the victim
+ var/damage_per_ant = 0.0016
/// Common phrases people covered in ants scream
var/static/list/ant_debuff_speech = list(
"GET THEM OFF ME!!",
@@ -838,7 +840,7 @@
/datum/status_effect/ants/tick(seconds_between_ticks)
var/mob/living/carbon/human/victim = owner
var/need_mob_update
- need_mob_update = victim.adjustBruteLoss(max(0.1, round((ants_remaining * 0.0016) * seconds_between_ticks,0.1)), updating_health = FALSE) //Scales with # of ants (lowers with time). Roughly 10 brute over 50 seconds.
+ need_mob_update = victim.adjustBruteLoss(max(0.1, round((ants_remaining * damage_per_ant) * seconds_between_ticks,0.1)), updating_health = FALSE) //Scales with # of ants (lowers with time). Roughly 10 brute over 50 seconds.
if(victim.stat <= SOFT_CRIT) //Makes sure people don't scratch at themselves while they're in a critical condition
if(prob(15))
switch(rand(1,2))
@@ -868,7 +870,7 @@
if(need_mob_update)
victim.updatehealth()
if(ants_remaining <= 0 || victim.stat >= HARD_CRIT)
- victim.remove_status_effect(/datum/status_effect/ants) //If this person has no more ants on them or are dead, they are no longer affected.
+ victim.remove_status_effect(type) //If this person has no more ants on them or are dead, they are no longer affected.
/atom/movable/screen/alert/status_effect/ants
name = "Ants!"
@@ -886,6 +888,15 @@
to_chat(living, span_notice("You manage to get some of the ants off!"))
ant_covered.ants_remaining -= 10 // 5 Times more ants removed per second than just waiting in place
+/datum/status_effect/ants/fire
+ id = "fire_ants"
+ alert_type = /atom/movable/screen/alert/status_effect/ants/fire
+ damage_per_ant = 0.0064
+
+/atom/movable/screen/alert/status_effect/ants/fire
+ name = "Fire Ants!"
+ desc = span_warning("JESUS FUCKING CHRIST IT BURNS! CLICK TO GET THOSE THINGS OFF!")
+
/datum/status_effect/stagger
id = "stagger"
status_type = STATUS_EFFECT_REFRESH
diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm
index 2927b081c5ef2..3b86f56f23587 100644
--- a/code/game/area/areas/away_content.dm
+++ b/code/game/area/areas/away_content.dm
@@ -23,6 +23,18 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30"
has_gravity = STANDARD_GRAVITY
ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg','sound/ambience/ambiodd.ogg','sound/ambience/ambinice.ogg')
+/area/awaymission/museum
+ name = "Nanotrasen Museum"
+ icon_state = "awaycontent28"
+ sound_environment = SOUND_ENVIRONMENT_CONCERT_HALL
+
+/area/awaymission/museum/mothroachvoid
+ static_lighting = FALSE
+ base_lighting_alpha = 200
+ base_lighting_color = "#FFF4AA"
+ sound_environment = SOUND_ENVIRONMENT_PLAIN
+ ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/ambiodd.ogg','sound/ambience/ambinice.ogg')
+
/area/awaymission/errorroom
name = "Super Secret Room"
static_lighting = FALSE
diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm
index c4cf5bb125ae6..679a3182a57cd 100644
--- a/code/game/machinery/PDApainter.dm
+++ b/code/game/machinery/PDApainter.dm
@@ -67,7 +67,7 @@
QDEL_NULL(stored_id_card)
return ..()
-/obj/machinery/pdapainter/on_deconstruction()
+/obj/machinery/pdapainter/on_deconstruction(disassembled)
// Don't use ejection procs as we're gonna be destroyed anyway, so no need to update icons or anything.
if(stored_pda)
stored_pda.forceMove(loc)
diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm
index 65c47e4280196..0a915f57571cb 100644
--- a/code/game/machinery/_machinery.dm
+++ b/code/game/machinery/_machinery.dm
@@ -198,9 +198,8 @@
end_processing()
clear_components()
- dump_contents()
-
unset_static_power()
+
return ..()
/**
@@ -818,11 +817,15 @@
deconstruct(TRUE)
/obj/machinery/deconstruct(disassembled = TRUE)
+ SHOULD_NOT_OVERRIDE(TRUE)
+
if(obj_flags & NO_DECONSTRUCTION)
+ dump_contents() //drop everything inside us
return ..() //Just delete us, no need to call anything else.
- on_deconstruction()
+ on_deconstruction(disassembled)
if(!LAZYLEN(component_parts))
+ dump_contents() //drop everything inside us
return ..() //we don't have any parts.
spawn_frame(disassembled)
@@ -841,8 +844,12 @@
continue
var/obj/item/stack/stack_path = component
new stack_path(loc, board.req_components[component])
-
LAZYCLEARLIST(component_parts)
+
+ //drop everything inside us. we do this last to give machines a chance
+ //to handle their contents before we dump them
+ dump_contents()
+
return ..()
/**
@@ -1128,8 +1135,14 @@
/obj/machinery/proc/on_construction(mob/user)
return
-//called on deconstruction before the final deletion
-/obj/machinery/proc/on_deconstruction()
+/**
+ * called on deconstruction before the final deletion
+ * Arguments
+ *
+ * * disassembled - if TRUE means we used tools to deconstruct it, FALSE means it got destroyed by other means
+ */
+/obj/machinery/proc/on_deconstruction(disassembled)
+ PROTECTED_PROC(TRUE)
return
/obj/machinery/proc/can_be_overridden()
diff --git a/code/game/machinery/barsigns.dm b/code/game/machinery/barsigns.dm
index 593a58d165c31..faa29c2673ef6 100644
--- a/code/game/machinery/barsigns.dm
+++ b/code/game/machinery/barsigns.dm
@@ -91,15 +91,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign, 32)
if((machine_stat & BROKEN) && !(obj_flags & NO_DECONSTRUCTION))
set_sign(new /datum/barsign/hiddensigns/signoff)
-/obj/machinery/barsign/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(disassembled)
- new disassemble_result(drop_location())
- else
- new /obj/item/stack/sheet/iron(drop_location(), 2)
- new /obj/item/stack/cable_coil(drop_location(), 2)
-
- qdel(src)
+/obj/machinery/barsign/on_deconstruction(disassembled)
+ if(disassembled)
+ new disassemble_result(drop_location())
+ else
+ new /obj/item/stack/sheet/iron(drop_location(), 2)
+ new /obj/item/stack/cable_coil(drop_location(), 2)
/obj/machinery/barsign/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
switch(damage_type)
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 3f7ee0674594a..257cce51ab84e 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -443,21 +443,20 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0)
triggerCameraAlarm()
toggle_cam(null, 0)
-/obj/machinery/camera/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(disassembled)
- var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve()
- if(!assembly)
- assembly = new()
- assembly.forceMove(drop_location())
- assembly.state = 1
- assembly.setDir(dir)
- assembly_ref = null
- else
- var/obj/item/I = new /obj/item/wallframe/camera (loc)
- I.update_integrity(I.max_integrity * 0.5)
- new /obj/item/stack/cable_coil(loc, 2)
- qdel(src)
+/obj/machinery/camera/on_deconstruction(disassembled)
+ if(disassembled)
+ var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve()
+ if(!assembly)
+ assembly = new()
+ assembly.forceMove(drop_location())
+ assembly.state = 1
+ assembly.setDir(dir)
+ assembly_ref = null
+ return
+
+ var/obj/item/I = new /obj/item/wallframe/camera (loc)
+ I.update_integrity(I.max_integrity * 0.5)
+ new /obj/item/stack/cable_coil(loc, 2)
/obj/machinery/camera/update_icon_state() //TO-DO: Make panel open states, xray camera, and indicator lights overlays instead.
var/xray_module
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index b217db9707ff8..7cc10dcb840a7 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -72,10 +72,9 @@
return
return ..()
-/obj/machinery/cell_charger/deconstruct()
+/obj/machinery/cell_charger/on_deconstruction(disassembled)
if(charging)
charging.forceMove(drop_location())
- return ..()
/obj/machinery/cell_charger/Destroy()
QDEL_NULL(charging)
diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm
index d9cc62c642050..1323fbbb86230 100644
--- a/code/game/machinery/computer/_computer.dm
+++ b/code/game/machinery/computer/_computer.dm
@@ -98,33 +98,25 @@
if(prob(10))
atom_break(ENERGY)
-/obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user)
- on_deconstruction()
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(circuit) //no circuit, no computer frame
- var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc)
- A.setDir(dir)
- A.circuit = circuit
- // Circuit removal code is handled in /obj/machinery/Exited()
- circuit.forceMove(A)
- A.set_anchored(TRUE)
- if(machine_stat & BROKEN)
- if(user)
- to_chat(user, span_notice("The broken glass falls out."))
- else
- playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
- new /obj/item/shard(drop_location())
- new /obj/item/shard(drop_location())
- A.state = 3
- A.icon_state = "3"
- else
- if(user)
- to_chat(user, span_notice("You disconnect the monitor."))
- A.state = 4
- A.icon_state = "4"
- for(var/obj/C in src)
- C.forceMove(loc)
- qdel(src)
+/obj/machinery/computer/spawn_frame(disassembled)
+ if(QDELETED(circuit)) //no circuit, no computer frame
+ return
+
+ var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc)
+ A.setDir(dir)
+ A.circuit = circuit
+ // Circuit removal code is handled in /obj/machinery/Exited()
+ circuit.forceMove(A)
+ A.set_anchored(TRUE)
+ if(machine_stat & BROKEN)
+ playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
+ new /obj/item/shard(drop_location())
+ new /obj/item/shard(drop_location())
+ A.state = 3
+ A.icon_state = "3"
+ else
+ A.state = 4
+ A.icon_state = "4"
/obj/machinery/computer/AltClick(mob/user)
. = ..()
diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index 2ddbb3baadd31..74632b926b131 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -138,6 +138,6 @@
QDEL_NULL(occupier)
return ..()
-/obj/machinery/computer/aifixer/on_deconstruction()
+/obj/machinery/computer/aifixer/on_deconstruction(disassembled)
if(occupier)
QDEL_NULL(occupier)
diff --git a/code/game/machinery/computer/prisoner/_prisoner.dm b/code/game/machinery/computer/prisoner/_prisoner.dm
index 5785734a4370b..f1ce25559361a 100644
--- a/code/game/machinery/computer/prisoner/_prisoner.dm
+++ b/code/game/machinery/computer/prisoner/_prisoner.dm
@@ -3,9 +3,8 @@
/// ID card currently inserted into the computer.
VAR_FINAL/obj/item/card/id/advanced/prisoner/contained_id
-/obj/machinery/computer/prisoner/deconstruct(disassembled, mob/user)
+/obj/machinery/computer/prisoner/on_deconstruction(disassembled)
contained_id?.forceMove(drop_location())
- return ..()
/obj/machinery/computer/prisoner/Destroy()
QDEL_NULL(contained_id)
diff --git a/code/game/machinery/computer/telescreen.dm b/code/game/machinery/computer/telescreen.dm
index 90e53c2f45218..7b1e62e2cb7fb 100644
--- a/code/game/machinery/computer/telescreen.dm
+++ b/code/game/machinery/computer/telescreen.dm
@@ -21,10 +21,8 @@
result_path = /obj/machinery/computer/security/telescreen
pixel_shift = 32
-/obj/machinery/computer/security/telescreen/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new frame_type(loc)
- qdel(src)
+/obj/machinery/computer/security/telescreen/on_deconstruction(disassembled)
+ new frame_type(loc)
/obj/machinery/computer/security/telescreen/update_icon_state()
icon_state = initial(icon_state)
diff --git a/code/game/machinery/digital_clock.dm b/code/game/machinery/digital_clock.dm
index a0dc87dba0857..febc6a4b09100 100644
--- a/code/game/machinery/digital_clock.dm
+++ b/code/game/machinery/digital_clock.dm
@@ -69,16 +69,13 @@
. = ..()
emag_act()
-/obj/machinery/digital_clock/deconstruct(disassembled = TRUE)
- if(obj_flags & NO_DECONSTRUCTION)
- return
+/obj/machinery/digital_clock/on_deconstruction(disassembled)
if(disassembled)
new /obj/item/wallframe/digital_clock(drop_location())
else
new /obj/item/stack/sheet/iron(drop_location(), 2)
new /obj/item/shard(drop_location())
new /obj/item/shard(drop_location())
- qdel(src)
/obj/machinery/digital_clock/Initialize(mapload)
. = ..()
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index d6e10006673b6..abe2fc0c736cf 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1511,38 +1511,32 @@
assembly.update_name()
assembly.update_appearance()
-/obj/machinery/door/airlock/deconstruct(disassembled = TRUE, mob/user)
- if(!(obj_flags & NO_DECONSTRUCTION))
- var/obj/structure/door_assembly/A
- if(assemblytype)
- A = new assemblytype(loc)
- else
- A = new /obj/structure/door_assembly(loc)
- //If you come across a null assemblytype, it will produce the default assembly instead of disintegrating.
- prepare_deconstruction_assembly(A)
-
- if(!disassembled)
- A?.update_integrity(A.max_integrity * 0.5)
- else if(obj_flags & EMAGGED)
- if(user)
- to_chat(user, span_warning("You discard the damaged electronics."))
- else
- if(user)
- to_chat(user, span_notice("You remove the airlock electronics."))
-
- var/obj/item/electronics/airlock/ae
- if(!electronics)
- ae = new/obj/item/electronics/airlock(loc)
- if(length(req_one_access))
- ae.one_access = 1
- ae.accesses = req_one_access
- else
- ae.accesses = req_access
+/obj/machinery/door/airlock/on_deconstruction(disassembled)
+ var/obj/structure/door_assembly/A
+ if(assemblytype)
+ A = new assemblytype(loc)
+ else
+ A = new /obj/structure/door_assembly(loc)
+ //If you come across a null assemblytype, it will produce the default assembly instead of disintegrating.
+ prepare_deconstruction_assembly(A)
+
+ if(!disassembled)
+ A?.update_integrity(A.max_integrity * 0.5)
+ else if(obj_flags & EMAGGED)
+ //no electronics nothing
+ else
+ var/obj/item/electronics/airlock/ae
+ if(!electronics)
+ ae = new/obj/item/electronics/airlock(loc)
+ if(length(req_one_access))
+ ae.one_access = 1
+ ae.accesses = req_one_access
else
- ae = electronics
- electronics = null
- ae.forceMove(drop_location())
- qdel(src)
+ ae.accesses = req_access
+ else
+ ae = electronics
+ electronics = null
+ ae.forceMove(drop_location())
/obj/machinery/door/airlock/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
switch(the_rcd.mode)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 5521bd6a25c19..6d3f93d0001f3 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -658,20 +658,18 @@
if(old_activity != active) //Something changed while we were sleeping
correct_state() //So we should re-evaluate our state
-/obj/machinery/door/firedoor/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- var/turf/targetloc = get_turf(src)
- if(disassembled || prob(40))
- var/obj/structure/firelock_frame/unbuilt_lock = new assemblytype(targetloc)
- if(disassembled)
- unbuilt_lock.constructionStep = CONSTRUCTION_PANEL_OPEN
- else
- unbuilt_lock.constructionStep = CONSTRUCTION_NO_CIRCUIT
- unbuilt_lock.update_integrity(unbuilt_lock.max_integrity * 0.5)
- unbuilt_lock.update_appearance()
+/obj/machinery/door/firedoor/on_deconstruction(disassembled)
+ var/turf/targetloc = get_turf(src)
+ if(disassembled || prob(40))
+ var/obj/structure/firelock_frame/unbuilt_lock = new assemblytype(targetloc)
+ if(disassembled)
+ unbuilt_lock.constructionStep = CONSTRUCTION_PANEL_OPEN
else
- new /obj/item/electronics/firelock (targetloc)
- qdel(src)
+ unbuilt_lock.constructionStep = CONSTRUCTION_NO_CIRCUIT
+ unbuilt_lock.update_integrity(unbuilt_lock.max_integrity * 0.5)
+ unbuilt_lock.update_appearance()
+ else
+ new /obj/item/electronics/firelock (targetloc)
/obj/machinery/door/firedoor/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE)
. = ..()
diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm
index 5d390019f9b2e..eca8d88da4baf 100644
--- a/code/game/machinery/doors/shutters.dm
+++ b/code/game/machinery/doors/shutters.dm
@@ -66,3 +66,12 @@
/obj/machinery/door/poddoor/shutters/window/preopen
icon_state = "open"
density = FALSE
+
+/obj/machinery/door/poddoor/shutters/window/indestructible
+ name = "hardened windowed shutters"
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
+
+/obj/machinery/door/poddoor/shutters/window/indestructible/preopen
+ icon_state = "open"
+ density = FALSE
+ opacity = FALSE
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 9179dbaf94feb..1b690ee4f3be5 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -301,15 +301,16 @@
playsound(src, 'sound/items/welder.ogg', 100, TRUE)
-/obj/machinery/door/window/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION) && !disassembled)
- for(var/i in 1 to shards)
- drop_debris(new /obj/item/shard(src))
- if(rods)
- drop_debris(new /obj/item/stack/rods(src, rods))
- if(cable)
- drop_debris(new /obj/item/stack/cable_coil(src, cable))
- qdel(src)
+/obj/machinery/door/window/on_deconstruction(disassembled)
+ if(disassembled)
+ return
+
+ for(var/i in 1 to shards)
+ drop_debris(new /obj/item/shard(src))
+ if(rods)
+ drop_debris(new /obj/item/stack/rods(src, rods))
+ if(cable)
+ drop_debris(new /obj/item/stack/cable_coil(src, cable))
/obj/machinery/door/window/proc/drop_debris(obj/item/debris)
debris.forceMove(loc)
diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm
index 1d428e7547e35..91e7d1a3d4896 100644
--- a/code/game/machinery/droneDispenser.dm
+++ b/code/game/machinery/droneDispenser.dm
@@ -260,11 +260,6 @@
if(break_sound)
playsound(src, break_sound, 50, TRUE)
-/obj/machinery/drone_dispenser/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc, 5)
- qdel(src)
-
#undef DRONE_PRODUCTION
#undef DRONE_RECHARGING
#undef DRONE_READY
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 1f6b4c7def08b..bec9c50bdab07 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -440,16 +440,14 @@
return
return ..()
-/obj/machinery/firealarm/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc, 1)
- if(buildstage > FIRE_ALARM_BUILD_NO_CIRCUIT)
- var/obj/item/item = new /obj/item/electronics/firealarm(loc)
- if(!disassembled)
- item.update_integrity(item.max_integrity * 0.5)
- if(buildstage > FIRE_ALARM_BUILD_NO_WIRES)
- new /obj/item/stack/cable_coil(loc, 3)
- qdel(src)
+/obj/machinery/firealarm/on_deconstruction(disassembled)
+ new /obj/item/stack/sheet/iron(loc, 1)
+ if(buildstage > FIRE_ALARM_BUILD_NO_CIRCUIT)
+ var/obj/item/item = new /obj/item/electronics/firealarm(loc)
+ if(!disassembled)
+ item.update_integrity(item.max_integrity * 0.5)
+ if(buildstage > FIRE_ALARM_BUILD_NO_WIRES)
+ new /obj/item/stack/cable_coil(loc, 3)
// Allows users to examine the state of the thermal sensor
/obj/machinery/firealarm/examine(mob/user)
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index efe28051a211b..678b2c655094a 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -144,18 +144,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/flasher, 26)
bulb.burn_out()
power_change()
-/obj/machinery/flasher/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(bulb)
- bulb.forceMove(loc)
- if(disassembled)
- var/obj/item/wallframe/flasher/flasher_obj = new(get_turf(src))
- transfer_fingerprints_to(flasher_obj)
- flasher_obj.id = id
- playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE)
- else
- new /obj/item/stack/sheet/iron (loc, 2)
- qdel(src)
+/obj/machinery/flasher/on_deconstruction(disassembled)
+ if(bulb)
+ bulb.forceMove(loc)
+ if(disassembled)
+ var/obj/item/wallframe/flasher/flasher_obj = new(get_turf(src))
+ transfer_fingerprints_to(flasher_obj)
+ flasher_obj.id = id
+ playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE)
+ else
+ new /obj/item/stack/sheet/iron (loc, 2)
/obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored
name = "portable flasher"
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index a28f855862ae4..75d0566e42c4e 100644
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -55,11 +55,9 @@
deconstruct(TRUE)
return ITEM_INTERACT_SUCCESS
-/obj/machinery/igniter/deconstruct(disassembled)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc, 5)
- new /obj/item/assembly/igniter(loc)
- return ..()
+/obj/machinery/igniter/on_deconstruction(disassembled)
+ new /obj/item/stack/sheet/iron(loc, 5)
+ new /obj/item/assembly/igniter(loc)
/obj/machinery/igniter/multitool_act(mob/living/user, obj/item/tool)
var/change_id = tgui_input_number(user, "Set the igniter controller's ID", "Igniter ID", id, 100)
@@ -200,10 +198,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/sparker, 26)
deconstruct(TRUE)
return ITEM_INTERACT_SUCCESS
-/obj/machinery/sparker/deconstruct(disassembled)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/wallframe/sparker(loc)
- return ..()
+/obj/machinery/sparker/on_deconstruction(disassembled)
+ new /obj/item/wallframe/sparker(loc)
/obj/machinery/sparker/multitool_act(mob/living/user, obj/item/tool)
var/change_id = tgui_input_number(user, "Set the sparker controller's ID", "Sparker ID", id, 100)
diff --git a/code/game/machinery/incident_display.dm b/code/game/machinery/incident_display.dm
index 63418e4457ec3..fcdfecf6a3178 100644
--- a/code/game/machinery/incident_display.dm
+++ b/code/game/machinery/incident_display.dm
@@ -164,16 +164,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/tram, 32)
delam_record = rand(1,99)
update_appearance()
-/obj/machinery/incident_display/deconstruct()
- if(obj_flags & NO_DECONSTRUCTION)
- return
-
+/obj/machinery/incident_display/on_deconstruction(disassembled)
new /obj/item/stack/sheet/mineral/titanium(drop_location(), 2)
new /obj/item/shard(drop_location())
new /obj/item/shard(drop_location())
- qdel(src)
-
/obj/machinery/incident_display/proc/update_delam_count(new_count, record)
delam_record = record
last_delam = min(new_count, 199)
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index 25e963ad6d573..6244dcdd2dbc5 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -217,10 +217,8 @@
return ..()
set_transfer_rate(transfer_rate > MIN_IV_TRANSFER_RATE ? MIN_IV_TRANSFER_RATE : MAX_IV_TRANSFER_RATE)
-/obj/machinery/iv_drip/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc)
- qdel(src)
+/obj/machinery/iv_drip/on_deconstruction(disassembled = TRUE)
+ new /obj/item/stack/sheet/iron(loc)
/obj/machinery/iv_drip/process(seconds_per_tick)
if(!attached)
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index a4646136aaf2b..f9075b4318fac 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -107,10 +107,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26)
if(!(machine_stat & (BROKEN|NOPOWER)))
power_change()
-/obj/machinery/light_switch/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/wallframe/light_switch(loc)
- qdel(src)
+/obj/machinery/light_switch/on_deconstruction(disassembled)
+ new /obj/item/wallframe/light_switch(loc)
/obj/item/wallframe/light_switch
name = "light switch"
diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm
index 0e81f839838e7..197feb4118ddd 100644
--- a/code/game/machinery/limbgrower.dm
+++ b/code/game/machinery/limbgrower.dm
@@ -116,7 +116,7 @@
return data
-/obj/machinery/limbgrower/on_deconstruction()
+/obj/machinery/limbgrower/on_deconstruction(disassembled)
for(var/obj/item/reagent_containers/cup/our_beaker in component_parts)
reagents.trans_to(our_beaker, our_beaker.reagents.maximum_volume)
return ..()
diff --git a/code/game/machinery/newscaster/newscaster_machine.dm b/code/game/machinery/newscaster/newscaster_machine.dm
index e667fe5b96f94..7f3d8ea806f46 100644
--- a/code/game/machinery/newscaster/newscaster_machine.dm
+++ b/code/game/machinery/newscaster/newscaster_machine.dm
@@ -534,12 +534,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30)
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
-/obj/machinery/newscaster/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc, 2)
- new /obj/item/shard(loc)
- new /obj/item/shard(loc)
- qdel(src)
+/obj/machinery/newscaster/on_deconstruction(disassembled)
+ new /obj/item/stack/sheet/iron(loc, 2)
+ new /obj/item/shard(loc)
+ new /obj/item/shard(loc)
/obj/machinery/newscaster/atom_break(damage_flag)
. = ..()
diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm
index 76b1b73ba53f3..d0c0744f19ecb 100644
--- a/code/game/machinery/porta_turret/portable_turret.dm
+++ b/code/game/machinery/porta_turret/portable_turret.dm
@@ -402,9 +402,6 @@ DEFINE_BITFIELD(turret_flags, list(
/obj/machinery/porta_turret/proc/reset_attacked()
turret_flags &= ~TURRET_FLAG_SHOOT_ALL_REACT
-/obj/machinery/porta_turret/deconstruct(disassembled = TRUE)
- qdel(src)
-
/obj/machinery/porta_turret/atom_break(damage_flag)
. = ..()
if(.)
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 0f6002c97253d..1014393c00836 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -83,6 +83,12 @@
default_unfasten_wrench(user, tool)
return ITEM_INTERACT_SUCCESS
+/obj/machinery/recycler/can_be_unfasten_wrench(mob/user, silent)
+ if(!(isfloorturf(loc) || isindestructiblefloor(loc)) && !anchored)
+ to_chat(user, span_warning("[src] needs to be on the floor to be secured!"))
+ return FAILED_UNFASTEN
+ return SUCCESSFUL_UNFASTEN
+
/obj/machinery/recycler/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "grinder-oOpen", "grinder-o0", I))
return
@@ -241,7 +247,7 @@
L.Unconscious(100)
L.adjustBruteLoss(crush_damage)
-/obj/machinery/recycler/on_deconstruction()
+/obj/machinery/recycler/on_deconstruction(disassembled)
safety_mode = TRUE
/obj/machinery/recycler/deathtrap
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index b31b982f911d9..54bdeb666d95f 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -394,10 +394,8 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments)
return
return ..()
-/obj/machinery/requests_console/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/wallframe/requests_console(loc)
- qdel(src)
+/obj/machinery/requests_console/on_deconstruction(disassembled)
+ new /obj/item/wallframe/requests_console(loc)
/obj/machinery/requests_console/auto_name // Register an autoname variant and then make the directional helpers before undefing all the magic bits
auto_name = TRUE
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index d5dfc335c7c6d..6a5b53e2a0bdc 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -81,7 +81,7 @@
set_panel_open(TRUE)
QDEL_NULL(cell)
-/obj/machinery/space_heater/on_deconstruction()
+/obj/machinery/space_heater/on_deconstruction(disassembled)
if(cell)
LAZYADD(component_parts, cell)
cell = null
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 43e801384c36f..c1be0917bf352 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -72,16 +72,13 @@
update_appearance()
return TRUE
-/obj/machinery/status_display/deconstruct(disassembled = TRUE)
- if(obj_flags & NO_DECONSTRUCTION)
- return
+/obj/machinery/status_display/on_deconstruction(disassembled)
if(!disassembled)
new /obj/item/stack/sheet/iron(drop_location(), 2)
new /obj/item/shard(drop_location())
new /obj/item/shard(drop_location())
else
new /obj/item/wallframe/status_display(drop_location())
- qdel(src)
/// Immediately change the display to the given picture.
/obj/machinery/status_display/proc/set_picture(state)
@@ -545,6 +542,19 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/ai, 32)
connected_display.receive_signal(status_signal)
+/obj/machinery/status_display/random_message
+ current_mode = SD_MESSAGE
+ /// list to pick the first line from
+ var/list/firstline_to_secondline = list()
+
+/obj/machinery/status_display/random_message/Initialize(mapload, ndir, building)
+ if(firstline_to_secondline?.len)
+ message1 = pick(firstline_to_secondline)
+ message2 = firstline_to_secondline[message1]
+ return ..() // status displays call update appearance on init so i suppose we should set the messages before calling parent as to not call it twice
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/random_message, 32)
+
#undef MAX_STATIC_WIDTH
#undef FONT_STYLE
#undef SCROLL_RATE
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 0bf6bf7872d34..b34f7873648cd 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -307,13 +307,9 @@
storage = null
set_occupant(null)
-/obj/machinery/suit_storage_unit/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- open_machine()
- dump_inventory_contents()
- if(card_reader_installed)
- new /obj/item/stock_parts/card_reader(loc)
- return ..()
+/obj/machinery/suit_storage_unit/on_deconstruction(disassembled)
+ if(card_reader_installed)
+ new /obj/item/stock_parts/card_reader(loc)
/obj/machinery/suit_storage_unit/proc/access_check(mob/living/user)
if(!isnull(id_card))
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index de83d6d20dfa0..52644b8918bf9 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -415,10 +415,8 @@ GLOBAL_LIST_INIT(dye_registry, list(
/obj/machinery/washing_machine/attack_ai_secondary(mob/user, modifiers)
return attack_hand_secondary(user, modifiers)
-/obj/machinery/washing_machine/deconstruct(disassembled = TRUE)
- if (!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(drop_location(), 2)
- qdel(src)
+/obj/machinery/washing_machine/on_deconstruction(disassembled)
+ new /obj/item/stack/sheet/iron(drop_location(), 2)
/obj/machinery/washing_machine/open_machine(drop = TRUE, density_to_set = FALSE)
. = ..()
diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm
index c93b105767a10..7fe6c59075f3f 100644
--- a/code/game/objects/effects/decals/cleanable/misc.dm
+++ b/code/game/objects/effects/decals/cleanable/misc.dm
@@ -403,6 +403,7 @@
/obj/effect/decal/cleanable/ants/fire
name = "space fire ants"
desc = "A small colony no longer. We are the fire nation."
+ decal_reagent = /datum/reagent/ants/fire
icon_state = "fire_ants"
mergeable_decal = FALSE
@@ -485,6 +486,9 @@
ignite()
return ..()
+/obj/effect/decal/cleanable/fuel_pool/hivis
+ icon_state = "fuel_pool_hivis"
+
/obj/effect/decal/cleanable/rubble
name = "rubble"
desc = "A pile of rubble."
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index e63e7e39c4ad2..cd8a859f86fb4 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -117,8 +117,7 @@
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
- if(ismob(triggerer))
- mineEffect(triggerer)
+ mineEffect(triggerer)
triggered = TRUE
SEND_SIGNAL(src, COMSIG_MINE_TRIGGERED, triggerer)
qdel(src)
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index a014857994a07..ecfa560bfe60b 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -19,7 +19,7 @@
/obj/effect/step_trigger/proc/on_entered(datum/source, H as mob|obj)
SIGNAL_HANDLER
- if(!H)
+ if(!H || H == src)
return
if(isobserver(H) && !affect_ghosts)
return
@@ -138,6 +138,26 @@
if (T)
A.forceMove(T)
+/* Teleports atoms directly to an offset, no randomness, looping hallways! */
+
+/obj/effect/step_trigger/teleporter/offset
+ var/teleport_x_offset = 0
+ var/teleport_y_offset = 0
+
+/obj/effect/step_trigger/teleporter/offset/on_entered(datum/source, H as mob|obj, atom/old_loc)
+ if(!old_loc?.Adjacent(loc)) // prevents looping, if we were teleported into this then the old loc is usually not adjacent
+ return
+ return ..()
+
+/obj/effect/step_trigger/teleporter/offset/Trigger(atom/movable/poor_soul)
+ var/turf/destination = locate(x + teleport_x_offset, y + teleport_y_offset, z)
+ if(!destination)
+ return
+ poor_soul.forceMove(destination)
+ var/mob/living/living_soul = poor_soul
+ if(istype(living_soul) && living_soul.client)
+ living_soul.client.move_delay = 0
+
/* Fancy teleporter, creates sparks and smokes when used */
/obj/effect/step_trigger/teleport_fancy
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 99322597b4b5d..ce1245098c860 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -410,7 +410,7 @@ effective or pretty fucking useless.
balloon_alert(user, "repaired!")
-/obj/machinery/porta_turret/syndicate/toolbox/deconstruct(disassembled)
+/obj/machinery/porta_turret/syndicate/toolbox/on_deconstruction(disassembled)
if(disassembled)
var/atom/movable/old_toolbox = toolbox
toolbox = null
diff --git a/code/game/objects/items/food/cake.dm b/code/game/objects/items/food/cake.dm
index 07d5818b4662c..0b443554bb3b6 100644
--- a/code/game/objects/items/food/cake.dm
+++ b/code/game/objects/items/food/cake.dm
@@ -288,16 +288,23 @@
tastes = list("cake" = 3, "a Vlad's Salad" = 1)
crafting_complexity = FOOD_COMPLEXITY_4
-/obj/item/food/cakeslice/birthday/energy/proc/energy_bite(mob/living/user)
- to_chat(user, "As you eat the cake slice, you accidentally hurt yourself on the embedded energy dagger!")
- user.apply_damage(18, BRUTE, BODY_ZONE_HEAD)
- playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE)
+/obj/item/food/cakeslice/birthday/energy/Initialize(mapload)
+ . = ..()
+ RegisterSignal(src, COMSIG_FOOD_EATEN, PROC_REF(bite_taken))
/obj/item/food/cakeslice/birthday/energy/attack(mob/living/target_mob, mob/living/user)
- . = ..()
if(HAS_TRAIT(user, TRAIT_PACIFISM) && target_mob != user) //Prevents pacifists from attacking others directly
- return
- energy_bite(target_mob, user)
+ balloon_alert(user, "that's dangerous!")
+ return FALSE
+ return ..()
+
+/obj/item/food/cakeslice/birthday/energy/proc/bite_taken(datum/source, mob/living/eater, mob/living/feeder)
+ SIGNAL_HANDLER
+ to_chat(eater, "As you eat the cake slice, you accidentally hurt yourself on the embedded energy dagger!")
+ if(eater != feeder)
+ log_combat(feeder, eater, "fed an energy cake to", src)
+ eater.apply_damage(18, BRUTE, BODY_ZONE_HEAD)
+ playsound(eater, 'sound/weapons/blade1.ogg', 5, TRUE)
/obj/item/food/cake/apple
name = "apple cake"
diff --git a/code/game/objects/items/hand_items.dm b/code/game/objects/items/hand_items.dm
index c6dc9cb7a2f11..2255afe10541c 100644
--- a/code/game/objects/items/hand_items.dm
+++ b/code/game/objects/items/hand_items.dm
@@ -219,9 +219,9 @@
/obj/item/hand_item/slapper/attack(mob/living/slapped, mob/living/carbon/human/user)
SEND_SIGNAL(user, COMSIG_LIVING_SLAP_MOB, slapped)
- if(ishuman(slapped))
- var/mob/living/carbon/human/human_slapped = slapped
- SEND_SIGNAL(human_slapped, COMSIG_ORGAN_WAG_TAIL, FALSE)
+ if(iscarbon(slapped))
+ var/mob/living/carbon/potential_tailed = slapped
+ potential_tailed.unwag_tail()
user.do_attack_animation(slapped)
var/slap_volume = 50
diff --git a/code/game/objects/items/implants/implant_freedom.dm b/code/game/objects/items/implants/implant_freedom.dm
index af5d955dfbc9a..827cc8216a58b 100644
--- a/code/game/objects/items/implants/implant_freedom.dm
+++ b/code/game/objects/items/implants/implant_freedom.dm
@@ -17,17 +17,31 @@
/obj/item/implant/freedom/activate()
. = ..()
var/mob/living/carbon/carbon_imp_in = imp_in
- if(!carbon_imp_in.handcuffed && !carbon_imp_in.legcuffed)
+ if(!can_trigger(carbon_imp_in))
balloon_alert(carbon_imp_in, "no restraints!")
return
uses--
carbon_imp_in.uncuff()
+ var/obj/item/clothing/shoes/shoes = carbon_imp_in.shoes
+ if(istype(shoes) && shoes.tied == SHOES_KNOTTED)
+ shoes.adjust_laces(SHOES_TIED, carbon_imp_in)
+
if(!uses)
addtimer(CALLBACK(carbon_imp_in, TYPE_PROC_REF(/atom, balloon_alert), carbon_imp_in, "implant degraded!"), 1 SECONDS)
qdel(src)
+/obj/item/implant/freedom/proc/can_trigger(mob/living/carbon/implanted_in)
+ if(implanted_in.handcuffed || implanted_in.legcuffed)
+ return TRUE
+
+ var/obj/item/clothing/shoes/shoes = implanted_in.shoes
+ if(istype(shoes) && shoes.tied == SHOES_KNOTTED)
+ return TRUE
+
+ return FALSE
+
/obj/item/implant/freedom/get_data()
return "Implant Specifications:
\
Name: Freedom Beacon
\
diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm
index 8eba5081d2266..7ac22d00897ea 100644
--- a/code/game/objects/items/puzzle_pieces.dm
+++ b/code/game/objects/items/puzzle_pieces.dm
@@ -403,3 +403,61 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle_keycardpad, 32)
playsound(src, SFX_SPARKS, 100, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE)
do_sparks(3, cardinal_only = FALSE, source = src)
qdel(src)
+
+/obj/structure/puzzle_blockade/oneway
+ name = "one-way gate"
+ desc = "A wall of solid light, likely defending something important. Virtually indestructible."
+ icon = 'icons/obj/structures.dmi'
+ icon_state = "oneway"
+ base_icon_state = "oneway"
+ light_color = COLOR_BIOLUMINESCENCE_BLUE
+ light_range = 1
+ density = FALSE
+
+/obj/structure/puzzle_blockade/oneway/update_icon_state()
+ icon_state = "[base_icon_state][density ? "" : "-off"]"
+ return ..()
+
+/obj/structure/puzzle_blockade/oneway/CanAllowThrough(atom/movable/mover, border_dir)
+ return ..() && (REVERSE_DIR(border_dir) == dir || get_turf(mover) == get_turf(src))
+
+/obj/structure/puzzle_blockade/oneway/CanAStarPass(border_dir, datum/can_pass_info/pass_info)
+ return REVERSE_DIR(border_dir) == dir
+
+/obj/structure/puzzle_blockade/oneway/try_signal(datum/source)
+ density = FALSE
+ update_appearance(UPDATE_ICON)
+
+/obj/effect/puzzle_poddoor_open
+ name = "puzzle-poddoor relay"
+ desc = "activates poddoors if activated with a puzzle signal."
+ icon = 'icons/effects/mapping_helpers.dmi'
+ icon_state = ""
+ anchored = TRUE
+ invisibility = INVISIBILITY_MAXIMUM
+ /// if we receive a puzzle signal with this we do our thing
+ var/queue_id
+ /// door id
+ var/id
+
+/obj/effect/puzzle_poddoor_open/Initialize(mapload)
+ . = ..()
+ if(isnull(id) || isnull(queue_id))
+ log_mapping("[src] id:[id] has no id or door id and has been deleted")
+ return INITIALIZE_HINT_QDEL
+
+ SSqueuelinks.add_to_queue(src, queue_id)
+
+/obj/effect/puzzle_poddoor_open/MatchedLinks(id, list/partners)
+ for(var/partner in partners)
+ RegisterSignal(partner, COMSIG_PUZZLE_COMPLETED, PROC_REF(try_signal))
+
+/obj/effect/puzzle_poddoor_open/proc/try_signal(datum/source)
+ SIGNAL_HANDLER
+ var/openclose
+ for(var/obj/machinery/door/poddoor/door as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/door/poddoor))
+ if(door.id != id)
+ continue
+ if(isnull(openclose))
+ openclose = door.density
+ INVOKE_ASYNC(door, openclose ? TYPE_PROC_REF(/obj/machinery/door/poddoor, open) : TYPE_PROC_REF(/obj/machinery/door/poddoor, close))
diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index 6eefaffe61e1a..429acfb9ce966 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -773,33 +773,6 @@
new /obj/item/modular_computer/pda/syndicate_contract_uplink(src)
new /obj/item/storage/box/syndicate/contractor_loadout(src)
new /obj/item/melee/baton/telescopic/contractor_baton(src)
-
- // All about 4 TC or less - some nukeops only items, but fit nicely to the theme.
- var/static/list/item_list = list(
- /obj/item/storage/backpack/duffelbag/syndie/x4,
- /obj/item/storage/box/syndie_kit/throwing_weapons,
- /obj/item/gun/syringe/syndicate,
- /obj/item/pen/edagger,
- /obj/item/pen/sleepy,
- /obj/item/flashlight/emp,
- /obj/item/reagent_containers/syringe/mulligan,
- /obj/item/clothing/shoes/chameleon/noslip,
- /obj/item/storage/medkit/tactical,
- /obj/item/encryptionkey/syndicate,
- /obj/item/clothing/glasses/thermal/syndi,
- /obj/item/slimepotion/slime/sentience/nuclear,
- /obj/item/storage/box/syndie_kit/imp_radio,
- /obj/item/storage/box/syndie_kit/imp_uplink,
- /obj/item/clothing/gloves/krav_maga/combatglovesplus,
- /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot,
- /obj/item/reagent_containers/hypospray/medipen/stimulants,
- /obj/item/storage/box/syndie_kit/imp_freedom,
- /obj/item/toy/eightball/haunted,
- )
- for(var/i in 1 to 3)
- var/selected_item = pick_n_take(item_list)
- new selected_item(src)
-
// Paper guide is always last.
new /obj/item/paper/contractor_guide(src)
@@ -810,12 +783,16 @@
illustration = "writing_syndie"
/obj/item/storage/box/syndicate/contractor_loadout/PopulateContents()
+ new /obj/item/mod/control/pre_equipped/infiltrator(src)
new /obj/item/clothing/head/helmet/space/syndicate/contract(src)
new /obj/item/clothing/suit/space/syndicate/contract(src)
new /obj/item/clothing/under/chameleon(src)
new /obj/item/clothing/mask/chameleon(src)
- new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src)
new /obj/item/card/id/advanced/chameleon(src)
+ new /obj/item/clothing/glasses/thermal/syndi(src)
+ new /obj/item/storage/toolbox/syndicate(src)
+ new /obj/item/jammer(src)
+ new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src)
new /obj/item/lighter(src)
#undef KIT_RECON
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 91f1ca925abf8..cb57c5049bb8c 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -373,6 +373,8 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag)
/// If we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't.
/obj/proc/can_be_unfasten_wrench(mob/user, silent)
+ if(obj_flags & NO_DECONSTRUCTION)
+ return CANT_UNFASTEN
if(!(isfloorturf(loc) || isindestructiblefloor(loc)) && !anchored)
to_chat(user, span_warning("[src] needs to be on the floor to be secured!"))
return FAILED_UNFASTEN
@@ -380,7 +382,7 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag)
/// Try to unwrench an object in a WONDERFUL DYNAMIC WAY
/obj/proc/default_unfasten_wrench(mob/user, obj/item/wrench, time = 20)
- if((obj_flags & NO_DECONSTRUCTION) || wrench.tool_behaviour != TOOL_WRENCH)
+ if(wrench.tool_behaviour != TOOL_WRENCH)
return CANT_UNFASTEN
var/turf/ground = get_turf(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
index d10d767f0ccc9..ca931d4c6ab10 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
@@ -31,7 +31,7 @@
for(var/i in 1 to 5)
new /obj/item/reagent_containers/cup/glass/colocup(src)
-/obj/structure/closet/secure/closet/bar/lavaland_bartender_clothes
+/obj/structure/closet/secure_closet/bar/lavaland_bartender_clothes
name = "bartender's closet"
/obj/structure/closet/secure_closet/bar/lavaland_bartender_clothes/PopulateContents()
@@ -39,4 +39,3 @@
new /obj/item/clothing/glasses/sunglasses/reagent(src)
new /obj/item/clothing/suit/costume/hawaiian(src)
new /obj/item/clothing/shoes/sandal/beach(src)
-
diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm
index a38659aaefefb..82e89314d68f6 100644
--- a/code/game/objects/structures/fluff.dm
+++ b/code/game/objects/structures/fluff.dm
@@ -305,3 +305,12 @@
anchored = FALSE
density = TRUE
deconstructible = TRUE
+
+/obj/structure/fluff/wallsign
+ name = "direction sign"
+ desc = "Now, where to go?"
+ density = FALSE
+ icon = 'icons/obj/fluff/general.dmi'
+ icon_state = "wallsign"
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fluff/wallsign, 32)
diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm
index f14c1dfa227cf..af7fc92c65779 100644
--- a/code/game/objects/structures/shower.dm
+++ b/code/game/objects/structures/shower.dm
@@ -315,11 +315,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
reagents.remove_any(SHOWER_SPRAY_VOLUME)
-/obj/machinery/shower/deconstruct(disassembled = TRUE)
+/obj/machinery/shower/on_deconstruction(disassembled = TRUE)
new /obj/item/stack/sheet/iron(drop_location(), 2)
if(has_water_reclaimer)
new /obj/item/stock_parts/water_recycler(drop_location())
- qdel(src)
/obj/machinery/shower/proc/check_heat(mob/living/L)
var/mob/living/carbon/C = L
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index bb42ad4c3b000..23164aea33081 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -932,6 +932,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw
icon_state = "clockwork_window-single"
glass_type = /obj/item/stack/sheet/bronze
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/bronze/spawner, 0)
+
/obj/structure/window/bronze/unanchored
anchored = FALSE
diff --git a/code/game/turfs/closed/indestructible.dm b/code/game/turfs/closed/indestructible.dm
index e98d1c95f7e69..9f764715bf378 100644
--- a/code/game/turfs/closed/indestructible.dm
+++ b/code/game/turfs/closed/indestructible.dm
@@ -116,6 +116,16 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WALLS
+/turf/closed/indestructible/reinforced/titanium
+ name = "reinforced titanium imitation wall"
+ desc = "A huge chunk of reinforced metal used to separate rooms. Naturally, to cut down on costs, this is just a really good paint job to resemble titanium. Effectively impervious to conventional methods of destruction."
+ icon = 'icons/turf/walls/shuttle_wall.dmi'
+ icon_state = "shuttle_wall-0"
+ base_icon_state = "shuttle_wall"
+
+/turf/closed/indestructible/reinforced/titanium/nodiagonal
+ icon_state = "shuttle_wall-15"
+ smoothing_flags = SMOOTH_BITMASK
/turf/closed/indestructible/riveted
icon = 'icons/turf/walls/riveted.dmi'
diff --git a/code/game/turfs/open/chasm.dm b/code/game/turfs/open/chasm.dm
index 48ab1ceca38fd..142d966172b80 100644
--- a/code/game/turfs/open/chasm.dm
+++ b/code/game/turfs/open/chasm.dm
@@ -119,3 +119,19 @@
/turf/open/chasm/true/apply_components(mapload)
AddComponent(/datum/component/chasm, null, mapload) //Don't pass anything for below_turf.
+
+/turf/open/chasm/true/no_smooth
+ smoothing_flags = NONE
+
+/turf/open/chasm/true/no_smooth/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
+ return FALSE
+
+/turf/open/chasm/true/no_smooth/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data)
+ return FALSE
+
+/turf/open/chasm/true/no_smooth/attackby(obj/item/item, mob/user, params, area/area_restriction)
+ if(istype(item, /obj/item/stack/rods))
+ return
+ else if(istype(item, /obj/item/stack/tile/iron))
+ return
+ return ..()
diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm
index 30bed8fc87c1c..8f9e7b44aa600 100644
--- a/code/game/turfs/open/lava.dm
+++ b/code/game/turfs/open/lava.dm
@@ -53,6 +53,7 @@
/turf/open/lava/Destroy()
for(var/mob/living/leaving_mob in contents)
leaving_mob.RemoveElement(/datum/element/perma_fire_overlay)
+ REMOVE_TRAIT(leaving_mob, TRAIT_NO_EXTINGUISH, TURF_TRAIT)
return ..()
/turf/open/lava/update_overlays()
@@ -145,6 +146,7 @@
. = ..()
if(isliving(gone) && !islava(gone.loc))
gone.RemoveElement(/datum/element/perma_fire_overlay)
+ REMOVE_TRAIT(gone, TRAIT_NO_EXTINGUISH, TURF_TRAIT)
/turf/open/lava/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
if(burn_stuff(AM))
@@ -292,11 +294,10 @@
if(QDELETED(burn_target))
return FALSE
- . = TRUE
if(isobj(burn_target))
var/obj/burn_obj = burn_target
if(burn_obj.resistance_flags & ON_FIRE) // already on fire; skip it.
- return
+ return TRUE
if(!(burn_obj.resistance_flags & FLAMMABLE))
burn_obj.resistance_flags |= FLAMMABLE //Even fireproof things burn up in lava
if(burn_obj.resistance_flags & FIRE_PROOF)
@@ -305,16 +306,21 @@
burn_obj.set_armor_rating(FIRE, 50)
burn_obj.fire_act(temperature_damage, 1000 * seconds_per_tick)
if(istype(burn_obj, /obj/structure/closet))
- var/obj/structure/closet/burn_closet = burn_obj
- for(var/burn_content in burn_closet.contents)
+ for(var/burn_content in burn_target)
burn_stuff(burn_content)
- return
+ return TRUE
- var/mob/living/burn_living = burn_target
- burn_living.AddElement(/datum/element/perma_fire_overlay)
- burn_living.ignite_mob()
- burn_living.adjust_fire_stacks(lava_firestacks * seconds_per_tick)
- burn_living.adjustFireLoss(lava_damage * seconds_per_tick)
+ if(isliving(burn_target))
+ var/mob/living/burn_living = burn_target
+ if(!HAS_TRAIT_FROM(burn_living, TRAIT_NO_EXTINGUISH, TURF_TRAIT))
+ burn_living.AddElement(/datum/element/perma_fire_overlay)
+ ADD_TRAIT(burn_living, TRAIT_NO_EXTINGUISH, TURF_TRAIT)
+ burn_living.adjust_fire_stacks(lava_firestacks * seconds_per_tick)
+ burn_living.ignite_mob()
+ burn_living.adjustFireLoss(lava_damage * seconds_per_tick)
+ return TRUE
+
+ return FALSE
/turf/open/lava/can_cross_safely(atom/movable/crossing)
return HAS_TRAIT(src, TRAIT_LAVA_STOPPED) || HAS_TRAIT(crossing, immunity_trait ) || HAS_TRAIT(crossing, TRAIT_MOVE_FLYING)
diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm
index eba507ad5e079..ef3070356d5d2 100644
--- a/code/modules/antagonists/changeling/powers/biodegrade.dm
+++ b/code/modules/antagonists/changeling/powers/biodegrade.dm
@@ -65,6 +65,18 @@
..()
return TRUE
+ var/obj/item/clothing/shoes/shoes = user.shoes
+ if(istype(shoes) && shoes.tied == SHOES_KNOTTED && !(shoes.resistance_flags & (INDESTRUCTIBLE|UNACIDABLE|ACID_PROOF)))
+ new /obj/effect/decal/cleanable/greenglow(shoes.drop_location())
+ user.visible_message(
+ span_warning("[user] vomits a glob of acid on [user.p_their()] tied up [shoes.name], melting [shoes.p_them()] into a pool of goo!"),
+ span_warning("We vomit acidic ooze onto our tied up [shoes.name], melting [shoes.p_them()] into a pool of goo!"),
+ )
+ log_combat(user, shoes, "melted own shoes", addition = "(biodegrade)")
+ qdel(shoes)
+ ..()
+ return TRUE
+
user.balloon_alert(user, "already free!")
return FALSE
diff --git a/code/modules/art/statues.dm b/code/modules/art/statues.dm
index a3c43a13b7e7b..caebda5076605 100644
--- a/code/modules/art/statues.dm
+++ b/code/modules/art/statues.dm
@@ -573,23 +573,21 @@ Moving interrupts
var/static/list/plane_whitelist = list(FLOAT_PLANE, GAME_PLANE, FLOOR_PLANE)
/// Ideally we'd have knowledge what we're removing but i'd have to be done on target appearance retrieval
- var/list/overlays_to_remove = list()
+ var/list/overlays_to_keep = list()
for(var/mutable_appearance/special_overlay as anything in content_ma.overlays)
var/mutable_appearance/real = new()
real.appearance = special_overlay
if(PLANE_TO_TRUE(real.plane) in plane_whitelist)
- continue
- overlays_to_remove += real
- content_ma.overlays -= overlays_to_remove
+ overlays_to_keep += real
+ content_ma.overlays = overlays_to_keep
- var/list/underlays_to_remove = list()
+ var/list/underlays_to_keep = list()
for(var/mutable_appearance/special_underlay as anything in content_ma.underlays)
var/mutable_appearance/real = new()
real.appearance = special_underlay
if(PLANE_TO_TRUE(real.plane) in plane_whitelist)
- continue
- underlays_to_remove += real
- content_ma.underlays -= underlays_to_remove
+ underlays_to_keep += real
+ content_ma.underlays = underlays_to_keep
content_ma.appearance_flags &= ~KEEP_APART //Don't want this
content_ma.filters = filter(type="color",color=greyscale_with_value_bump,space=FILTER_COLOR_HSV)
diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm
index 3d93338fbeead..f39b2a780d119 100644
--- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm
+++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm
@@ -89,16 +89,14 @@
playsound(src, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
return TRUE
-/obj/machinery/airalarm/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc, 2)
- if((buildstage == AIR_ALARM_BUILD_NO_WIRES) || (buildstage == AIR_ALARM_BUILD_COMPLETE))
- var/obj/item/electronics/airalarm/alarm = new(loc)
- if(!disassembled)
- alarm.take_damage(alarm.max_integrity * 0.5, sound_effect = FALSE)
- if((buildstage == AIR_ALARM_BUILD_COMPLETE))
- new /obj/item/stack/cable_coil(loc, 3)
- qdel(src)
+/obj/machinery/airalarm/on_deconstruction(disassembled = TRUE)
+ new /obj/item/stack/sheet/iron(loc, 2)
+ if((buildstage == AIR_ALARM_BUILD_NO_WIRES) || (buildstage == AIR_ALARM_BUILD_COMPLETE))
+ var/obj/item/electronics/airalarm/alarm = new(loc)
+ if(!disassembled)
+ alarm.take_damage(alarm.max_integrity * 0.5, sound_effect = FALSE)
+ if((buildstage == AIR_ALARM_BUILD_COMPLETE))
+ new /obj/item/stack/cable_coil(loc, 3)
/obj/machinery/airalarm/attackby(obj/item/W, mob/user, params)
update_last_used(user)
diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm
index fe6806c9b58a0..0429b92377e0d 100644
--- a/code/modules/atmospherics/machinery/atmosmachinery.dm
+++ b/code/modules/atmospherics/machinery/atmosmachinery.dm
@@ -468,16 +468,16 @@
*
* Called by wrench_act(), create a pipe fitting and remove the pipe
*/
-/obj/machinery/atmospherics/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(can_unwrench)
- var/obj/item/pipe/stored = new construction_type(loc, null, dir, src, pipe_color)
- stored.set_piping_layer(piping_layer)
- if(!disassembled)
- stored.take_damage(stored.max_integrity * 0.5, sound_effect=FALSE)
- transfer_fingerprints_to(stored)
- . = stored
- ..()
+/obj/machinery/atmospherics/on_deconstruction(disassembled = TRUE)
+ if(!can_unwrench)
+ return
+
+ var/obj/item/pipe/stored = new construction_type(loc, null, dir, src, pipe_color)
+ stored.set_piping_layer(piping_layer)
+ if(!disassembled)
+ stored.take_damage(stored.max_integrity * 0.5, sound_effect=FALSE)
+ transfer_fingerprints_to(stored)
+ . = stored
/**
* Getter for piping layer shifted, pipe colored overlays
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm
index a49109050496d..1816ca1963721 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm
@@ -157,7 +157,7 @@
return TRUE
return ..()
-/obj/machinery/atmospherics/components/binary/circulator/on_deconstruction()
+/obj/machinery/atmospherics/components/binary/circulator/on_deconstruction(disassembled)
if(generator)
disconnectFromGenerator()
diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm
index 1aae85d2a1407..931a952658c40 100644
--- a/code/modules/atmospherics/machinery/components/components_base.dm
+++ b/code/modules/atmospherics/machinery/components/components_base.dm
@@ -105,7 +105,7 @@
. = ..()
update_parents()
-/obj/machinery/atmospherics/components/on_deconstruction()
+/obj/machinery/atmospherics/components/on_deconstruction(disassembled)
relocate_airs()
return ..()
@@ -231,7 +231,7 @@
if(!panel_open)
balloon_alert(user, "open panel!")
return ITEM_INTERACT_SUCCESS
-
+
var/unsafe_wrenching = FALSE
var/filled_pipe = FALSE
var/datum/gas_mixture/environment_air = loc.return_air()
@@ -246,7 +246,7 @@
if(!filled_pipe)
default_deconstruction_crowbar(tool)
return ITEM_INTERACT_SUCCESS
-
+
to_chat(user, span_notice("You begin to unfasten \the [src]..."))
internal_pressure -= environment_air.return_pressure()
diff --git a/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm b/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm
index fef2c072cd83e..7cee01e0cf792 100644
--- a/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm
+++ b/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm
@@ -57,7 +57,7 @@
QDEL_NULL(cell)
return ..()
-/obj/machinery/electrolyzer/on_deconstruction()
+/obj/machinery/electrolyzer/on_deconstruction(disassembled)
if(cell)
LAZYADD(component_parts, cell)
cell = null
diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm
index 6d3d5d31a16ee..55111e731fc24 100644
--- a/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm
+++ b/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm
@@ -200,7 +200,7 @@
machine_parts = null
return..()
-/obj/machinery/atmospherics/components/unary/hypertorus/core/on_deconstruction()
+/obj/machinery/atmospherics/components/unary/hypertorus/core/on_deconstruction(disassembled)
var/turf/local_turf = get_turf(loc)
var/datum/gas_mixture/to_release = moderator_internal || internal_fusion
if(to_release == moderator_internal)
diff --git a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm
index 1db5f8ad1c68e..44695b6104730 100644
--- a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm
+++ b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm
@@ -40,7 +40,7 @@
internal = new
register_context()
-/obj/machinery/atmospherics/components/binary/crystallizer/on_deconstruction()
+/obj/machinery/atmospherics/components/binary/crystallizer/on_deconstruction(disassembled)
var/turf/local_turf = get_turf(loc)
if(internal.total_moles())
local_turf.assume_air(internal)
@@ -67,7 +67,7 @@
return ..()
/obj/machinery/atmospherics/components/binary/crystallizer/crowbar_act(mob/living/user, obj/item/tool)
- return crowbar_deconstruction_act(user, tool, internal.return_pressure())
+ return crowbar_deconstruction_act(user, tool, internal.return_pressure())
/obj/machinery/atmospherics/components/binary/crystallizer/update_overlays()
. = ..()
diff --git a/code/modules/atmospherics/machinery/components/tank.dm b/code/modules/atmospherics/machinery/components/tank.dm
index 6e778168a3223..cf18488f0522c 100644
--- a/code/modules/atmospherics/machinery/components/tank.dm
+++ b/code/modules/atmospherics/machinery/components/tank.dm
@@ -338,7 +338,7 @@
deconstruct(disassembled=TRUE)
to_chat(user, span_notice("You finish cutting open the sealed gas tank, revealing the innards."))
-/obj/machinery/atmospherics/components/tank/deconstruct(disassembled)
+/obj/machinery/atmospherics/components/tank/on_deconstruction(disassembled)
var/turf/location = drop_location()
. = ..()
location.assume_air(air_contents)
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
index c6814c41da3d9..beded509497c2 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
@@ -133,7 +133,7 @@
return ..()
-/obj/machinery/cryo_cell/on_deconstruction()
+/obj/machinery/cryo_cell/on_deconstruction(disassembled)
if(occupant)
occupant.vis_flags &= ~VIS_INHERIT_PLANE
REMOVE_TRAIT(occupant, TRAIT_IMMOBILIZED, CRYO_TRAIT)
diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm
index 656b6582a00ec..ee1d052b7ed81 100644
--- a/code/modules/atmospherics/machinery/other/meter.dm
+++ b/code/modules/atmospherics/machinery/other/meter.dm
@@ -134,10 +134,8 @@
deconstruct()
return TRUE
-/obj/machinery/meter/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/pipe_meter(loc)
- . = ..()
+/obj/machinery/meter/on_deconstruction(disassembled)
+ new /obj/item/pipe_meter(loc)
/obj/machinery/meter/interact(mob/user)
if(machine_stat & (NOPOWER|BROKEN))
diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm
index 18fe9817e8115..8c3a3301b6804 100644
--- a/code/modules/atmospherics/machinery/portable/canister.dm
+++ b/code/modules/atmospherics/machinery/portable/canister.dm
@@ -353,10 +353,7 @@
/obj/machinery/portable_atmospherics/canister/atmos_expose(datum/gas_mixture/air, exposed_temperature)
take_damage(5, BURN, 0)
-/obj/machinery/portable_atmospherics/canister/deconstruct(disassembled = TRUE)
- if((obj_flags & NO_DECONSTRUCTION))
- qdel(src)
- return
+/obj/machinery/portable_atmospherics/canister/on_deconstruction(disassembled = TRUE)
if(!(machine_stat & BROKEN))
canister_break()
if(!disassembled)
@@ -366,7 +363,6 @@
new /obj/item/stack/sheet/iron (drop_location(), 10)
if(internal_cell)
internal_cell.forceMove(drop_location())
- qdel(src)
/obj/machinery/portable_atmospherics/canister/attackby(obj/item/item, mob/user, params)
if(istype(item, /obj/item/stock_parts/cell))
diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm
index f6d1a830a91b0..1ed0a1ec0ffdb 100644
--- a/code/modules/awaymissions/away_props.dm
+++ b/code/modules/awaymissions/away_props.dm
@@ -118,3 +118,19 @@
icon = 'icons/turf/floors.dmi'
icon_state = "floor"
hidden = TRUE
+
+/// only player mobs (has ckey) may pass, reverse for the opposite
+/obj/effect/playeronly_barrier
+ name = "player-only barrier"
+ desc = "You shall pass."
+ icon = 'icons/effects/mapping_helpers.dmi'
+ icon_state = "blocker"
+ anchored = TRUE
+ invisibility = INVISIBILITY_MAXIMUM
+ var/reverse = FALSE //Block if has ckey
+
+/obj/effect/playeronly_barrier/CanAllowThrough(mob/living/mover, border_dir)
+ . = ..()
+ if(!istype(mover))
+ return
+ return isnull(mover.ckey) == reverse
diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm
index eacd24fdbd016..0b0073258298b 100644
--- a/code/modules/cargo/packs/security.dm
+++ b/code/modules/cargo/packs/security.dm
@@ -342,17 +342,3 @@
access_view = ACCESS_SECURITY
contains = list(/obj/item/clothing/glasses/sunglasses = 1)
crate_name = "sunglasses crate"
-
-/datum/supply_pack/security/armory/beacon_imp
- name = "Beacon Implants Crate"
- desc = "Contains five Beacon implants."
- cost = CARGO_CRATE_VALUE * 5.5
- contains = list(/obj/item/storage/box/beaconimp)
- crate_name = "beacon implant crate"
-
-/datum/supply_pack/security/armory/teleport_blocker_imp
- name = "Bluespace Grounding Implants Crate"
- desc = "Contains five Bluespace Grounding implants."
- cost = CARGO_CRATE_VALUE * 7
- contains = list(/obj/item/storage/box/teleport_blocker)
- crate_name = "bluespace grounding implant crate"
diff --git a/code/modules/client/client_colour.dm b/code/modules/client/client_colour.dm
index c7ff9a02c6e45..6fa3bb36f3fb8 100644
--- a/code/modules/client/client_colour.dm
+++ b/code/modules/client/client_colour.dm
@@ -38,35 +38,32 @@
/datum/client_colour/Destroy()
if(!QDELETED(owner))
owner.client_colours -= src
- if(fade_out)
- owner.animate_client_colour(fade_out)
- else
- owner.update_client_colour()
+ owner.animate_client_colour(fade_out)
owner = null
return ..()
///Sets a new colour, then updates the owner's screen colour.
/datum/client_colour/proc/update_colour(new_colour, anim_time, easing = 0)
colour = new_colour
- if(anim_time)
- owner.animate_client_colour(anim_time, easing)
- else
- owner.update_client_colour()
+ owner.animate_client_colour(anim_time, easing)
/**
* Adds an instance of colour_type to the mob's client_colours list
* colour_type - a typepath (subtyped from /datum/client_colour)
*/
-/mob/proc/add_client_colour(colour_type)
- if(!ispath(colour_type, /datum/client_colour) || QDELING(src))
+/mob/proc/add_client_colour(colour_type_or_datum)
+ if(QDELING(src))
return
+ var/datum/client_colour/colour
+ if(istype(colour_type_or_datum, /datum/client_colour))
+ colour = colour_type_or_datum
+ else if(ispath(colour_type_or_datum, /datum/client_colour))
+ colour = new colour_type_or_datum(src)
+ else
+ CRASH("Invalid colour type or datum for add_client_color: [colour_type_or_datum || "null"]")
- var/datum/client_colour/colour = new colour_type(src)
BINARY_INSERT(colour, client_colours, /datum/client_colour, colour, priority, COMPARE_KEY)
- if(colour.fade_in)
- animate_client_colour(colour.fade_in)
- else
- update_client_colour()
+ animate_client_colour(colour.fade_in)
return colour
/**
@@ -77,8 +74,7 @@
if(!ispath(colour_type, /datum/client_colour))
return
- for(var/cc in client_colours)
- var/datum/client_colour/colour = cc
+ for(var/datum/client_colour/colour as anything in client_colours)
if(colour.type == colour_type)
qdel(colour)
break
@@ -123,31 +119,49 @@
};\
target = _our_colour\
+#define CLIENT_COLOR_FILTER_KEY "fake_client_color"
/**
* Resets the mob's client.color to null, and then reapplies a new color based
* on the client_colour datums it currently has.
*/
/mob/proc/update_client_colour()
- if(!client)
+ if(isnull(hud_used))
return
- client.color = ""
- if(!client_colours.len)
- return
- MIX_CLIENT_COLOUR(client.color)
+
+ var/new_color = ""
+ if(length(client_colours))
+ MIX_CLIENT_COLOUR(new_color)
+
+ for(var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
+ if(new_color)
+ game_plane.add_filter(CLIENT_COLOR_FILTER_KEY, 2, color_matrix_filter(new_color))
+ else
+ game_plane.remove_filter(CLIENT_COLOR_FILTER_KEY)
///Works similarly to 'update_client_colour', but animated.
-/mob/proc/animate_client_colour(anim_time = 20, anim_easing = 0)
- if(!client)
+/mob/proc/animate_client_colour(anim_time = 2 SECONDS, anim_easing = NONE)
+ if(anim_time <= 0)
+ return update_client_colour()
+ if(isnull(hud_used))
return
- if(!client_colours.len)
- animate(client, color = "", time = anim_time, easing = anim_easing)
- return
- MIX_CLIENT_COLOUR(var/anim_colour)
- animate(client, color = anim_colour, time = anim_time, easing = anim_easing)
+
+ var/anim_color = ""
+ if(length(client_colours))
+ MIX_CLIENT_COLOUR(anim_color)
+
+ for(var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
+ if(anim_color)
+ game_plane.add_filter(CLIENT_COLOR_FILTER_KEY, 2, color_matrix_filter())
+ game_plane.transition_filter(CLIENT_COLOR_FILTER_KEY, color_matrix_filter(anim_color), anim_time, anim_easing)
+ else
+ game_plane.transition_filter(CLIENT_COLOR_FILTER_KEY, color_matrix_filter(), anim_time, anim_easing)
+ // This leaves a blank color filter on the hud which is, fine I guess?
#undef MIX_CLIENT_COLOUR
+#undef CLIENT_COLOR_FILTER_KEY
+
/datum/client_colour/glass_colour
priority = PRIORITY_LOW
@@ -228,6 +242,9 @@
priority = PRIORITY_ABSOLUTE
colour = COLOR_RED
+/datum/client_colour/temp
+ priority = PRIORITY_HIGH
+
#undef PRIORITY_ABSOLUTE
#undef PRIORITY_HIGH
#undef PRIORITY_NORMAL
diff --git a/code/modules/food_and_drinks/machinery/coffeemaker.dm b/code/modules/food_and_drinks/machinery/coffeemaker.dm
index 36ef9a7638476..8490b2b5cfbec 100644
--- a/code/modules/food_and_drinks/machinery/coffeemaker.dm
+++ b/code/modules/food_and_drinks/machinery/coffeemaker.dm
@@ -45,10 +45,9 @@
coffeepot = new /obj/item/reagent_containers/cup/coffeepot(src)
cartridge = new /obj/item/coffee_cartridge(src)
-/obj/machinery/coffeemaker/deconstruct()
+/obj/machinery/coffeemaker/on_deconstruction(disassembled)
coffeepot?.forceMove(drop_location())
cartridge?.forceMove(drop_location())
- return ..()
/obj/machinery/coffeemaker/Destroy()
QDEL_NULL(coffeepot)
diff --git a/code/modules/food_and_drinks/machinery/deep_fryer.dm b/code/modules/food_and_drinks/machinery/deep_fryer.dm
index 2a172df811f7a..a6c3daf5ccaee 100644
--- a/code/modules/food_and_drinks/machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/machinery/deep_fryer.dm
@@ -61,11 +61,10 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list(
QDEL_NULL(frying)
return ..()
-/obj/machinery/deepfryer/deconstruct(disassembled)
+/obj/machinery/deepfryer/on_deconstruction(disassembled)
// This handles nulling out frying via exited
if(frying)
frying.forceMove(drop_location())
- return ..()
/obj/machinery/deepfryer/RefreshParts()
. = ..()
diff --git a/code/modules/food_and_drinks/machinery/grill.dm b/code/modules/food_and_drinks/machinery/grill.dm
index 695c70b75dae9..a98848b1ab257 100644
--- a/code/modules/food_and_drinks/machinery/grill.dm
+++ b/code/modules/food_and_drinks/machinery/grill.dm
@@ -106,13 +106,11 @@
if(default_unfasten_wrench(user, I) != CANT_UNFASTEN)
return TRUE
-/obj/machinery/grill/deconstruct(disassembled = TRUE)
+/obj/machinery/grill/on_deconstruction(disassembled)
if(grilled_item)
finish_grill()
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc, 5)
- new /obj/item/stack/rods(loc, 5)
- ..()
+ new /obj/item/stack/sheet/iron(loc, 5)
+ new /obj/item/stack/rods(loc, 5)
/obj/machinery/grill/attack_ai(mob/user)
return
diff --git a/code/modules/food_and_drinks/machinery/icecream_vat.dm b/code/modules/food_and_drinks/machinery/icecream_vat.dm
index e3abf6bf9deca..e5742418c140f 100644
--- a/code/modules/food_and_drinks/machinery/icecream_vat.dm
+++ b/code/modules/food_and_drinks/machinery/icecream_vat.dm
@@ -211,12 +211,10 @@
ice_cream_icon.color = flavor.color
return ice_cream_icon
-/obj/machinery/icecream_vat/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/stack/sheet/iron(loc, 4)
+/obj/machinery/icecream_vat/on_deconstruction(disassembled = TRUE)
+ new /obj/item/stack/sheet/iron(loc, 4)
if(custom_ice_cream_beaker)
custom_ice_cream_beaker.forceMove(loc)
- qdel(src)
///Makes an ice cream cone of the make_type, using ingredients list as reagents used to make it. Puts in user's hand if possible.
/obj/machinery/icecream_vat/proc/make_cone(mob/user, make_type, list/ingredients)
diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm
index c4cc6d378e35b..ec5df27ca5a23 100644
--- a/code/modules/food_and_drinks/machinery/microwave.dm
+++ b/code/modules/food_and_drinks/machinery/microwave.dm
@@ -105,7 +105,7 @@
itemized_ingredient.pixel_y = itemized_ingredient.base_pixel_y + rand(-5, 6)
return ..()
-/obj/machinery/microwave/on_deconstruction()
+/obj/machinery/microwave/on_deconstruction(disassembled)
eject()
return ..()
diff --git a/code/modules/food_and_drinks/machinery/smartfridge.dm b/code/modules/food_and_drinks/machinery/smartfridge.dm
index 69f62b77d209a..eeb5efd2642ca 100644
--- a/code/modules/food_and_drinks/machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/machinery/smartfridge.dm
@@ -491,7 +491,7 @@
/obj/machinery/smartfridge/drying_rack/exchange_parts()
return
-/obj/machinery/smartfridge/drying_rack/on_deconstruction()
+/obj/machinery/smartfridge/drying_rack/on_deconstruction(disassembled)
new /obj/item/stack/sheet/mineral/wood(drop_location(), 10)
/obj/machinery/smartfridge/drying_rack/crowbar_act(mob/living/user, obj/item/tool)
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 56f967a0380d9..ca3fee495ce40 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -1184,9 +1184,8 @@
/obj/machinery/hydroponics/soil/CtrlClick(mob/user)
return //Soil has no electricity.
-/obj/machinery/hydroponics/soil/deconstruct(disassembled)
+/obj/machinery/hydroponics/soil/on_deconstruction(disassembled)
new /obj/item/stack/ore/glass(drop_location(), 3)
- return ..()
///The usb port circuit
diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm b/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm
new file mode 100644
index 0000000000000..20210d56cc95c
--- /dev/null
+++ b/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm
@@ -0,0 +1,131 @@
+/obj/machinery/computer/terminal/museum
+ name = "exhibit info terminal"
+ desc = "A relatively low-tech info board. Not as low-tech as an actual sign though. Appears to be quite old."
+ upperinfo = "Nanotrasen Museum Exhibit Info"
+ icon_state = "plaque"
+ icon_screen = "plaque_screen"
+ icon_keyboard = null
+
+/obj/effect/replica_spawner //description and name are intact, better to make a new fluff object for stuff that is not actually ingame as an object
+ name = "replica creator"
+ desc = "This creates a fluff object that looks exactly like the input, but like obviously a replica. Do not for the love of god use with stuff that has Initialize side effects."
+ icon = 'icons/hud/screen_gen.dmi'
+ icon_state = "x2"
+ invisibility = INVISIBILITY_ABSTRACT //nope, can't see this
+ anchored = TRUE
+ density = TRUE
+ opacity = FALSE
+ var/replica_path = /obj/structure/fluff
+ var/target_path
+ var/obvious_replica = TRUE
+
+/obj/effect/replica_spawner/Initialize(mapload)
+ . = ..()
+ if(isnull(target_path))
+ return INITIALIZE_HINT_QDEL //no use to make a replica of null
+ var/atom/appearance_object = new target_path
+ var/atom/new_replica = new replica_path(loc)
+
+ new_replica.icon = appearance_object.icon
+ new_replica.icon_state = appearance_object.icon_state
+ new_replica.copy_overlays(appearance_object.appearance, cut_old = TRUE)
+ new_replica.density = appearance_object.density //for like nondense showers and stuff
+
+ new_replica.name = "[appearance_object.name][obvious_replica ? " replica" : ""]"
+ new_replica.desc = "[appearance_object.desc][obvious_replica ? " ..except this one is a replica.": ""]"
+ qdel(appearance_object)
+ qdel(src)
+ return INITIALIZE_HINT_QDEL
+
+/obj/structure/fluff/dnamod
+ name = "DNA Modifier"
+ desc = "DNA Manipulator replica. Essentially just a box of cool lights."
+ icon = 'icons/obj/service/hydroponics/equipment.dmi'
+ icon_state = "dnamod"
+ density = TRUE
+
+/obj/structure/fluff/preserved_borer
+ name = "preserved borer exhibit"
+ desc = "A preserved cortical borer. Probably been there long enough to not last long outside the exhibit."
+ icon = 'icons/obj/structures.dmi'
+ icon_state = "preservedborer"
+ density = TRUE
+
+/obj/structure/fluff/balloon_nuke
+ name = "nuclear balloon explosive"
+ desc = "You probably shouldn't stick around to see if this is inflated."
+ icon = /obj/machinery/nuclearbomb::icon
+ icon_state = /obj/machinery/nuclearbomb::icon_state
+ density = TRUE
+ max_integrity = 5 //one tap
+
+/obj/structure/fluff/balloon_nuke/atom_destruction()
+ playsound(loc, 'sound/effects/cartoon_pop.ogg', 75, vary = TRUE)
+ ..()
+
+/obj/structure/fluff/fake_camera
+ name = /obj/machinery/camera::name
+ desc = /obj/machinery/camera::desc
+ icon = /obj/machinery/camera::icon
+ icon_state = /obj/machinery/camera::icon_state
+
+/obj/structure/fluff/fake_scrubber
+ name = /obj/machinery/atmospherics/components/unary/vent_scrubber::name
+ desc = /obj/machinery/atmospherics/components/unary/vent_scrubber::desc
+ icon = /obj/machinery/atmospherics/components/unary/vent_scrubber::icon
+ layer = /obj/machinery/atmospherics/components/unary/vent_scrubber::layer
+ plane = FLOOR_PLANE
+ icon_state = "scrub_on"
+
+/obj/structure/fluff/fake_vent
+ name = /obj/machinery/atmospherics/components/unary/vent_pump::name
+ desc = /obj/machinery/atmospherics/components/unary/vent_pump::desc
+ icon = /obj/machinery/atmospherics/components/unary/vent_pump::icon
+ layer = /obj/machinery/atmospherics/components/unary/vent_scrubber::layer
+ plane = FLOOR_PLANE
+ icon_state = "vent_out"
+
+/turf/open/mirage
+ icon = 'icons/turf/floors.dmi'
+ icon_state = "mirage"
+ invisibility = INVISIBILITY_ABSTRACT
+ /// target turf x and y are offsets from our location instead of a direct coordinate
+ var/offset = TRUE
+ /// tile range that we show, 2 means that the target tile and two tiles ahead of it in our direction will show
+ var/range
+ var/target_turf_x = 0
+ var/target_turf_y = 0
+ /// if not specified, uses our Z
+ var/target_turf_z
+
+/turf/open/mirage/Initialize(mapload)
+ . = ..()
+ if(isnull(range))
+ range = world.view
+ var/used_z = target_turf_z || z //if target z is not defined, use ours
+ var/turf/target = locate(offset ? target_turf_x + x : target_turf_x, offset ? target_turf_y + y : target_turf_y, used_z)
+ AddElement(/datum/element/mirage_border, target, dir, range)
+
+/obj/effect/mapping_helpers/ztrait_injector/museum
+ traits_to_add = list(ZTRAIT_NOPARALLAX = TRUE, ZTRAIT_NOXRAY = TRUE, ZTRAIT_NOPHASE = TRUE, ZTRAIT_BASETURF = /turf/open/indestructible/plating, ZTRAIT_SECRET = TRUE)
+
+/obj/effect/smooths_with_walls
+ name = "effect that smooths with walls"
+ desc = "to supplement /turf/open/mirage."
+ icon = 'icons/hud/screen_gen.dmi'
+ icon_state = "x2"
+ invisibility = INVISIBILITY_ABSTRACT
+ anchored = TRUE
+ density = TRUE
+ smoothing_flags = SMOOTH_BITMASK
+ smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
+
+/obj/item/paper/fluff/museum/noend
+ name = "scrambled note"
+ default_raw_text = {"this place,
+
god whose idea was to build a museum in the void in the middle of god knows where there is no reason we should have done this
+
and those mannequins why do they stare back where the fuck did you get these from
+
how would we even get visitors here
+
sometimes i can catch them moving
+
+
we should have never come here"}
diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm
index 7676801a0a92f..faaaf9e420642 100644
--- a/code/modules/mapping/mapping_helpers.dm
+++ b/code/modules/mapping/mapping_helpers.dm
@@ -1395,3 +1395,32 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
var/turf/our_turf = get_turf(src) // In case a locker ate us or something
our_turf.AddElement(/datum/element/bombable_turf)
return INITIALIZE_HINT_QDEL
+
+/// this helper buckles all mobs on the tile to the first buckleable object
+/obj/effect/mapping_helpers/mob_buckler
+ name = "Buckle Mob"
+ icon_state = "buckle"
+ late = TRUE
+ ///whether we force a buckle
+ var/force_buckle = FALSE
+
+/obj/effect/mapping_helpers/mob_buckler/Initialize(mapload)
+ . = ..()
+ var/atom/movable/buckle_to
+ var/list/mobs = list()
+ for(var/atom/movable/possible_buckle as anything in loc)
+ if(isnull(buckle_to) && possible_buckle.can_buckle)
+ buckle_to = possible_buckle
+ continue
+
+ if(isliving(possible_buckle))
+ mobs += possible_buckle
+
+ if(isnull(buckle_to))
+ log_mapping("[type] at [x] [y] [z] did not find anything to buckle to")
+ return INITIALIZE_HINT_QDEL
+
+ for(var/mob/living/mob as anything in mobs)
+ buckle_to.buckle_mob(mob, force = force_buckle)
+
+ return INITIALIZE_HINT_QDEL
diff --git a/code/modules/mining/boulder_processing/_boulder_processing.dm b/code/modules/mining/boulder_processing/_boulder_processing.dm
index daa6620a23308..3372f77ebb593 100644
--- a/code/modules/mining/boulder_processing/_boulder_processing.dm
+++ b/code/modules/mining/boulder_processing/_boulder_processing.dm
@@ -126,8 +126,7 @@
remove_boulder(pick(boulders_contained))
return SECONDARY_ATTACK_CONTINUE_CHAIN
-/obj/machinery/bouldertech/deconstruct(disassembled)
- . = ..()
+/obj/machinery/bouldertech/on_deconstruction(disassembled)
if(length(contents))
for(var/obj/item/boulder/boulder in contents)
remove_boulder(boulder)
diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm
index c221e78d69023..f4463434066c7 100644
--- a/code/modules/mining/equipment/survival_pod.dm
+++ b/code/modules/mining/equipment/survival_pod.dm
@@ -37,35 +37,83 @@
. += "This capsule has the [template.name] stored."
. += template.description
-/obj/item/survivalcapsule/attack_self()
+/obj/item/survivalcapsule/interact(mob/user)
+ . = ..()
+ if(.)
+ return .
+
//Can't grab when capsule is New() because templates aren't loaded then
get_template()
- if(!used)
- loc.visible_message(span_warning("\The [src] begins to shake. Stand back!"))
- used = TRUE
- sleep(5 SECONDS)
- var/turf/deploy_location = get_turf(src)
- var/status = template.check_deploy(deploy_location)
- switch(status)
- if(SHELTER_DEPLOY_BAD_AREA)
- src.loc.visible_message(span_warning("\The [src] will not function in this area."))
- if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS, SHELTER_DEPLOY_OUTSIDE_MAP)
- var/width = template.width
- var/height = template.height
- src.loc.visible_message(span_warning("\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!"))
- if(status != SHELTER_DEPLOY_ALLOWED)
- used = FALSE
- return
-
- template.load(deploy_location, centered = TRUE)
- var/turf/T = deploy_location
- if(!is_mining_level(T.z)) //only report capsules away from the mining/lavaland level
- message_admins("[ADMIN_LOOKUPFLW(usr)] activated a bluespace capsule away from the mining level! [ADMIN_VERBOSEJMP(T)]")
- log_admin("[key_name(usr)] activated a bluespace capsule away from the mining level at [AREACOORD(T)]")
-
- playsound(src, 'sound/effects/phasein.ogg', 100, TRUE)
- new /obj/effect/particle_effect/fluid/smoke(get_turf(src))
- qdel(src)
+ if(used)
+ return FALSE
+
+ loc.visible_message(span_warning("[src] begins to shake. Stand back!"))
+ used = TRUE
+ addtimer(CALLBACK(src, PROC_REF(expand), user), 5 SECONDS)
+ return TRUE
+
+/// Expands the capsule into a full shelter, placing the template at the item's location (NOT triggerer's location)
+/obj/item/survivalcapsule/proc/expand(mob/triggerer)
+ if(QDELETED(src))
+ return
+
+ var/turf/deploy_location = get_turf(src)
+ var/status = template.check_deploy(deploy_location)
+ switch(status)
+ if(SHELTER_DEPLOY_BAD_AREA)
+ loc.visible_message(span_warning("[src] will not function in this area."))
+ if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS, SHELTER_DEPLOY_OUTSIDE_MAP)
+ loc.visible_message(span_warning("[src] doesn't have room to deploy! You need to clear a [template.width]x[template.height] area!"))
+
+ if(status != SHELTER_DEPLOY_ALLOWED)
+ used = FALSE
+ return
+
+ yote_nearby(deploy_location)
+ template.load(deploy_location, centered = TRUE)
+ trigger_admin_alert(triggerer, deploy_location)
+ playsound(src, 'sound/effects/phasein.ogg', 100, TRUE)
+ new /obj/effect/particle_effect/fluid/smoke(get_turf(src))
+ qdel(src)
+
+/// Throws any mobs near the deployed location away from the item / shelter
+/// Does some math to make closer mobs get thrown further
+/obj/item/survivalcapsule/proc/yote_nearby(turf/deploy_location)
+ var/width = template.width
+ var/height = template.height
+ var/base_x_throw_distance = ceil(width / 2)
+ var/base_y_throw_distance = ceil(height / 2)
+ for(var/mob/living/did_not_stand_back in range(loc, "[width]x[height]"))
+ var/dir_to_center = get_dir(deploy_location, did_not_stand_back) || pick(GLOB.alldirs)
+ // Aiming to throw the target just enough to get them out of the range of the shelter
+ // IE: Stronger if they're closer, weaker if they're further away
+ var/throw_dist = 0
+ var/x_component = abs(did_not_stand_back.x - deploy_location.x)
+ var/y_component = abs(did_not_stand_back.y - deploy_location.y)
+ if(ISDIAGONALDIR(dir_to_center))
+ throw_dist = ceil(sqrt(base_x_throw_distance ** 2 + base_y_throw_distance ** 2) - (sqrt(x_component ** 2 + y_component ** 2)))
+ else if(dir_to_center & (NORTH|SOUTH))
+ throw_dist = base_y_throw_distance - y_component + 1
+ else if(dir_to_center & (EAST|WEST))
+ throw_dist = base_x_throw_distance - x_component + 1
+
+ did_not_stand_back.Paralyze(3 SECONDS)
+ did_not_stand_back.Knockdown(6 SECONDS)
+ did_not_stand_back.throw_at(
+ target = get_edge_target_turf(did_not_stand_back, dir_to_center),
+ range = throw_dist,
+ speed = 3,
+ force = MOVE_FORCE_VERY_STRONG,
+ )
+
+/// Logs if the capsule was triggered, by default only if it happened on non-lavaland
+/obj/item/survivalcapsule/proc/trigger_admin_alert(mob/triggerer, turf/trigger_loc)
+ //only report capsules away from the mining/lavaland level
+ if(is_mining_level(trigger_loc.z))
+ return
+
+ message_admins("[ADMIN_LOOKUPFLW(triggerer)] activated a bluespace capsule away from the mining level! [ADMIN_VERBOSEJMP(trigger_loc)]")
+ log_admin("[key_name(triggerer)] activated a bluespace capsule away from the mining level at [AREACOORD(trigger_loc)]")
//Non-default pods
diff --git a/code/modules/mob/living/basic/space_fauna/statue/mannequin.dm b/code/modules/mob/living/basic/space_fauna/statue/mannequin.dm
new file mode 100644
index 0000000000000..7b6bf6c839992
--- /dev/null
+++ b/code/modules/mob/living/basic/space_fauna/statue/mannequin.dm
@@ -0,0 +1,89 @@
+/mob/living/basic/statue/mannequin
+ name = "mannequin"
+ desc = "Oh, so this is a dress-up game now."
+ icon = 'icons/mob/human/mannequin.dmi'
+ icon_state = "mannequin_wood_male"
+ icon_living = "mannequin_wood_male"
+ icon_dead = "mannequin_wood_male"
+ health = 300
+ maxHealth = 300
+ melee_damage_lower = 15
+ melee_damage_upper = 30
+ sentience_type = SENTIENCE_ARTIFICIAL
+ ai_controller = /datum/ai_controller/basic_controller/stares_at_people
+ /// the path to a fake item we will hold in our right hand
+ var/obj/item/held_item
+ /// the path to a fake hat we will wear
+ var/obj/item/hat
+
+/mob/living/basic/statue/mannequin/Initialize(mapload)
+ . = ..()
+ update_appearance()
+
+/mob/living/basic/statue/mannequin/update_overlays()
+ . = ..()
+ if(held_item)
+ . += mutable_appearance(initial(held_item.righthand_file), initial(held_item.inhand_icon_state))
+ if(hat)
+ . += mutable_appearance(initial(hat.worn_icon), initial(hat.worn_icon_state) || initial(hat.icon_state))
+
+/datum/ai_controller/basic_controller/stares_at_people
+ blackboard = list(
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
+ BB_AGGRO_RANGE = 6,
+ )
+
+ ai_movement = /datum/ai_movement/dumb
+ idle_behavior = null
+ planning_subtrees = list(
+ /datum/ai_planning_subtree/simple_find_target,
+ /datum/ai_planning_subtree/face_target_or_face_initial, // we be creepy and all
+ )
+
+/datum/ai_planning_subtree/face_target_or_face_initial
+
+/datum/ai_planning_subtree/face_target_or_face_initial/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
+ if(isnull(controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET]))
+ return
+ var/mob/living/we = controller.pawn
+ controller.blackboard[BB_STARTING_DIRECTION] = we.dir
+ controller.queue_behavior(/datum/ai_behavior/face_target_or_face_initial, BB_BASIC_MOB_CURRENT_TARGET)
+
+/datum/ai_behavior/face_target_or_face_initial
+
+/datum/ai_behavior/face_target_or_face_initial/setup(datum/ai_controller/controller, target_key)
+ . = ..()
+ var/atom/movable/target = controller.blackboard[target_key]
+ return ismovable(target) && isturf(target.loc) && ismob(controller.pawn)
+
+/datum/ai_behavior/face_target_or_face_initial/perform(seconds_per_tick, datum/ai_controller/controller, target_key)
+ . = ..()
+ var/atom/movable/target = controller.blackboard[target_key]
+ var/mob/living/we = controller.pawn
+ if(isnull(target) || get_dist(we, target) > 8)
+ we.dir = controller.blackboard[BB_STARTING_DIRECTION]
+ finish_action(controller, TRUE)
+ else
+ we.face_atom(target)
+
+/mob/living/basic/statue/mannequin/suspicious
+ name = "mannequin?"
+ desc = "Their eyes follow you."
+ health = 1500 //yeah uhh avoid these
+ maxHealth = 1500
+ ai_controller = /datum/ai_controller/basic_controller/suspicious_mannequin
+
+/datum/ai_controller/basic_controller/suspicious_mannequin
+ blackboard = list(
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
+ BB_AGGRO_RANGE = 14,
+ BB_EMOTE_KEY = "scream", //spooky
+ )
+
+ ai_movement = /datum/ai_movement/jps //threat
+ idle_behavior = null
+ planning_subtrees = list(
+ /datum/ai_planning_subtree/simple_find_target,
+ /datum/ai_planning_subtree/run_emote,
+ /datum/ai_planning_subtree/basic_melee_attack_subtree,
+ )
diff --git a/code/modules/mob/living/basic/vermin/mothroach.dm b/code/modules/mob/living/basic/vermin/mothroach.dm
index 15f82d38f8524..4c06665a14afc 100644
--- a/code/modules/mob/living/basic/vermin/mothroach.dm
+++ b/code/modules/mob/living/basic/vermin/mothroach.dm
@@ -73,3 +73,10 @@
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/mothroach,
)
+
+/mob/living/basic/mothroach/bar
+ name = "mothroach bartender"
+ desc = "A mothroach serving drinks. Look at him go."
+ icon_state = "barroach"
+ icon_living = "barroach"
+ icon_dead = "barroach_dead"
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 657b22ee31b7e..729ef541adeba 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -1420,3 +1420,20 @@
if(item && ((item in organs) || (item in bodyparts))) //let's not do this, aight?
return FALSE
return ..()
+
+/// Helper to cleanly trigger tail wagging
+/// Accepts an optional timeout after which we remove the tail wagging
+/// Returns true if successful, false otherwise
+/mob/living/carbon/proc/wag_tail(timeout = INFINITY)
+ var/obj/item/organ/external/tail/wagged = get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL)
+ if(!wagged)
+ return FALSE
+ return wagged.start_wag(src, timeout)
+
+/// Helper to cleanly stop all tail wagging
+/// Returns true if successful, false otherwise
+/mob/living/carbon/proc/unwag_tail() // can't unwag a tail
+ var/obj/item/organ/external/tail/unwagged = get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL)
+ if(!unwagged)
+ return FALSE
+ return unwagged.stop_wag(src)
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 7c7e84a9ffa65..381e7e24a4566 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -133,10 +133,12 @@
if(!.)
return
var/obj/item/organ/external/tail/oranges_accessory = user.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL)
+ //I am so sorry my son
+ //We bypass helpers here cause we already have the tail
if(oranges_accessory.wag_flags & WAG_WAGGING) //We verified the tail exists in can_run_emote()
- SEND_SIGNAL(user, COMSIG_ORGAN_WAG_TAIL, FALSE)
+ oranges_accessory.stop_wag(src)
else
- SEND_SIGNAL(user, COMSIG_ORGAN_WAG_TAIL, TRUE)
+ oranges_accessory.start_wag(src)
/datum/emote/living/carbon/human/wag/select_message_type(mob/user, intentional)
. = ..()
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index 7e3b0ab0c2ee9..7f13a1954ab84 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -79,13 +79,15 @@
cell = new /obj/item/stock_parts/cell/upgraded(src, 2000)
- var/static/mulebot_count = 0
- mulebot_count += 1
- set_id(suffix || id || "#[mulebot_count]")
- suffix = null
AddElement(/datum/element/ridable, /datum/component/riding/creature/mulebot)
diag_hud_set_mulebotcell()
+ set_id(suffix || assign_random_name())
+ suffix = null
+ if(name == "\improper MULEbot")
+ name = "\improper MULEbot [id]"
+ set_home(loc)
+
/mob/living/simple_animal/bot/mulebot/Exited(atom/movable/gone, direction)
. = ..()
if(gone == load)
@@ -138,6 +140,18 @@
/mob/living/simple_animal/bot/mulebot/proc/set_id(new_id)
id = new_id
+/mob/living/simple_animal/bot/mulebot/proc/set_home(turf/home_loc)
+ if(!istype(home_loc))
+ CRASH("MULEbot [id] was requested to set a home location to [home_loc ? "an invalid home loc ([home_loc.type])" : "null"]")
+
+ var/obj/machinery/navbeacon/home_beacon = locate() in home_loc
+ if(!isnull(home_beacon))
+ home_destination = home_beacon.location
+ log_transport("[id]: MULEbot successfuly set home location to ID [home_destination] at [home_beacon.x], [home_beacon.y], [home_beacon.z]")
+ return
+
+ log_transport("[id]: MULEbot failed to set home at [home_loc.x], [home_loc.y], [home_loc.z]")
+
/mob/living/simple_animal/bot/mulebot/bot_reset()
..()
reached_target = FALSE
@@ -322,19 +336,12 @@
if(new_dest)
set_destination(new_dest)
if("setid")
- var/new_id
- if(pda)
- new_id = tgui_input_text(user, "Enter ID", "ID Assignment", id, MAX_NAME_LEN)
- else
- new_id = params["value"]
+ var/new_id = tgui_input_text(user, "Enter ID", "ID Assignment", id, MAX_NAME_LEN)
if(new_id)
set_id(new_id)
+ name = "\improper MULEbot [new_id]"
if("sethome")
- var/new_home
- if(pda)
- new_home = tgui_input_list(user, "Enter Home", "Mulebot Settings", GLOB.deliverybeacontags, home_destination)
- else
- new_home = params["value"]
+ var/new_home = tgui_input_list(user, "Enter Home", "Mulebot Settings", GLOB.deliverybeacontags, home_destination)
if(new_home)
home_destination = new_home
if("unload")
diff --git a/code/modules/modular_computers/computers/item/pda.dm b/code/modules/modular_computers/computers/item/pda.dm
index 9e81bb2759215..38e64d6742c64 100644
--- a/code/modules/modular_computers/computers/item/pda.dm
+++ b/code/modules/modular_computers/computers/item/pda.dm
@@ -285,6 +285,7 @@
starting_programs = list(
/datum/computer_file/program/contract_uplink,
+ /datum/computer_file/program/secureye/syndicate,
)
/**
diff --git a/code/modules/modular_computers/file_system/programs/robocontrol.dm b/code/modules/modular_computers/file_system/programs/robocontrol.dm
index 00bd00f3e67b5..68f7ba3ddef05 100644
--- a/code/modules/modular_computers/file_system/programs/robocontrol.dm
+++ b/code/modules/modular_computers/file_system/programs/robocontrol.dm
@@ -49,6 +49,7 @@
var/mob/living/simple_animal/bot/mulebot/simple_mulebot = simple_bot
mulelist += list(list(
"name" = simple_mulebot.name,
+ "id" = simple_mulebot.id,
"dest" = simple_mulebot.destination,
"power" = simple_mulebot.cell ? simple_mulebot.cell.percent() : 0,
"home" = simple_mulebot.home_destination,
@@ -56,9 +57,8 @@
"autoPickup" = simple_mulebot.auto_pickup,
"reportDelivery" = simple_mulebot.report_delivery,
"mule_ref" = REF(simple_mulebot),
+ "load" = simple_mulebot.get_load_name(),
))
- if(simple_mulebot.load)
- data["load"] = simple_mulebot.load.name
newbot["mule_check"] = TRUE
botlist += list(newbot)
diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm
index c24b8fd73e8b2..56b7343995a2c 100644
--- a/code/modules/paperwork/ticketmachine.dm
+++ b/code/modules/paperwork/ticketmachine.dm
@@ -39,10 +39,8 @@
tickets.Cut()
return ..()
-/obj/machinery/ticket_machine/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- new /obj/item/wallframe/ticket_machine(loc)
- qdel(src)
+/obj/machinery/ticket_machine/on_deconstruction(disassembled = TRUE)
+ new /obj/item/wallframe/ticket_machine(loc)
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/ticket_machine, 32)
diff --git a/code/modules/plumbing/plumbers/iv_drip.dm b/code/modules/plumbing/plumbers/iv_drip.dm
index 4bf4d71ec9f9f..bbdb80f57b16d 100644
--- a/code/modules/plumbing/plumbers/iv_drip.dm
+++ b/code/modules/plumbing/plumbers/iv_drip.dm
@@ -36,5 +36,5 @@
if(default_unfasten_wrench(user, tool) == SUCCESSFUL_UNFASTEN)
return ITEM_INTERACT_SUCCESS
-/obj/machinery/iv_drip/plumbing/deconstruct(disassembled = TRUE)
+/obj/machinery/iv_drip/plumbing/on_deconstruction(disassembled)
qdel(src)
diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm
index 450142b7e92e4..c36d9c108e28c 100644
--- a/code/modules/power/apc/apc_main.dm
+++ b/code/modules/power/apc/apc_main.dm
@@ -299,9 +299,7 @@
else
. += "The cover is closed."
-/obj/machinery/power/apc/deconstruct(disassembled = TRUE)
- if(obj_flags & NO_DECONSTRUCTION)
- return
+/obj/machinery/power/apc/on_deconstruction(disassembled = TRUE)
if(!(machine_stat & BROKEN))
set_broken()
if(opened != APC_COVER_REMOVED)
diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm
index a2307039959cb..45a8c71d7652a 100644
--- a/code/modules/power/lighting/light.dm
+++ b/code/modules/power/lighting/light.dm
@@ -384,10 +384,7 @@
if (prob(75))
electrocute_mob(user, get_area(src), src, (rand(7,10) * 0.1), TRUE)
-/obj/machinery/light/deconstruct(disassembled = TRUE)
- if(obj_flags & NO_DECONSTRUCTION)
- qdel(src)
- return
+/obj/machinery/light/on_deconstruction(disassembled)
var/obj/structure/light_construct/new_light = null
var/current_stage = 2
if(!disassembled)
@@ -416,7 +413,6 @@
new_light.cell = real_cell
real_cell.forceMove(new_light)
cell = null
- qdel(src)
/obj/machinery/light/attacked_by(obj/item/attacking_object, mob/living/user)
..()
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index a4e24c5a7287b..308b8bc246519 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -189,7 +189,7 @@
return ..()
-/obj/machinery/power/smes/on_deconstruction()
+/obj/machinery/power/smes/on_deconstruction(disassembled)
for(var/obj/item/stock_parts/cell/cell in component_parts)
cell.charge = (charge / capacity) * cell.maxcharge
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 64c09a987ed87..c62552913bbbe 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -121,18 +121,16 @@
visually_turn(new_angle)
azimuth_current = new_angle
-/obj/machinery/power/solar/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(disassembled)
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.forceMove(loc)
- S.give_glass(machine_stat & BROKEN)
- else
- playsound(src, SFX_SHATTER, 70, TRUE)
- new /obj/item/shard(src.loc)
- new /obj/item/shard(src.loc)
- qdel(src)
+/obj/machinery/power/solar/on_deconstruction(disassembled)
+ if(disassembled)
+ var/obj/item/solar_assembly/S = locate() in src
+ if(S)
+ S.forceMove(loc)
+ S.give_glass(machine_stat & BROKEN)
+ else
+ playsound(src, SFX_SHATTER, 70, TRUE)
+ new /obj/item/shard(src.loc)
+ new /obj/item/shard(src.loc)
/obj/machinery/power/solar/update_overlays()
. = ..()
diff --git a/code/modules/power/thermoelectric_generator.dm b/code/modules/power/thermoelectric_generator.dm
index 1f8319ad51d39..bded1482825f2 100644
--- a/code/modules/power/thermoelectric_generator.dm
+++ b/code/modules/power/thermoelectric_generator.dm
@@ -42,7 +42,7 @@
SSair.stop_processing_machine(src)
return ..()
-/obj/machinery/power/thermoelectric_generator/on_deconstruction()
+/obj/machinery/power/thermoelectric_generator/on_deconstruction(disassembled)
null_circulators()
/obj/machinery/power/thermoelectric_generator/update_overlays()
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index d39840f875ebc..a6118e9ac093f 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -137,18 +137,16 @@
playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
unset_control()
-/obj/machinery/power/tracker/deconstruct(disassembled = TRUE)
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(disassembled)
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.forceMove(loc)
- S.give_glass(machine_stat & BROKEN)
- else
- playsound(src, SFX_SHATTER, 70, TRUE)
- new /obj/item/shard(src.loc)
- new /obj/item/shard(src.loc)
- qdel(src)
+/obj/machinery/power/tracker/on_deconstruction(disassembled)
+ if(disassembled)
+ var/obj/item/solar_assembly/S = locate() in src
+ if(S)
+ S.forceMove(loc)
+ S.give_glass(machine_stat & BROKEN)
+ else
+ playsound(src, SFX_SHATTER, 70, TRUE)
+ new /obj/item/shard(src.loc)
+ new /obj/item/shard(src.loc)
// Tracker Electronic
diff --git a/code/modules/power/turbine/turbine.dm b/code/modules/power/turbine/turbine.dm
index fa1a885044a1d..3f4d3fd844650 100644
--- a/code/modules/power/turbine/turbine.dm
+++ b/code/modules/power/turbine/turbine.dm
@@ -179,7 +179,7 @@
if(default_deconstruction_crowbar(tool))
return ITEM_INTERACT_SUCCESS
-/obj/machinery/power/turbine/on_deconstruction()
+/obj/machinery/power/turbine/on_deconstruction(disassembled)
installed_part?.forceMove(loc)
return ..()
@@ -547,7 +547,7 @@
disconnect_from_network()
SSair.stop_processing_machine(src)
-/obj/machinery/power/turbine/core_rotor/on_deconstruction()
+/obj/machinery/power/turbine/core_rotor/on_deconstruction(disassembled)
deactivate_parts()
return ..()
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 0f6ea479a96ce..c3910529fc86b 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -464,7 +464,7 @@
update_appearance()
return TRUE
-/obj/machinery/chem_dispenser/on_deconstruction()
+/obj/machinery/chem_dispenser/on_deconstruction(disassembled)
cell = null
if(beaker)
beaker.forceMove(drop_location())
diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm
index 6c036d37bef01..a07fd289f0784 100644
--- a/code/modules/reagents/chemistry/machinery/chem_heater.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm
@@ -25,7 +25,7 @@
create_reagents(200, NO_REACT)
register_context()
-/obj/machinery/chem_heater/on_deconstruction()
+/obj/machinery/chem_heater/on_deconstruction(disassembled)
beaker?.forceMove(drop_location())
/obj/machinery/chem_heater/Destroy()
diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm
index e49bc3ec5d6b2..c23a86ca9dc86 100644
--- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm
@@ -58,14 +58,13 @@ This will not clean any inverted reagents. Inverted reagents will still be corre
for(var/datum/stock_part/micro_laser/laser in component_parts)
cms_coefficient /= laser.tier
-/obj/machinery/chem_mass_spec/deconstruct(disassembled)
+/obj/machinery/chem_mass_spec/on_deconstruction(disassembled)
if(beaker1)
beaker1.forceMove(drop_location())
beaker1 = null
if(beaker2)
beaker2.forceMove(drop_location())
beaker2 = null
- . = ..()
/obj/machinery/chem_mass_spec/update_overlays()
. = ..()
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index bbc06437b84c7..6c961571b613f 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -59,7 +59,7 @@
QDEL_NULL(beaker)
return ..()
-/obj/machinery/chem_master/on_deconstruction()
+/obj/machinery/chem_master/on_deconstruction(disassembled)
replace_beaker()
return ..()
diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm
index 586cb0ce8fa1f..bbde13c78a818 100644
--- a/code/modules/reagents/chemistry/machinery/pandemic.dm
+++ b/code/modules/reagents/chemistry/machinery/pandemic.dm
@@ -108,7 +108,7 @@
update_appearance()
SStgui.update_uis(src)
-/obj/machinery/computer/pandemic/on_deconstruction()
+/obj/machinery/computer/pandemic/on_deconstruction(disassembled)
eject_beaker()
. = ..()
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index f4be905a0738b..e7a6c9839eb7e 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -42,11 +42,10 @@
QDEL_NULL(beaker)
update_appearance()
-/obj/machinery/reagentgrinder/deconstruct()
+/obj/machinery/reagentgrinder/on_deconstruction(disassmbled)
drop_all_items()
beaker?.forceMove(drop_location())
beaker = null
- return ..()
/obj/machinery/reagentgrinder/Destroy()
QDEL_NULL(beaker)
diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm
index a8d1765891bf1..e91aea78d5995 100644
--- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm
+++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm
@@ -111,10 +111,9 @@
return
return ..()
-/obj/machinery/smoke_machine/deconstruct()
+/obj/machinery/smoke_machine/on_deconstruction(disassembled)
reagents.expose(loc, TOUCH)
reagents.clear_reagents()
- return ..()
/obj/machinery/smoke_machine/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 238f0f5252296..48c30271158f9 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -2858,10 +2858,16 @@
taste_description = "tiny legs scuttling down the back of your throat"
metabolization_rate = 5 * REAGENTS_METABOLISM //1u per second
ph = 4.6 // Ants contain Formic Acid
- /// How much damage the ants are going to be doing (rises with each tick the ants are in someone's body)
- var/ant_damage = 0
+ /// Number of ticks the ants have been in the person's body
+ var/ant_ticks = 0
+ /// Amount of damage done per tick the ants have been in the person's system
+ var/ant_damage = 0.025
/// Tells the debuff how many ants we are being covered with.
var/amount_left = 0
+ /// Decal to spawn when spilled
+ var/ants_decal = /obj/effect/decal/cleanable/ants
+ /// Status effect applied by splashing ants
+ var/status_effect = /datum/status_effect/ants
/// List of possible common statements to scream when eating ants
var/static/list/ant_screams = list(
"THEY'RE UNDER MY SKIN!!",
@@ -2878,15 +2884,15 @@
/datum/reagent/ants/on_mob_life(mob/living/carbon/victim, seconds_per_tick)
. = ..()
- victim.adjustBruteLoss(max(0.1, round((ant_damage * 0.025),0.1))) //Scales with time. Roughly 32 brute with 100u.
- ant_damage++
- if(ant_damage < 5) // Makes ant food a little more appetizing, since you won't be screaming as much.
+ victim.adjustBruteLoss(max(0.1, round((ant_ticks * ant_damage),0.1))) //Scales with time. Roughly 32 brute with 100u.
+ ant_ticks++
+ if(ant_ticks < 5) // Makes ant food a little more appetizing, since you won't be screaming as much.
return
if(SPT_PROB(5, seconds_per_tick))
if(SPT_PROB(5, seconds_per_tick)) //Super rare statement
- victim.say("AUGH NO NOT THE ANTS! NOT THE ANTS! AAAAUUGH THEY'RE IN MY EYES! MY EYES! AUUGH!!", forced = /datum/reagent/ants)
+ victim.say("AUGH NO NOT THE ANTS! NOT THE ANTS! AAAAUUGH THEY'RE IN MY EYES! MY EYES! AUUGH!!", forced = type)
else
- victim.say(pick(ant_screams), forced = /datum/reagent/ants)
+ victim.say(pick(ant_screams), forced = type)
if(SPT_PROB(15, seconds_per_tick))
victim.emote("scream")
if(SPT_PROB(2, seconds_per_tick)) // Stuns, but purges ants.
@@ -2894,8 +2900,8 @@
/datum/reagent/ants/on_mob_end_metabolize(mob/living/living_anthill)
. = ..()
- ant_damage = 0
- to_chat(living_anthill, "You feel like the last of the ants are out of your system.")
+ ant_ticks = 0
+ to_chat(living_anthill, span_notice("You feel like the last of the [name] are out of your system."))
/datum/reagent/ants/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)
. = ..()
@@ -2903,7 +2909,7 @@
return
if(methods & (PATCH|TOUCH|VAPOR))
amount_left = round(reac_volume,0.1)
- exposed_mob.apply_status_effect(/datum/status_effect/ants, amount_left)
+ exposed_mob.apply_status_effect(status_effect, amount_left)
/datum/reagent/ants/expose_obj(obj/exposed_obj, reac_volume)
. = ..()
@@ -2922,14 +2928,28 @@
if((reac_volume <= 10)) // Makes sure people don't duplicate ants.
return
- var/obj/effect/decal/cleanable/ants/pests = exposed_turf.spawn_unique_cleanable(/obj/effect/decal/cleanable/ants)
+ var/obj/effect/decal/cleanable/ants/pests = exposed_turf.spawn_unique_cleanable(ants_decal)
if(!pests)
return
var/spilled_ants = (round(reac_volume,1) - 5) // To account for ant decals giving 3-5 ants on initialize.
- pests.reagents.add_reagent(/datum/reagent/ants, spilled_ants)
+ pests.reagents.add_reagent(type, spilled_ants)
pests.update_ant_damage()
+/datum/reagent/ants/fire
+ name = "Fire ants"
+ description = "A rare mutation of space ants, born from the heat of a plasma fire. Their bites land a 3.7 on the Schmidt Pain Scale."
+ color = "#b51f1f"
+ taste_description = "tiny flaming legs scuttling down the back of your throat"
+ ant_damage = 0.05 // Roughly 64 brute with 100u
+ ants_decal = /obj/effect/decal/cleanable/ants/fire
+ status_effect = /datum/status_effect/ants/fire
+
+/datum/glass_style/drinking_glass/fire_ants
+ required_drink_type = /datum/reagent/ants/fire
+ name = "glass of fire ants"
+ desc = "This is a terrible idea."
+
//This is intended to a be a scarce reagent to gate certain drugs and toxins with. Do not put in a synthesizer. Renewable sources of this reagent should be inefficient.
/datum/reagent/lead
name = "Lead"
diff --git a/code/modules/reagents/reagent_containers/cups/_cup.dm b/code/modules/reagents/reagent_containers/cups/_cup.dm
index ed334adeac036..bdb104a1cfe0b 100644
--- a/code/modules/reagents/reagent_containers/cups/_cup.dm
+++ b/code/modules/reagents/reagent_containers/cups/_cup.dm
@@ -125,6 +125,7 @@
var/trans = reagents.trans_to(target, amount_per_transfer_from_this, transferred_by = user)
to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target]."))
+ SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_TO, target)
else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us.
if(!target.reagents.total_volume)
@@ -137,6 +138,7 @@
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transferred_by = user)
to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [target]."))
+ SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_FROM, target)
target.update_appearance()
diff --git a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm
index 8745e61cd9236..adcd2ff79fab9 100644
--- a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm
+++ b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm
@@ -30,6 +30,7 @@
CALLBACK(src, PROC_REF(on_cup_reset)), \
base_container_type = base_container_type, \
)
+ RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_cleaned))
/obj/item/reagent_containers/cup/glass/drinkingglass/on_reagent_change(datum/reagents/holder, ...)
. = ..()
@@ -46,6 +47,22 @@
. = ..()
fill_icon_thresholds ||= list(0)
+/obj/item/reagent_containers/cup/glass/drinkingglass/examine(mob/user)
+ . = ..()
+ if(HAS_TRAIT(src, TRAIT_WAS_RENAMED))
+ . += span_notice("This glass has been given a custom name. It can be removed by washing it.")
+
+/obj/item/reagent_containers/cup/glass/drinkingglass/proc/on_cleaned(obj/source_component, obj/source)
+ SIGNAL_HANDLER
+ if(!HAS_TRAIT(src, TRAIT_WAS_RENAMED))
+ return
+
+ REMOVE_TRAIT(src, TRAIT_WAS_RENAMED, SHAKER_LABEL_TRAIT)
+ REMOVE_TRAIT(src, TRAIT_WAS_RENAMED, PEN_LABEL_TRAIT)
+ name = initial(name)
+ desc = initial(desc)
+ update_appearance(UPDATE_NAME | UPDATE_DESC)
+
//Shot glasses!//
// This lets us add shots in here instead of lumping them in with drinks because >logic //
// The format for shots is the exact same as iconstates for the drinking glass, except you use a shot glass instead. //
diff --git a/code/modules/reagents/reagent_containers/cups/drinks.dm b/code/modules/reagents/reagent_containers/cups/drinks.dm
index 12a3d023c72ca..cba2f937da49f 100644
--- a/code/modules/reagents/reagent_containers/cups/drinks.dm
+++ b/code/modules/reagents/reagent_containers/cups/drinks.dm
@@ -426,6 +426,7 @@
// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass
// icon states.
+
/obj/item/reagent_containers/cup/glass/shaker
name = "shaker"
desc = "A metal shaker to mix drinks in."
@@ -435,14 +436,86 @@
amount_per_transfer_from_this = 10
volume = 100
isGlass = FALSE
+ /// Whether or not poured drinks should use custom names and descriptions
+ var/using_custom_drinks = FALSE
+ /// Name custom drinks will have
+ var/custom_drink_name = "Custom drink"
+ /// Description custom drinks will have
+ var/custom_drink_desc = "Mixed by your favourite bartender!"
/obj/item/reagent_containers/cup/glass/shaker/Initialize(mapload)
. = ..()
+ register_context()
if(prob(10))
name = "\improper Nanotrasen 20th Anniversary Shaker"
desc += " It has an emblazoned Nanotrasen logo on it."
icon_state = "shaker_n"
+/obj/item/reagent_containers/cup/glass/shaker/add_context(atom/source, list/context, obj/item/held_item, mob/user)
+ . = ..()
+ context[SCREENTIP_CONTEXT_ALT_LMB] = "[using_custom_drinks ? "Disable" : "Enable"] custom drinks"
+ return CONTEXTUAL_SCREENTIP_SET
+
+/obj/item/reagent_containers/cup/glass/shaker/examine(mob/user)
+ . = ..()
+ . += span_notice("Alt-click to [using_custom_drinks ? "disable" : "enable"] custom drink naming")
+ if(using_custom_drinks)
+ . += span_notice("Drinks poured from this shaker will have the following name: [custom_drink_name]")
+ . += span_notice("Drinks poured from this shaker will have the following description: [custom_drink_desc]")
+
+/obj/item/reagent_containers/cup/glass/shaker/AltClick(mob/user)
+ . = ..()
+ if(!user.can_perform_action(src, NEED_HANDS|FORBID_TELEKINESIS_REACH))
+ return
+
+ if(using_custom_drinks)
+ using_custom_drinks = FALSE
+ disable_custom_drinks()
+ balloon_alert(user, "custom drinks disabled")
+ return
+
+ var/new_name = reject_bad_text(tgui_input_text(user, "Drink name", "Set drink name", custom_drink_name, 45, FALSE), 64)
+ if(!new_name)
+ balloon_alert(user, "invalid drink name!")
+ using_custom_drinks = FALSE
+ return
+
+ if(!user.can_perform_action(src, NEED_HANDS|FORBID_TELEKINESIS_REACH))
+ return
+
+ var/new_desc = reject_bad_text(tgui_input_text(user, "Drink description", "Set drink description", custom_drink_desc, 64, TRUE), 128)
+ if(!new_desc)
+ balloon_alert(user, "invalid drink description!")
+ using_custom_drinks = FALSE
+ return
+
+ if(!user.can_perform_action(src, NEED_HANDS|FORBID_TELEKINESIS_REACH))
+ return
+
+ using_custom_drinks = TRUE
+ custom_drink_name = new_name
+ custom_drink_desc = new_desc
+
+ enable_custom_drinks()
+ balloon_alert(user, "now pouring custom drinks")
+
+/obj/item/reagent_containers/cup/glass/shaker/proc/enable_custom_drinks()
+ RegisterSignal(src, COMSIG_REAGENTS_CUP_TRANSFER_TO, PROC_REF(handle_transfer))
+
+/obj/item/reagent_containers/cup/glass/shaker/proc/disable_custom_drinks()
+ UnregisterSignal(src, COMSIG_REAGENTS_CUP_TRANSFER_TO)
+
+/obj/item/reagent_containers/cup/glass/shaker/proc/handle_transfer(atom/origin, atom/target)
+ SIGNAL_HANDLER
+ // Should only work on drinking/shot glasses
+ if(!istype(target, /obj/item/reagent_containers/cup/glass/drinkingglass))
+ return
+
+ var/obj/item/reagent_containers/cup/glass/drinkingglass/target_glass = target
+ target_glass.name = custom_drink_name
+ target_glass.desc = custom_drink_desc
+ ADD_TRAIT(target_glass, TRAIT_WAS_RENAMED, SHAKER_LABEL_TRAIT)
+
/obj/item/reagent_containers/cup/glass/flask
name = "flask"
desc = "Every good spaceman knows it's a good idea to bring along a couple of pints of whiskey wherever they go."
diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm
index 47f477382e491..b966ca1db6caa 100644
--- a/code/modules/recycling/disposal/bin.dm
+++ b/code/modules/recycling/disposal/bin.dm
@@ -276,20 +276,18 @@
H.vent_gas(loc)
qdel(H)
-/obj/machinery/disposal/deconstruct(disassembled = TRUE)
+/obj/machinery/disposal/on_deconstruction(disassembled)
var/turf/T = loc
- if(!(obj_flags & NO_DECONSTRUCTION))
- if(stored)
- var/obj/structure/disposalconstruct/construct = stored
- stored = null
- construct.forceMove(T)
- transfer_fingerprints_to(construct)
- construct.set_anchored(FALSE)
- construct.set_density(TRUE)
- construct.update_appearance()
+ if(stored)
+ var/obj/structure/disposalconstruct/construct = stored
+ stored = null
+ construct.forceMove(T)
+ transfer_fingerprints_to(construct)
+ construct.set_anchored(FALSE)
+ construct.set_density(TRUE)
+ construct.update_appearance()
for(var/atom/movable/AM in src) //out, out, darned crowbar!
AM.forceMove(T)
- ..()
///How disposal handles getting a storage dump from a storage object
/obj/machinery/disposal/proc/on_storage_dump(datum/source, datum/storage/storage, mob/user)
diff --git a/code/modules/research/anomaly/anomaly_refinery.dm b/code/modules/research/anomaly/anomaly_refinery.dm
index 533443a199557..1805a25231833 100644
--- a/code/modules/research/anomaly/anomaly_refinery.dm
+++ b/code/modules/research/anomaly/anomaly_refinery.dm
@@ -295,7 +295,7 @@
return FALSE
tank_to_target = (tank_to_target == inserted_bomb.tank_one) ? inserted_bomb.tank_two : inserted_bomb.tank_one
-/obj/machinery/research/anomaly_refinery/on_deconstruction()
+/obj/machinery/research/anomaly_refinery/on_deconstruction(disassembled)
eject_bomb()
eject_core()
return ..()
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 0b09edf44ac94..46e43b0ac6661 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -679,28 +679,64 @@
/datum/design/implant_chem
name = "Chemical Implant Case"
- desc = "A glass case containing an implant."
+ desc = "A glass case containing a chemical implant."
id = "implant_chem"
build_type = PROTOLATHE | AWAY_LATHE
- materials = list(/datum/material/glass = SMALL_MATERIAL_AMOUNT*7)
+ materials = list(/datum/material/glass = SMALL_MATERIAL_AMOUNT * 7)
build_path = /obj/item/implantcase/chem
category = list(
- RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_MISC
+ RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_SECURITY
)
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_MEDICAL
/datum/design/implant_tracking
name = "Tracking Implant Case"
- desc = "A glass case containing an implant."
+ desc = "A glass case containing a tracking implant."
id = "implant_tracking"
build_type = PROTOLATHE | AWAY_LATHE
- materials = list(/datum/material/iron =SMALL_MATERIAL_AMOUNT*5, /datum/material/glass =SMALL_MATERIAL_AMOUNT*5)
+ materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 5, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 5)
build_path = /obj/item/implantcase/tracking
category = list(
- RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_MISC
+ RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_SECURITY
)
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_MEDICAL
+/datum/design/implant_beacon
+ name = "Beacon Implant Case"
+ desc = "A glass case containing a beacon implant."
+ id = "implant_beacon"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 5, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 5, /datum/material/bluespace = SMALL_MATERIAL_AMOUNT * 3)
+ build_path = /obj/item/implantcase/beacon
+ category = list(
+ RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_SECURITY
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/implant_bluespace
+ name = "Bluespace Grounding Implant Case"
+ desc = "A glass case containing a teleport blocker implant."
+ id = "implant_bluespace"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 5, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 5, /datum/material/bluespace = SMALL_MATERIAL_AMOUNT * 3)
+ build_path = /obj/item/implantcase/teleport_blocker
+ category = list(
+ RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_SECURITY
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/implant_exile
+ name = "Exile Implant Case"
+ desc = "A glass case containing an exile implant."
+ id = "implant_exile"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 5, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 5, /datum/material/titanium = SMALL_MATERIAL_AMOUNT * 3)
+ build_path = /obj/item/implantcase/exile
+ category = list(
+ RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_SECURITY
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
//Cybernetic organs
/datum/design/cybernetic_liver
diff --git a/code/modules/research/machinery/protolathe.dm b/code/modules/research/machinery/protolathe.dm
index fb912bba67ca0..7a81a5cd36f19 100644
--- a/code/modules/research/machinery/protolathe.dm
+++ b/code/modules/research/machinery/protolathe.dm
@@ -6,7 +6,7 @@
production_animation = "protolathe_n"
allowed_buildtypes = PROTOLATHE
-/obj/machinery/rnd/production/protolathe/deconstruct(disassembled)
+/obj/machinery/rnd/production/protolathe/on_deconstruction(disassembled)
log_game("Protolathe of type [type] [disassembled ? "disassembled" : "deconstructed"] by [key_name(usr)] at [get_area_name(src, TRUE)]")
return ..()
diff --git a/code/modules/research/ordnance/doppler_array.dm b/code/modules/research/ordnance/doppler_array.dm
index a109e5061df1b..6ed039a20622b 100644
--- a/code/modules/research/ordnance/doppler_array.dm
+++ b/code/modules/research/ordnance/doppler_array.dm
@@ -237,7 +237,7 @@
else if (machine_stat & NOPOWER)
. += mutable_appearance(icon, "[base_icon_state]_screen-off")
-/obj/machinery/doppler_array/on_deconstruction()
+/obj/machinery/doppler_array/on_deconstruction(disassembled)
eject_disk()
. = ..()
diff --git a/code/modules/research/ordnance/tank_compressor.dm b/code/modules/research/ordnance/tank_compressor.dm
index ff03b368291c5..830c004acad5e 100644
--- a/code/modules/research/ordnance/tank_compressor.dm
+++ b/code/modules/research/ordnance/tank_compressor.dm
@@ -238,7 +238,7 @@
update_appearance()
return ..()
-/obj/machinery/atmospherics/components/binary/tank_compressor/on_deconstruction()
+/obj/machinery/atmospherics/components/binary/tank_compressor/on_deconstruction(disassembled)
eject_tank()
eject_disk()
return ..()
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index a8fa3e36d4735..58d7f1f29cf3d 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -150,7 +150,7 @@
return TRUE
//we eject the loaded item when deconstructing the machine
-/obj/machinery/rnd/on_deconstruction()
+/obj/machinery/rnd/on_deconstruction(disassembled)
if(loaded_item)
loaded_item.forceMove(drop_location())
..()
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index b3c10eaac93b8..e446672bc33a9 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -230,7 +230,7 @@
to_chat(user, span_notice("You delicately cut the wire. [hdd_wires] wire\s left..."))
return TRUE
-/obj/machinery/rnd/server/master/on_deconstruction()
+/obj/machinery/rnd/server/master/on_deconstruction(disassembled)
// If the machine contains a source code HDD, destroying it will negatively impact research speed. Safest to log this.
if(source_code_hdd)
// Destroyed with a hard drive inside = harm income
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index 6cd0688eae6c9..32d834a19baef 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -1340,12 +1340,24 @@
"c38_trac",
"implant_chem",
"implant_tracking",
+ "implant_exile",
"implantcase",
"implanter",
"locator",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
+/datum/techweb_node/advanced_implants
+ id = "adv_subdermal_implants"
+ display_name = "Advanced Subdermal Implants"
+ description = "Subdermal implants that leverage bluespace research to control their bluespace signature."
+ prereq_ids = list("subdermal_implants", "micro_bluespace")
+ design_ids = list(
+ "implant_beacon",
+ "implant_bluespace",
+ )
+ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
+
/datum/techweb_node/cyber_organs
id = "cyber_organs"
display_name = "Cybernetic Organs"
diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm
index b28d6841512f9..1d2e6b6838167 100644
--- a/code/modules/surgery/lipoplasty.dm
+++ b/code/modules/surgery/lipoplasty.dm
@@ -10,7 +10,7 @@
)
/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target)
- if(!HAS_TRAIT(target, TRAIT_FAT) || target.nutrition >= NUTRITION_LEVEL_WELL_FED)
+ if(!HAS_TRAIT(target, TRAIT_FAT) || target.nutrition < NUTRITION_LEVEL_WELL_FED)
return FALSE
return ..()
diff --git a/code/modules/surgery/organs/external/tails.dm b/code/modules/surgery/organs/external/tails.dm
index 5c1ec393d5d21..17be616ba7935 100644
--- a/code/modules/surgery/organs/external/tails.dm
+++ b/code/modules/surgery/organs/external/tails.dm
@@ -23,7 +23,6 @@
/obj/item/organ/external/tail/Insert(mob/living/carbon/receiver, special, movement_flags)
. = ..()
if(.)
- RegisterSignal(receiver, COMSIG_ORGAN_WAG_TAIL, PROC_REF(wag))
original_owner ||= WEAKREF(receiver)
receiver.clear_mood_event("tail_lost")
@@ -74,54 +73,58 @@
. = ..()
if(wag_flags & WAG_WAGGING)
- wag(organ_owner, start = FALSE)
-
- UnregisterSignal(organ_owner, COMSIG_ORGAN_WAG_TAIL)
+ stop_wag(organ_owner)
if(type in organ_owner.dna.species.external_organs)
organ_owner.add_mood_event("tail_lost", /datum/mood_event/tail_lost)
organ_owner.add_mood_event("tail_balance_lost", /datum/mood_event/tail_balance_lost)
-/obj/item/organ/external/tail/proc/wag(mob/living/carbon/organ_owner, start = TRUE, stop_after = 0)
- if(!(wag_flags & WAG_ABLE))
- return
-
- if(start)
- if(start_wag(organ_owner) && stop_after)
- addtimer(CALLBACK(src, PROC_REF(wag), organ_owner, FALSE), stop_after, TIMER_STOPPABLE|TIMER_DELETE_ME)
- else
- stop_wag(organ_owner)
-
///We need some special behaviour for accessories, wrapped here so we can easily add more interactions later
-/obj/item/organ/external/tail/proc/start_wag(mob/living/carbon/organ_owner)
- if(wag_flags & WAG_WAGGING) // we are already wagging
+///Accepts an optional timeout after which we remove the tail wagging
+///Returns false if the wag worked, true otherwise
+/obj/item/organ/external/tail/proc/start_wag(mob/living/carbon/organ_owner, stop_after = INFINITY)
+ if(wag_flags & WAG_WAGGING || !(wag_flags & WAG_ABLE)) // we are already wagging
return FALSE
if(organ_owner.stat == DEAD || organ_owner != owner) // no wagging when owner is dead or tail has been disembodied
return FALSE
+ if(stop_after != INFINITY)
+ addtimer(CALLBACK(src, PROC_REF(stop_wag), organ_owner), stop_after, TIMER_STOPPABLE|TIMER_DELETE_ME)
+
var/datum/bodypart_overlay/mutant/tail/accessory = bodypart_overlay
wag_flags |= WAG_WAGGING
accessory.wagging = TRUE
if(tail_spines_overlay) //if there are spines, they should wag with the tail
tail_spines_overlay.wagging = TRUE
organ_owner.update_body_parts()
- RegisterSignal(organ_owner, COMSIG_LIVING_DEATH, PROC_REF(stop_wag))
+ RegisterSignal(organ_owner, COMSIG_LIVING_DEATH, PROC_REF(owner_died))
return TRUE
+/obj/item/organ/external/tail/proc/owner_died(mob/living/carbon/organ_owner) // Resisting the urge to replace owner with daddy
+ SIGNAL_HANDLER
+ stop_wag(organ_owner)
+
///We need some special behaviour for accessories, wrapped here so we can easily add more interactions later
+///Returns false if the wag stopping worked, true otherwise
/obj/item/organ/external/tail/proc/stop_wag(mob/living/carbon/organ_owner)
- SIGNAL_HANDLER
+ if(!(wag_flags & WAG_ABLE))
+ return FALSE
- var/datum/bodypart_overlay/mutant/tail/accessory = bodypart_overlay
- wag_flags &= ~WAG_WAGGING
- accessory.wagging = FALSE
+ var/succeeded = FALSE
+ if(wag_flags & WAG_WAGGING)
+ wag_flags &= ~WAG_WAGGING
+ succeeded = TRUE
+
+ var/datum/bodypart_overlay/mutant/tail/tail_overlay = bodypart_overlay
+ tail_overlay.wagging = FALSE
if(tail_spines_overlay) //if there are spines, they should stop wagging with the tail
tail_spines_overlay.wagging = FALSE
if(isnull(organ_owner))
- return
+ return succeeded
organ_owner.update_body_parts()
UnregisterSignal(organ_owner, COMSIG_LIVING_DEATH)
+ return succeeded
///Tail parent type, with wagging functionality
/datum/bodypart_overlay/mutant/tail
diff --git a/code/modules/transport/tram/tram_controller.dm b/code/modules/transport/tram/tram_controller.dm
index 5665755520e66..c7fc895184fe8 100644
--- a/code/modules/transport/tram/tram_controller.dm
+++ b/code/modules/transport/tram/tram_controller.dm
@@ -672,6 +672,11 @@
dispatch_transport(destination_platform = push_destination)
return push_destination
+
+/datum/transport_controller/linear/tram/slow //for some reason speed is set to initial() in the code but if i touched it it would probably break so
+ speed_limiter = 3
+ base_speed_limiter = 3
+
/**
* The physical cabinet on the tram. Acts as the interface between players and the controller datum.
*/
@@ -852,10 +857,7 @@
balloon_alert(user, "[panel_open ? "mounting bolts exposed" : "mounting bolts hidden"]")
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
-/obj/machinery/transport/tram_controller/deconstruct(disassembled = TRUE)
- if(obj_flags & NO_DECONSTRUCTION)
- return
-
+/obj/machinery/transport/tram_controller/on_deconstruction(disassembled)
var/turf/drop_location = find_obstruction_free_location(1, src)
if(disassembled)
@@ -863,7 +865,6 @@
else
new /obj/item/stack/sheet/mineral/titanium(drop_location, 2)
new /obj/item/stack/sheet/iron(drop_location, 1)
- qdel(src)
/**
* Update the blinky lights based on the controller status, allowing to quickly check without opening up the cabinet.
diff --git a/code/modules/transport/tram/tram_displays.dm b/code/modules/transport/tram/tram_displays.dm
index 0e36295f97ec7..47fe21f2ff19e 100644
--- a/code/modules/transport/tram/tram_displays.dm
+++ b/code/modules/transport/tram/tram_displays.dm
@@ -81,9 +81,7 @@
if(panel_open)
. += span_notice("It is secured to the tram wall with [EXAMINE_HINT("bolts.")]")
-/obj/machinery/transport/destination_sign/deconstruct(disassembled = TRUE)
- if(obj_flags & NO_DECONSTRUCTION)
- return
+/obj/machinery/transport/destination_sign/on_deconstruction(disassembled)
if(disassembled)
new /obj/item/wallframe/indicator_display(drop_location())
else
@@ -91,7 +89,6 @@
new /obj/item/stack/sheet/iron(drop_location(), 1)
new /obj/item/shard(drop_location())
new /obj/item/shard(drop_location())
- qdel(src)
/obj/machinery/transport/destination_sign/indicator/wrench_act_secondary(mob/living/user, obj/item/tool)
. = ..()
diff --git a/code/modules/transport/transport_module.dm b/code/modules/transport/transport_module.dm
index 7a57529b8ff22..89a7333865e17 100644
--- a/code/modules/transport/transport_module.dm
+++ b/code/modules/transport/transport_module.dm
@@ -86,6 +86,7 @@
if(radial_travel)
AddElement(/datum/element/contextual_screentip_bare_hands, lmb_text = "Send Transport")
+ ADD_TRAIT(src, TRAIT_CHASM_STOPPER, INNATE_TRAIT)
set_movement_registrations()
//since transport_controller datums find all connected platforms when a transport structure first creates it and then
@@ -936,3 +937,7 @@
var/throw_target = get_edge_target_turf(src, throw_direction)
var/datum/callback/land_slam = new(passenger, TYPE_PROC_REF(/mob/living/, tram_slam_land))
passenger.throw_at(throw_target, 400, 4, force = MOVE_FORCE_OVERPOWERING, callback = land_slam)
+
+/obj/structure/transport/linear/tram/slow
+ transport_controller_type = /datum/transport_controller/linear/tram/slow
+ speed_limiter = /datum/transport_controller/linear/tram/slow::speed_limiter
diff --git a/code/modules/unit_tests/tail_wag.dm b/code/modules/unit_tests/tail_wag.dm
index ceb82e98c0d6b..3868bb2c0e005 100644
--- a/code/modules/unit_tests/tail_wag.dm
+++ b/code/modules/unit_tests/tail_wag.dm
@@ -11,12 +11,12 @@
// SANITY TEST
// start wagging
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, TRUE)
+ dummy.wag_tail()
if(!(dummy_tail.wag_flags & WAG_WAGGING))
TEST_FAIL("Tail did not start wagging when it should have!")
// stop wagging
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, FALSE)
+ dummy.unwag_tail()
if(dummy_tail.wag_flags & WAG_WAGGING)
TEST_FAIL("Tail did not stop wagging when it should have!")
@@ -26,7 +26,7 @@
dummy_tail.wag_flags &= ~WAG_ABLE
// try to wag it again
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, TRUE)
+ dummy.wag_tail()
if(dummy_tail.wag_flags & WAG_WAGGING)
TEST_FAIL("Tail should not have the ability to wag, yet it did!")
@@ -34,19 +34,19 @@
dummy_tail.wag_flags |= WAG_ABLE
// start wagging again
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, TRUE)
+ dummy.wag_tail()
if(!(dummy_tail.wag_flags & WAG_WAGGING))
TEST_FAIL("Tail did not start wagging when it should have!")
// TESTING STOP_AFTER
// stop wagging
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, FALSE)
+ dummy.unwag_tail()
if(dummy_tail.wag_flags & WAG_WAGGING)
TEST_FAIL("Tail did not stop wagging when it should have!")
// start wagging, stop after 0.1 seconds
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, TRUE, 0.1 SECONDS)
+ dummy.wag_tail(0.1 SECONDS)
// because timers are a pain
addtimer(VARSET_CALLBACK(src, timer_finished, TRUE), 0.2 SECONDS)
if(!(dummy_tail.wag_flags & WAG_WAGGING))
@@ -67,7 +67,7 @@
TEST_FAIL("Tail was still wagging after being removed!")
// try to wag the removed tail
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, TRUE)
+ dummy.wag_tail()
if(dummy_tail.wag_flags & WAG_WAGGING)
TEST_FAIL("A disembodied tail was able to start wagging!")
@@ -75,7 +75,7 @@
// put it back and start wagging again
dummy_tail.Insert(dummy, special = TRUE, movement_flags = DELETE_IF_REPLACED)
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, TRUE)
+ dummy.wag_tail()
if(!(dummy_tail.wag_flags & WAG_WAGGING))
TEST_FAIL("Tail did not start wagging when it should have!")
@@ -85,6 +85,6 @@
TEST_FAIL("A mob's tail was still wagging after being killed!")
// check if we are still able to wag the tail after death
- SEND_SIGNAL(dummy, COMSIG_ORGAN_WAG_TAIL, TRUE)
+ dummy.wag_tail()
if(dummy_tail.wag_flags & WAG_WAGGING)
TEST_FAIL("A dead mob was able to wag their tail!")
diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm
index 41ed5a0445782..47bb966555686 100644
--- a/code/modules/vending/_vending.dm
+++ b/code/modules/vending/_vending.dm
@@ -298,12 +298,10 @@
for(var/obj/item/vending_refill/installed_refill in component_parts)
restock(installed_refill)
-/obj/machinery/vending/deconstruct(disassembled = TRUE)
+/obj/machinery/vending/on_deconstruction(disassembled)
if(refill_canister)
return ..()
- if(!(obj_flags & NO_DECONSTRUCTION)) //the non constructable vendors drop metal instead of a machine frame.
- new /obj/item/stack/sheet/iron(loc, 3)
- qdel(src)
+ new /obj/item/stack/sheet/iron(loc, 3)
/obj/machinery/vending/update_appearance(updates=ALL)
. = ..()
@@ -1085,7 +1083,7 @@
replacer.play_rped_sound()
return TRUE
-/obj/machinery/vending/on_deconstruction()
+/obj/machinery/vending/on_deconstruction(disassembled)
update_canister()
. = ..()
@@ -1656,14 +1654,13 @@
/obj/machinery/vending/custom/crowbar_act(mob/living/user, obj/item/attack_item)
return FALSE
-/obj/machinery/vending/custom/deconstruct(disassembled)
+/obj/machinery/vending/custom/on_deconstruction(disassembled)
unbuckle_all_mobs(TRUE)
var/turf/current_turf = get_turf(src)
if(current_turf)
for(var/obj/item/stored_item in contents)
stored_item.forceMove(current_turf)
explosion(src, devastation_range = -1, light_impact_range = 3)
- return ..()
/**
* Vends an item to the user. Handles all the logic:
diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm
index f41d4fa8bf191..57bb2ed45cbb3 100644
--- a/code/modules/wiremod/shell/brain_computer_interface.dm
+++ b/code/modules/wiremod/shell/brain_computer_interface.dm
@@ -283,7 +283,7 @@
. = ..()
occupant_typecache = typecacheof(/mob/living/carbon)
-/obj/machinery/bci_implanter/on_deconstruction()
+/obj/machinery/bci_implanter/on_deconstruction(disassembled)
drop_stored_bci()
/obj/machinery/bci_implanter/Destroy()
diff --git a/config/awaymissionconfig.txt b/config/awaymissionconfig.txt
index 5338ae36cc6f1..15d6b0ac71871 100644
--- a/config/awaymissionconfig.txt
+++ b/config/awaymissionconfig.txt
@@ -7,12 +7,11 @@
#Do NOT tick the maps during compile -- the game uses this list to decide which map to load. Ticking the maps will result in them ALL being loaded at once.
#DO tick the associated code file for the away mission you are enabling. Otherwise, the map will be trying to reference objects which do not exist, which will cause runtime errors!
-#_maps/RandomZLevels/blackmarketpackers.dmm
#_maps/RandomZLevels/TheBeach.dmm
-#_maps/RandomZLevels/centcomAway.dmm
#_maps/RandomZLevels/moonoutpost19.dmm
#_maps/RandomZLevels/undergroundoutpost45.dmm
#_maps/RandomZLevels/caves.dmm
#_maps/RandomZLevels/snowdin.dmm
#_maps/RandomZLevels/research.dmm
#_maps/RandomZLevels/SnowCabin.dmm
+#_maps/RandomZLevels/museum.dmm
diff --git a/html/changelogs/AutoChangeLog-pr-81208.yml b/html/changelogs/AutoChangeLog-pr-81208.yml
new file mode 100644
index 0000000000000..e1a0d01b53bde
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81208.yml
@@ -0,0 +1,4 @@
+author: "mc-oofert"
+delete-after: True
+changes:
+ - rscadd: "nanotrasen museum gateway map"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81234.yml b/html/changelogs/AutoChangeLog-pr-81234.yml
new file mode 100644
index 0000000000000..6e53716b6fd5f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81234.yml
@@ -0,0 +1,4 @@
+author: "Momo8289"
+delete-after: True
+changes:
+ - rscadd: "Shakers can now pour drinks with custom names and descriptions! Alt-click the shaker to enable this."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81291.yml b/html/changelogs/AutoChangeLog-pr-81291.yml
new file mode 100644
index 0000000000000..e034545075fef
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81291.yml
@@ -0,0 +1,5 @@
+author: "SyncIt21"
+delete-after: True
+changes:
+ - bugfix: "machines that should not drop contents when deleted no longer do."
+ - refactor: "refactors how machines are deconstructed. report bugs on github."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81293.yml b/html/changelogs/AutoChangeLog-pr-81293.yml
new file mode 100644
index 0000000000000..9c7f794a5928d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81293.yml
@@ -0,0 +1,4 @@
+author: "Xander3359"
+delete-after: True
+changes:
+ - balance: "Contractor kit no longer gets RNG items, it's a specific pool now"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81328.yml b/html/changelogs/AutoChangeLog-pr-81328.yml
new file mode 100644
index 0000000000000..5f610c3a788dc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81328.yml
@@ -0,0 +1,4 @@
+author: "Melbert"
+delete-after: True
+changes:
+ - qol: "Glasses colors should be a lot less harsh, and being blind no longer also blinds your hud."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81364.yml b/html/changelogs/AutoChangeLog-pr-81364.yml
deleted file mode 100644
index aa8ad537b2ed6..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81364.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Melbert"
-delete-after: True
-changes:
- - balance: "Rats are now 5x less likely to decide to eat a cable when idling. (1%, down from 5%)"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81367.yml b/html/changelogs/AutoChangeLog-pr-81367.yml
deleted file mode 100644
index 336fefb2e7497..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81367.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Melbert"
-delete-after: True
-changes:
- - refactor: "Fire effects get added to mobs in a different way now. Maybe it will get stuck less. Report any oddities."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81368.yml b/html/changelogs/AutoChangeLog-pr-81368.yml
deleted file mode 100644
index e4e5edda82dc5..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81368.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "JohnFulpWillard"
-delete-after: True
-changes:
- - bugfix: "Bar bots asking for Cucumber Lemonade now gives you money for completing it."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81370.yml b/html/changelogs/AutoChangeLog-pr-81370.yml
deleted file mode 100644
index 62147dfb7e88c..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81370.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "JohnFulpWillard"
-delete-after: True
-changes:
- - bugfix: "Space Dragon's carp allies no longer turn the entire roundend report into bold."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81372.yml b/html/changelogs/AutoChangeLog-pr-81372.yml
deleted file mode 100644
index efbf7ba1c6739..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81372.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "JohnFulpWillard"
-delete-after: True
-changes:
- - bugfix: "Uplinks now update their UI when you add telecrystals in them, so you don't need to close and reopen it."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81374.yml b/html/changelogs/AutoChangeLog-pr-81374.yml
deleted file mode 100644
index 718ea78e81c20..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81374.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "necromanceranne"
-delete-after: True
-changes:
- - bugfix: "The shove blocker module parent type now has the correct typepath."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81375.yml b/html/changelogs/AutoChangeLog-pr-81375.yml
deleted file mode 100644
index a45fe58737d5d..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81375.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "SyncIt21"
-delete-after: True
-changes:
- - bugfix: "lathes now use moderate power for printing operations"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81377.yml b/html/changelogs/AutoChangeLog-pr-81377.yml
deleted file mode 100644
index 12be442e6a62f..0000000000000
--- a/html/changelogs/AutoChangeLog-pr-81377.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Rhials"
-delete-after: True
-changes:
- - bugfix: "You can now refine ectoplasmic raw cores at the implosion machine thing."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81380.yml b/html/changelogs/AutoChangeLog-pr-81380.yml
new file mode 100644
index 0000000000000..878839f735052
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81380.yml
@@ -0,0 +1,6 @@
+author: "LT3"
+delete-after: True
+changes:
+ - bugfix: "MULEbot will correctly display its loaded cargo on BotKeeper"
+ - bugfix: "MULEbot home beacon can be set from control panel"
+ - code_imp: "MULEbot home location is automatically set on init"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81387.yml b/html/changelogs/AutoChangeLog-pr-81387.yml
new file mode 100644
index 0000000000000..84ce28922970a
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81387.yml
@@ -0,0 +1,4 @@
+author: "Atlasle, JohnFulpWillard"
+delete-after: True
+changes:
+ - rscadd: "Adds the Touchy quirk, you need to be next to something to examine it, for 2 extra quirk points."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81389.yml b/html/changelogs/AutoChangeLog-pr-81389.yml
new file mode 100644
index 0000000000000..42cddc5625287
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81389.yml
@@ -0,0 +1,4 @@
+author: "Melbert"
+delete-after: True
+changes:
+ - bugfix: "Lavaland Beech Bartender's clothing storage is named the right thing now"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81397.yml b/html/changelogs/AutoChangeLog-pr-81397.yml
new file mode 100644
index 0000000000000..b8428d57f91e2
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81397.yml
@@ -0,0 +1,4 @@
+author: "Melbert"
+delete-after: True
+changes:
+ - bugfix: "Lipoplasty is An Option again"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81398.yml b/html/changelogs/AutoChangeLog-pr-81398.yml
new file mode 100644
index 0000000000000..ecc8149a3aaa3
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81398.yml
@@ -0,0 +1,4 @@
+author: "Ed640"
+delete-after: True
+changes:
+ - bugfix: "Sculpted statues stop including light layers."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81412.yml b/html/changelogs/AutoChangeLog-pr-81412.yml
new file mode 100644
index 0000000000000..0654d91353472
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81412.yml
@@ -0,0 +1,4 @@
+author: "Thunder12345"
+delete-after: True
+changes:
+ - bugfix: "The wizard's pets Jimmy and Jommy no longer fight to the death."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-81415.yml b/html/changelogs/AutoChangeLog-pr-81415.yml
new file mode 100644
index 0000000000000..5feb76d047fbe
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-81415.yml
@@ -0,0 +1,4 @@
+author: "Rhials"
+delete-after: True
+changes:
+ - bugfix: "You can now click things as an alien larva again."
\ No newline at end of file
diff --git a/html/changelogs/archive/2024-02.yml b/html/changelogs/archive/2024-02.yml
index e9299211d16b6..079c5c6b6440c 100644
--- a/html/changelogs/archive/2024-02.yml
+++ b/html/changelogs/archive/2024-02.yml
@@ -269,3 +269,44 @@
the cost of another station's cryo cells. Who knows!
larentoun:
- bugfix: Now falsewalls visually don't close when they shouldn't.
+2024-02-11:
+ Absolucy:
+ - bugfix: Fix succumb last words being double-encoded (i.e `i'm` becoming `i'lm`)
+ Higgin:
+ - bugfix: deathtrap recycler can now be moved.
+ - refactor: moved check for NO_DECONSTRUCTION flag to be inside can_be_unfasten_wrench,
+ allowing us to set specific machines to be movable but not deconstructable.
+ JohnFulpWillard:
+ - bugfix: Space Dragon's carp allies no longer turn the entire roundend report into
+ bold.
+ - bugfix: Uplinks now update their UI when you add telecrystals in them, so you
+ don't need to close and reopen it.
+ - bugfix: Bar bots asking for Cucumber Lemonade now gives you money for completing
+ it.
+ Melbert:
+ - balance: Rats are now 5x less likely to decide to eat a cable when idling. (1%,
+ down from 5%)
+ - refactor: Fire effects get added to mobs in a different way now. Maybe it will
+ get stuck less. Report any oddities.
+ - rscadd: Freedom Implants and Biodegrade can you free you of the shackles of knotted
+ shoes.
+ - rscadd: Shaft Miner's Bluespace Survival Capsules will now throw people away from
+ it when it deploys. Be sure to heed the warning to "Stand back".
+ Momo8289:
+ - rscadd: Fire ants can now be scooped up and used as a chem like normal space ants
+ Rhials:
+ - bugfix: You can now refine ectoplasmic raw cores at the implosion machine thing.
+ - balance: Beacon and Teleport Blocker implants have been moved from cargo to the
+ security lathe.
+ - balance: A new research node has been created, requiring Subdermal Implants and
+ Miniature Bluespace, to unlock Beacon/Teleport Blocker implants.
+ - balance: Exile implants can now be printed from the security lathe after researching
+ basic cybernetic implants.
+ - bugfix: The Energy Cake slice now does its on-eat effect AFTER being eaten, instead
+ of before.
+ - bugfix: The beach bar virtual domain's bar closets no longer have default locker
+ doors.
+ SyncIt21:
+ - bugfix: lathes now use moderate power for printing operations
+ necromanceranne:
+ - bugfix: The shove blocker module parent type now has the correct typepath.
diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi
index 072fbe0255848..0b01e4dd6a8cb 100644
Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ
diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi
index d28d2770ec4fb..351bb5f00c4aa 100644
Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ
diff --git a/icons/mob/simple/animal.dmi b/icons/mob/simple/animal.dmi
index 3bd3438bc62d5..7fcf0e9d65e79 100644
Binary files a/icons/mob/simple/animal.dmi and b/icons/mob/simple/animal.dmi differ
diff --git a/icons/obj/fluff/general.dmi b/icons/obj/fluff/general.dmi
index 2628eea874694..1aa7ae5c89857 100644
Binary files a/icons/obj/fluff/general.dmi and b/icons/obj/fluff/general.dmi differ
diff --git a/icons/obj/machines/computer.dmi b/icons/obj/machines/computer.dmi
index cba0069cf6f38..aae3a83a45562 100644
Binary files a/icons/obj/machines/computer.dmi and b/icons/obj/machines/computer.dmi differ
diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi
index 40420db37050c..1e6a2ba68724e 100644
Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ
diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi
index 6fc1178a6b464..89b4876c0cec2 100644
Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 29c504f216880..9f477da77e387 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1674,6 +1674,7 @@
#include "code\datums\quirks\negative_quirks\softspoken.dm"
#include "code\datums\quirks\negative_quirks\tin_man.dm"
#include "code\datums\quirks\negative_quirks\unstable.dm"
+#include "code\datums\quirks\negative_quirks\unusual.dm"
#include "code\datums\quirks\neutral_quirks\bald.dm"
#include "code\datums\quirks\neutral_quirks\colorist.dm"
#include "code\datums\quirks\neutral_quirks\deviant_tastes.dm"
@@ -4359,6 +4360,7 @@
#include "code\modules\mapfluff\ruins\lavalandruin_code\watcher_grave.dm"
#include "code\modules\mapfluff\ruins\objects_and_mobs\ash_walker_den.dm"
#include "code\modules\mapfluff\ruins\objects_and_mobs\cursed_slot_machine.dm"
+#include "code\modules\mapfluff\ruins\objects_and_mobs\museum.dm"
#include "code\modules\mapfluff\ruins\objects_and_mobs\necropolis_gate.dm"
#include "code\modules\mapfluff\ruins\objects_and_mobs\sin_ruins.dm"
#include "code\modules\mapfluff\ruins\spaceruin_code\allamericandiner.dm"
@@ -4762,6 +4764,7 @@
#include "code\modules\mob\living\basic\space_fauna\spider\spiderlings\spiderling_subtypes.dm"
#include "code\modules\mob\living\basic\space_fauna\spider\young_spider\young_spider.dm"
#include "code\modules\mob\living\basic\space_fauna\spider\young_spider\young_spider_subtypes.dm"
+#include "code\modules\mob\living\basic\space_fauna\statue\mannequin.dm"
#include "code\modules\mob\living\basic\space_fauna\statue\statue.dm"
#include "code\modules\mob\living\basic\space_fauna\wumborian_fugu\fugu_gland.dm"
#include "code\modules\mob\living\basic\space_fauna\wumborian_fugu\inflation.dm"
diff --git a/tgui/package.json b/tgui/package.json
index 1370aacc48a05..bfbc5a34aba21 100644
--- a/tgui/package.json
+++ b/tgui/package.json
@@ -17,7 +17,9 @@
"tgui:test": "jest --watch",
"tgui:test-simple": "CI=true jest --color",
"tgui:test-ci": "CI=true jest --color --collect-coverage",
- "tgui:tsc": "tsc"
+ "tgui:tsc": "tsc",
+ "tgui:prettier-fix": "prettier --write .",
+ "tgui:eslint-fix": "eslint --fix packages --ext .js,.cjs,.ts,.tsx"
},
"dependencies": {
"@swc/core": "^1.3.100",
diff --git a/tgui/packages/tgui/interfaces/Mule.jsx b/tgui/packages/tgui/interfaces/Mule.jsx
index b5313664c0e90..1b289be2743fb 100644
--- a/tgui/packages/tgui/interfaces/Mule.jsx
+++ b/tgui/packages/tgui/interfaces/Mule.jsx
@@ -3,7 +3,6 @@ import {
Button,
Dropdown,
Flex,
- Input,
LabeledList,
ProgressBar,
Section,
@@ -105,33 +104,32 @@ export const Mule = (props) => {
>
- act('setid', { value })}
- />
+
+
+
act('destination', { value })}
/>
+
+
-
- act('destination', { value })}
+ act('go')}
/>
{
{robot.mode}
{mule && (
<>
+ {mule.id}
- {data.load || 'N/A'}
+ {mule.load || 'N/A'}
{mule.home}
diff --git a/tools/UpdatePaths/Scripts/81380_mulebot_vars.txt b/tools/UpdatePaths/Scripts/81380_mulebot_vars.txt
new file mode 100644
index 0000000000000..d0b8e39f15472
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/81380_mulebot_vars.txt
@@ -0,0 +1,3 @@
+# Removes hardcoded mulebot home destinations and suffixes
+
+/mob/living/simple_animal/bot/mulebot : /mob/living/simple_animal/bot/mulebot{@OLD;home_destination=@SKIP;suffix=@SKIP}
\ No newline at end of file